When comparing Dropbox vs GitLab, the Slant community recommends GitLab for most people. In the question“What are the best cloud storage services for developers?” GitLab is ranked 1st while Dropbox is ranked 10th. 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).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy to use
You can use Dropbox via website, by installing a desktop client that creates a folder that you simply drag and drop files into, or with their mobile app. Everything synchronizes across all devices used and cloud storage. And Dropbox offers easy methods of sharing whatever is within it.
Pro Cross-platform desktop and mobile
Dropbox is available on iOS, Android, BlackBerry, Windows, OS X and Linux. By having a client for so many OS's pretty much anyone is covered no matter what kind of device or OS they are using.
Pro Allows sharing a folder
Using a desktop client: right click on the folder you want to share and select Dropbox > Share This Folder, then enter the e-mail addressees of people you want to share the folder with.
Pro Smart updates to big files
If a small portion of the file is changed it sends/receives only the differences (not the whole file), which is fast and bandwidth-efficient.
Pro Allows sharing a single file via link
Whether using desktop client or web interface, simply right click on the file you want to share and select Dropbox > Share link, then send the link to the people you want to share the file with. The recipient does not require a Dropbox account.
Pro Up to 18GB of free storage space
Dropbox personal accounts start out free, with 2GB of space, but users can get extra space by recommending the site to friends, or taking part in events like "Dropquest", where users can win extra space by solving puzzles.

Pro Linux support
Dropbox offers native Linux support, integrates with Nautilus file manager.
Pro Reliable
Pro Desktop client has no file size limit
As long as you have enough storage available, you can upload files of any size using Dropbox desktop client.
Pro Folders can be downloaded compressed to save bandwidth
To save bandwidth and download speed you can choose to compress a folder into a zip archive for download.
Pro Adjustable bandwidth use
To not slow down the network or save traffic you can limit the upload and download speeds of Dropbox.
Pro Lots of addons and integrations
There are official and third-party Dropbox add-ons that extend the functionality of the service and add ease of use of existing features.
Additionally, Dropbox can be integrated with existing applications to bring its functionality to other apps.
Pro 30-day version control
Dropbox keeps deleted and earlier versions of files for a month.
Pro Instant disaster recovery
Your files always synced online means instant disaster recovery. When your hard drive becomes unbootable, pick up another laptop and just carry on with your life from where you last saved.
Pro Available free storage can be increased with referrals
You get extra free space for you and your friend if they sign up.
Pro Fast sync speed
Pro At feature parity with GitHub
Gitlab is very close to Github in use and feel, written in Ruby on Rails, open source and hosted on Github as well as on GitLab.com
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 Has wikis and pages
Wiki and pages support out of the box.
Pro Supports pull requests
Has pull request (AKA, merge request) support.
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 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 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 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 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 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 Supports Approvers/Reviewers of Pull/Merge requests
Since 7.12 you can define a minimum number of approvers for merge requests.
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 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 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 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
Pro Very feature rich RESTful-API
GitLab exposes a REST API that allows automation possible, like PR bots.
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.
Cons
Con Too little free space
There is just too little of free space available comparing to the competition.

Con Not secure
They don't apply end-to-end encryption, files are visible to admins, governments, etc..
Con No privacy
Extensive collecting and distribution of user data to commercial third parties.
Con Consumes a lot of CPU resources when syncing many files
Con All-or-nothing (non-selective) upload
Uploading generated contents (cache, compiled code, etc.) is prone to conflicts, wastes bandwidth and free space.
Con Low bandwidth
Con Dropbox keeps deleting features, chasing customers away
For instance, all photo albums got deleted. It used to be very easy to share a couple og photos, now it's PAINFUL and must be done file by file.
Con Nocive development model
Takes a lot of decisions that usually damage community, from deleting features to making impossible to use with other filesystems than ext4 because they decided without a plausible reason (they said it was about xattrs, but all modern linux filesystems supports xattrs, so it's bs.)(they remove this later, but it's too late).
Con Problems when synching between Linux and Windows devices (unconfirmed)
This summer I lost thousands of files due to this problem on older projects which subsequently needed revising and had to be rebuilt as tons of the source was gone.
Con Restricted only to 3 devices for FREE accounts
Recently dropbox decreased the number of linked devices to 3, so you can't have more than 3 linked devices. This is problematic if you use Dropbox to sync between your computers.
Con Can unintentionally delete your files if you reinstall your OS without closing Dropbox
If you reinstall the operation system for your PC and you do not close Dropbox, it will delete all files.
Con Not lightweight
GitLab is demanding, Gitea is a much more lightweight solution which uses less CPU and memory.
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 all features are free
GitLab's Service Desk features and some more are only available in GitLab EE.
Con Kind of slow
Con LDAP lacking
importing groups from ldap is only available in EE (Entreprise Edition) not in CE(Community Edition)
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 Bad code review possibilities
No precommit reviews.
Con Security risks
