When comparing Kiln vs GitLab, the Slant community recommends GitLab for most people. In the question“What are the best hosted version control services?”GitLab is ranked 1st while Kiln is ranked 4th. The most important reason people chose GitLab is:

GitLab is a free and open source project licensed under MIT. Source code for Enterprise Edition can be found [here](https://gitlab.com/gitlab-org/gitlab-ee) and Community Edition [here](https://gitlab.com/gitlab-org/gitlab-ce).

Pro

At feature parity with GitHub

Pro

Good web UI

GitLab's UI is clean and intuitive. Each view is designed to not fill the screen with useless information.

It displays the activity in a feed-type way in the most prominent part of the view. On top of that, there's a toolbar with buttons which can filter this feed by pushes, merge events or comments.

On the left, there's a menu that displays all the links that take you to the different views. For example, a file directory which displays all the files in that repo, a commit view which displays all the commits in cronological order, a network and a graph view that display important information graphically etc...

All these details make GitLab's UI extremely intuitive and easy to use, no view is overflown with information and every view displays only the most useful and crucial information needed at that time.

Pro

Supports pull requests

Has pull request (AKA, merge request) support.

Pro

Regular updates

GitLab is being constantly worked on and has a new release every month on the 22nd. Updating is also very easy through a single apt-get command.

Pro

Easy to install with the packages

With the packages available here, GitLab can be installed in two minutes.

Pro

Support for protected branches

A protected master branch means that no code can be merged to master without passing a code review by an authorised developer. With GitLab this comes out of the box.

Pro

Has wikis and pages

Wiki and pages support out of the box.

Pro

Issue tracking support

Has issue tracking out of the box. Creating tickets, commenting on issues, closing issues etc... It's all there out of the box.

Pro

Permissions and roles are supported

It has private/public repositories, roles for users (master, developer, reporter, guest). All of these can be set from the user interface. Same permissions set for the UI work for the SSH as well.

Pro

Integrates fully with LDAP

The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network.

GitLab EE adds additional functionality over CE such as support for multiple LDAP servers and group sync.

Pro

Supports Approvers/Reviewers of Pull/Merge requests

Since 7.12 you can define a minimum number of approvers for merge requests.

Pro

Comes with integrated CI/CD solution

GitLab CI makes it easy to set up CI and deployment for projects in GitLab. It supports parallel testing, multiple platforms, Docker containers and streaming build logs.

Pro

"Snippets" support

Snippets are similar to (well-known) GitHub "gists". They are a way to share code or have conversations about anything without needing a full git repo. The implementation here reminds more of a sort of pastebin.

Pro

Scalable

A single instance can handle up to 40,000 users (requires a server with 64 core CPU and 64 GB of RAM) and it can run on multiple application servers to grow beyond that.

Pro

Integrates with other systems by webhooks

Integrates out of the box with services like Bugzilla, Pushbullet, Microsoft Team Notification and many more - one can also add own webhooks to integrate with own services.

Pro

Most GitLab EE features become part of GitLab CE after time

EE is the commercial Enterprise Edition, CE is the free and OpenScource Community Edition. Features such as Cycle Analytics were first a part of the EE and are now also available in CE.

Pro

Manages large files and binaries with integrated Git Annex

Git Annex enables Git to manage large files (esp binaries) without checking them into Git.

Pro

Can provide a Docker registry

The default docker.io registry is the docker hub but you can also login to other docker registries. And GitLab provides one for all Repos that make use of this feature.

Pro

Allows Timetracking with Cycle-Analytics

Very useful project management feature that allows you to know how long it takes to go from the idea to production.

Pro

Very feature rich RESTful-API

Pro

Integration with third party applications

GitLab integrates with multiple third-party services to allow external issue trackers and external authentication.GitLab can integrate with many third-party apps to allow external issue tracking and authentication. It can also be integrated with several services, such as:

Slack

Campfire

Flowdock

Hipchat

Gemnasium

Pivotal Tracker

Ad

Cons

Con

Non-free

Kiln is not free, but it has the option for two users to try it for free first.

Con

Not all features are free

GitLab's Service Desk features and some more are only available in GitLab EE.

Con

No Windows support

There is no support for Windows. The use of a virtual machine will be required.

Con

Bad code review possibilities

No precommit reviews.

Con

Requires at least 1GB of RAM

The default installation is meant for already many users and recommends 2GB of RAM. 1GB is possible but results in some HTTP 500 errors. On a Raspberry Pi 2 it runs fine most of the time, though it eats 75% of the RAM.Another option is to reduce unicorn['worker_processes'] in gitlab.rb.

Con

The upgrade process fails more often than not

Even for minor versions such as 9.2.0 to 9.3.0. Sometimes the upgrade failure is silent and only seen when logging in first time after update and an http 502 error is given.

Con

Not lightweight

GitLab is demanding, Gitea is a much more lightweight solution which uses less CPU and memory.

Alternative Products

Each month, over 2.8 million people use Slant to find the best products and share their knowledge. Pick the tags you’re passionate about to get a personalized feed and begin contributing your knowledge.