Hacker News new | past | comments | ask | show | jobs | submit login
Choose GitLab for your next open source project (agilob.net)
645 points by ra7 on Feb 12, 2016 | hide | past | web | favorite | 280 comments

I'll just jump in to vouch for Gitlab CE, in a self-hosted setup.

@sytse: it is one of the best documented and well packaged pieces of software these days. Specially in the Ruby world. Thank you for that. Gitlab really makes a difference.

Where others just distribute Docker images or directly nothing (because omg it is too hard to do proper packaging), Gitlab has nice packages for CentOS, Debian and Ubuntu (the distros that usually run in production servers).

We had an old install from git using mysql. Migrating to Omnibus and converting the DB to postgresql was painless. Surprisingly, it was a perfectly documented process without any pitfalls, or any outdated info. Omnibus packages are just wonderful. apt-get upgrade will just do all the necessary, DB migrations and restart all the components with almost zero downtime.

This proved to me that Gitlab actually gives uttermost care to the CE edition and that it is not just marketing.

So thank you Gitlab for being so awesome.

Thanks Alex for posting this. I'm so glad you had a positive experience upgrading.

We spend a lot of time making our Omnibus packages a flawless install and upgrade experience. Docker images are great but for many users Docker is not an option.

GitLab CE is just as performant and easy to upgrade as EE and we strive to keep it that way https://about.gitlab.com/about/#stewardship

Currently our team member Axil is upgrading a GitLab installation from 5.0 all the way to the latest version to ensure it is as smooth as it can be https://twitter.com/gitlab/status/698236575231119360

If you want to know more about upgrading GitLab please see https://about.gitlab.com/update/

I will be honest, the switch from self compiled MySql to Omnibus Postgres was not so great for me and my team. But. We love GitLab, and now that we are on Omnibus I get updates done in < 5 mins. Thank you all for building an amazing piece of software. Also kudos to your team, even as a CE user you have helped me resolve a bug or two here and there. It's been a great ride. I wouldn't trade our GitLab in for anything.

I'm sorry to hear the database conversion was rough. Is there anything we can improve to the documentation to make it easier? https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc...

Great to hear that after converting to Omnibus the updates are smooth. We try to help all our users, customer or not.

Ubuntu 15.10 complains about the bad quality of the package. Is it ok to ignore it and install?

    Lintian check results for /home/algo/Descargas/gitlab-ce_8.4.4-ce.0_amd64.deb:
    E: gitlab-ce: maintainer-address-missing GitLab B.V.

It just looks like the maintainer email address hasn't been filled out in the metadata. Should be okay.

It also looks to me like it should be OK. I've created an issue to fix it anyway https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1118

I just wish we could buy 1-9 EE users without support. x3

I agree, we'll soon (planned before GitLab 8.5 or 8.6) introduce a pricing change that will make it possible to order per user instead of packs of 10.

Awesome thanks :)

Is there a nice Gitlab Docker-Kubernetes setup that you could recommend?

Our official Docker images are in https://gitlab.com/gitlab-org/gitlab-ce/tree/master/docker

Good Kubernetes instructions (from a RedHat person if I'm correct) are on http://www.projectatomic.io/blog/2015/01/deploying-a-contain...

There is also a great community docker image that has Kubenetes instructions https://github.com/sameersbn/docker-gitlab/tree/master/kuber...

BTW I'm also passionate about making it easier to deploy apps hosted on GitLab to Kubernetes, see https://gitlab.com/gitlab-org/gitlab-ce/issues/3286 for more details.

There's also a nice GitLab package for Arch Linux:


Cool! I see it is on the latest release. BTW Work is underway for a native Debian package, it is weeks away from completion https://poddery.com/posts/2272322

GitLab CEO here. Awesome to see this article! Ask me anything.

Concerned about the long term implications of the high growth startup model... Gitlab is awesome and all that, but how can I be sure the free version will stay that way in the long run?

Is the free (free as in beer, I'm not an open source zealot otherwise) Gitlab not just a part of the conversion funnel, eventually made unsustainable once growth plateaus?

Thanks for your question! We're a VC backed startup so we have to have a so called liquidity event at some point. As explained on https://about.gitlab.com/strategy/ our goal is to IPO instead of being aquired. This will ensure we can preserve our culture, mission and goals.

There will always be an open source version of GitLab, more than 1000 people contributed and it the most popular self-hosted option, used on-premises by more than 100,000 organizations. They will keep going with the open source version, with our without GitLab Inc.

But the MySQL purchase by Sun and Oracle has shown what can happen to projects when the company is acquired. The best option we saw is to at least codify our promise to the rest of the community in https://about.gitlab.com/about/#stewardship

When we break our promise it is time to fork.

Any suggestions are appreciated.


> preserve our culture, mission and goals.

Pick one. Or is there a historic precedent I'm unaware of?

On a serious note, the shift in the latter parameters can be smaller than in an acquisition, but to "preserve" would imply actively managing employee (and founder) expectations in the build-up to IPO.

I agree that as a company grows the culture will always change, there is no standing still. But we're very active in spreading and prioritizing our values. For information about our values please see https://about.gitlab.com/handbook/#values

What bullshit answer is this? It is pretty obvious you will have little to say compared to the majority shareholders

Thanks for the answer - very helpful!

Other (unrelated) minor things:

- SAML support exists, but at last check was mostly broken. Universities in particular use SAML over OAuth (See http://www.incommonfederation.org/participants/)

- Resource usage seems very high for small shops; will there be a GitLab "lite"? ...would be especially awesome if it didn't need a mostly dedicated container and could drop in as a subfolder of an existing site (with minimal resource requirements).

I'm glad to hear my answer was helpful.

Saml support should be pretty good, it was contributed by CERN and they use it in production. Please see http://doc.gitlab.com/ce/integration/saml.html for documentation. If you encounter a bug please create an issue on https://gitlab.com/gitlab-org/gitlab-ce/issues

We will try to reduce memory usage by something like 20% in the coming year. We have package for the Raspberry Pi 2 if you're into that. But GitLab will always be large due to its many features. For more details see https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst... If you want something with minimal requirements I recommend Gogs https://gogs.io/

It's really nice to see you plug Gogs like that :) I'm a massive fan of both! They fill different niches I think. You're always super helpful here on HN, too, and I just wanted to let you know that I (and I'm sure others here) appreciate it!

Thanks! I agree they fill a different niche.

Huh? Looking at the GOGS documentation, it seems that only LDAP auth is upported?

You can also just setup accounts manually, w/o using external auth.

Ah, thanks for clarifying. Not sure why I got downvoted on that...

Info on the Raspberry Pi 2 distribution is here, if anyone else is interested:

(installation instructions) https://about.gitlab.com/downloads/#raspberrypi2

(original blog post) https://about.gitlab.com/2015/04/21/gitlab-on-raspberry-pi-2...

Thanks for adding the links!

We use Gitlab here at The Ohio State University. We authenticate via Shibboleth. So far it's worked pretty well.

Nice! Could you share some info? (Many variations of contact info in my profile).

I run our Shibboleth IDP among other things, and I was told by the team that was looking at GitLab at the time that it was impossible to tie it in with the currently available SAML SP plugins. This was over a year ago, maybe things have improved...

I think support for Shibboleth was added on Aug 28, 2014, but it has been improved since then, see http://doc.gitlab.com/ce/integration/shibboleth.html

SAML and Shibboleth is awfully documented itself, so I'm not surprised at all.

Should probably go with "if" instead of "when" ;)

Actual question, do you have much Australian based business and do you see yourselves needing account managers there (here) in the near future?

I meant if indeed :)

We just hired our first person for APAC sales, Michael Alessio https://about.gitlab.com/team/

We don't have any open positions now but you can always shoot him a mail. michael@ company domain, please include a reference to this comment

Thanks! I'll be sure to do so.

MySQL reminded me of something that also should be in our stewardship promises so I added it https://gitlab.com/gitlab-com/www-gitlab-com/commit/c3e543a4...

Thanks for jumping in to the thread. I'd really like GitLab to succeed simply because I like the results of healthy competition. So can I name a couple of things that are standing in its way?

1. gitlab.com site search is effectively down. A simple keyword search, e.g. for 'omniauth' takes 45 seconds:


I periodically find other site links which are surprisingly slow, like this one.

2. I'd really like to add GitLab oauth2 as a first-class citizen for people to sign in to my apps( e.g. http://nonstop.qa/users/sign_in ), along with GitHub and Google. Adding those two were easy, but I haven't found a working, maintained Ruby omniauth GitLab adapter.

Thanks, and good luck!

1. Our Elastic Search import is scheduled to be complete on Thursday. This should be a dramatic improvement http://i.imgur.com/HRawCIC.png

2. GitLab is an OAuth 2.0 provider, for the docs see http://doc.gitlab.com/ce/integration/oauth_provider.html I see that there is https://github.com/linchus/omniauth-gitlab updated 5 months ago, did you try that one?


And yep, I've tried that OAuth provider. This is me, raising an issue about it not working: https://github.com/linchus/omniauth-gitlab/issues/10

Thanks for opening that issue, I see the maintainer responded within a hour so I hope it will work soon. I offered our help in https://github.com/linchus/omniauth-gitlab/issues/10#issueco...

Isn't the Elasticsearch feature just for EE? Or are you planning to release it for CE too? I just upgraded to 8.4.4 and didn't see any of it (not that I look so well).

The elasticsearch feature is EE only, it was released in 8.4 https://about.gitlab.com/2016/01/22/gitlab-8-4-released/

Hi, I'm planning on migrating away from stash to most likely gitlab in the next few weeks. One thing that keeps coming back among my team is where is the real search power. I followed the work your team did with EE and Elastic and was curious if you will plan to back port it into CE?

all i read is that it's EE, but will it be brought to CE is the bigger question, and how does that fall into your current roadmap for upcoming releases in CE?


Follow up, do you plan on adding any code intelligence to your EE search, such as being done by the team at sourcegraph.com?

The way I see it is like this... github, sourcegraph & gogs all are missing the ability to categorize repositories in groups. This is a must when you have a lot of repos, thanks for including it.

gogs = super fast, minimalistic but solid. github = $$$$$$ stash/bitbucket = nickel and diming over features & $$$$ sourcegraph = not mature enough, missing code intelligence for majority of the languages we use gitlab ce = great feature set, bad search and some performance struggles (that i see you are addressing)

in the end, we are likely to go with your product, but the search in CE almost hurts my feelings to use. (me: search for "test" in all repos: 0 results. search for "test" in specific repo: 1 result. me: scratch my head)

all in all, really excited to kick stash out and give my team a deeper feature set to play with.

Thanks for taking the time to come here, I'm late to the party.

We currently have no plans to merge the elastic search support into CE. Regarding the categorization we're planning to implement nested groups https://gitlab.com/gitlab-org/gitlab-ce/issues/2772

The code management analytics we're planning to build are detailed in https://gitlab.com/gitlab-org/gitlab-ee/issues/112 I think this is quite different from sourcegraph

Your search in CE looks like a bug to me. It would be great if you can reproduce this on GitLab.com and open an issue for it.

I'm at Sourcegraph. We have code intelligence for more languages coming soon and have improved performance, etc., by quite a bit lately. Email me for more info (we're waiting a bit longer to announce the improvements publicly).

Can you elaborate on nickle and diming over features? Most of the required features are built-in for Stash/Bitbucket Server. Code Search is on the roadmap and we are actively working on it.

Thanks for the love! I'll be offline for a few hours for dinner, we're celebrating being together for 16 years today.

I have a single concern about GitLab. Looking at https://about.gitlab.com/direction/, I feel like there is way too much being labeled as EE only. I understand that GitLab has to make money to survive, however I see a lot of those features as things that are relevant to pure open source projects (private issues are something Open Source projects do actually need for security, think Chromium) and should probably be in CE. I absolutely love GitLab, but the roadmap has me certainly concerned.

The following features are most concerning:

https://gitlab.com/gitlab-org/gitlab-ee/issues/150 https://gitlab.com/gitlab-org/gitlab-ce/issues/4176

https://gitlab.com/gitlab-org/gitlab-ee/issues/112 (This one I am not as much concerned about, it's very complicated it seems, I can understand a bit why this would be EE)

Thanks for the feedback and for listing the features that you are concerned about.

The squash functionality is likely to stay EE only since it is similar to rebasing. Rebasing is EE only because larger enterprises are more likely to have this workflow.

Regarding the 'test the merge' functionality I've only heard requests from large organizations for that, can you detail the context in which you want to use it?

The code analytics is a typical enterprise feature in my view.

I think that the private/confidential issues in https://gitlab.com/gitlab-org/gitlab-ce/issues/3678 is something that are needed for really large organizations and for people hosting on GitLab.com, so in my view it can be EE only.

For all of the above I try to keep an open mind, so feel free to push back. Based on discussions here we do decide to merge features into CE, for example the branded homepage https://news.ycombinator.com/item?id=10931690

First off, I would really like to commend you for caring and responding to everyone on here. You deserve a lot of kudos for this!

'Test the merge' is something that we already get from GitHub. Travis CI tests both the merge and the branch itself. I think it only makes sense to test both, in fact, if I were to choose one way for a Merge Request, I would just test the merge result.

We have IoT Platform SDKs (See https://github.com/IOT-DSA/sdk-dslink-dart and https://github.com/IOT-DSA/sdk-dslink-java for examples) that at somepoint I would like to pitch the idea to move from GitHub to GitLab fully. We currently utilize GitLab for only a portion of our projects. We find it really helpful that Travis CI tests both the merge result and the branch, and even though I could look over it to switch GitLab (because let's face it, GitLab > GitHub), I would love to be able to tell the other developers that they will only be gaining functionality.

As for the code analytics, I have second guessed myself, and I completely agree with you now. This is definitely something that I see most useful in the enterprise setting.

Thanks for your kind words. I was not aware that Travis CI tests both the branch and the merge, do you maybe have a link to the documentation for this?

There are a couple of ways to implement this feature and we're discussing them in https://gitlab.com/gitlab-org/gitlab-ce/issues/4176 Feel free to join the conversation and/or contribute it. For now this feature is planned for 8.7 but this might change.

> Regarding the 'test the merge' functionality I've only heard requests from large organizations for that, can you detail the context in which you want to use it?

There might be some confirmation bias here going on. In my experience, a lot of enterprise clients I've worked with are using Gitlab. I'm yet to see one major open source project on Gitlab, apart from gitlab itself.

We also have a lot of smaller organization using GitLab on-premises. There are currently few open source projects on GitLab.com, notable ones include Mailman and F-droid.

Thank you for doing an AMA! I know I'm late to the party, but I have an experience-report/feature-request/question:

I tried to use GitLab in a classroom setting, and it went okay. One of the reasons we decided against using it the next year was the apparent lack of an archival backup feature (c.f. my Stack Exchange [question](http://serverfault.com/q/627618/172148) on the matter.)

We'd like to start completely fresh every year, so that former course assistants and students don't have access, but we'd also like to keep around the old data (for various reasons). Given that GitLab can only restore a backup to the same version that generated it, the only option this left us with was to archive the whole VM, which just feels sloppy.

I understand that this feature is not a priority and is a relatively large technical undertaking, so I'm not holding my breath on it getting implemented; even so, I thought that sharing my experience would be valuable.

Once again, thank you for engaging with the community and for such a great product.

It is tricky to restore a backup on a newer version.

I think archiving the whole VM makes sense.

Another solution would be to start with a fresh namespace/group each year instead of a fresh server.

First off - you guys have a great thing going and I wish you all the luck.

What's the current status of the GitLab.com infrastructure? Are you still on Azure, and if so, how has it been? Does it seem like things are humming along and stable now, or do you foresee some more growing pains before things are rock solid?

Thanks for asking. We're still on Azure but it seems that most of our initial problems are solved, our uptime has been acceptable. PostgreSQL and Redis are now highly available. Before we call things rock solid we still have to figure out how to cluster our storage https://gitlab.com/gitlab-com/operations/issues/1


Thanks for participating in the community discussions.

I have a question/comment in terms of the UI that GitLab provides for developers.

Are there any plans to add a customizable dashboard for gitlab? Think social media sites like twitter/fb/g+. They all have notification numbers over the icons signalling the amount of new emails/messages etc.. gitlab needs the option to add these to the sidepanel!

It would be so darn useful to have say, 5 extra icon counters for whatever project/merge request search filters one is currently using.

e.g. 2 extra sidepanel contexts showing

- big red '5' counter on icon for merge requests with author bob, on project xyz. Because bob made 5 comments on merge requests on project xyz

- big red '2' counter on icon for merge requests with author karen, bob or steve on project abc. ditto as above.

I think extra 'tweakability' features like this for Gitlab's UI would make it easier to manage complex development environments where its necessary to keep an eye on many different scopes around a project. and have the abliity to evolve the dashboard's info display over the projects lifetime as 'hotspots' of attention need to be shifted around to different service codebases and team members.

thanks again

Douglas is currently working on a 'todo' feature that will have an icon signalling the items you still need to respond to , see https://gitlab.com/gitlab-org/gitlab-ce/issues/2425

I'm patiently waiting for you all to decide to focus your main interest on making gitlab.com the best place to host open source projects, while the GitLab EE/on premise stuff turns into a quiet side gig that just happens to bring in some extra cash.

Any chance of that happening soon?

To rephrase: There are folks willing to give you cash right now to be the host for their projects. Would there be a way to convince you to take it?

Thanks for your question! We are trying to make GitLab.com the best place to host open source projects, see https://about.gitlab.com/strategy/

We do not think that paying for hosting itself makes sense, see https://about.gitlab.com/gitlab-com/#why-gitlab-com-will-be-...

Instead of giving cash to use I would encourage people to move their projects and contribute by adding the features they need or helping our people, see https://about.gitlab.com/about/#donations

A bit late responding to this thread, due to sleep.

I recently started to mirror my repositories between GitHub and GitLab (they're just really small R packages).

It was very simple to update my local git config file so that "git push origin master" now pushes changes to both GitHub and GitLab.

I've also made it clear in the README how to install from GitLab.

Three minor annoyances:

* GitLab doesn't support Rmarkdown in .Rmd files, so my vignettes look great on GitHub, but not GitLab.

* I wanted to start an R Group (and did so), where people could share their R related projects all in one place. Unfortunately, as the projects are only shared with the group, they don't display when publically looking at the group if not signed in.The group image is also broken. [0]

* Relative links don't quite work the same, so some README links still only point to GitHub, as they were broken on the GitLab mirror. (Might just be user error!)

I also have a self-hosted installation running for a couple of private projects. It's on a small DO instance and does thrash resources a little, but generally works fine for two developers.

Thanks for such a useful product!

[0] https://gitlab.com/groups/rstats

Thanks for using GitLab and for your feedback.

1. GitLab uses the awesome Rouge library to do syntax highlighting, this does support R https://github.com/jneen/rouge/blob/master/lib/rouge/lexers/... but apparently Rmarkdown is broken. I hope someone will contribute this to Rouge.

2. If you want to display the projects publically please make them public. If I misunderstood please let me know.

3. Please email support@gitlab.com about the broken group image and reference this comment. I'm sorry it is not working.

4. Relative links took a lot of work but I didn't hear any complains in the last few months. If it is not user error please open an issue.

5. If you self-hosted installation thrashes consider switching to the Omnibus packages (if you haven't done so already) and increasing memory. For memory requirements please see https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst...

Thanks again for your comment.


One thing that more recent code hosting sites miss out is mailing list hosting, for less structured discussions between users and developers, or for providing a private group contact address for the developers.

Totally agree, would love to see this get added to GitLab https://gitlab.com/gitlab-org/gitlab-ce/issues/4272

Hello! I work at http://dglogik.com: I maintain all of our development infrastructure. We have been extremely happy with GitLab! Thanks so much for the work.

You're welcome. Happy to hear that, thanks for sharing!

Great job on GitLab, I really like it and started migrating my projects from GitHub.

One thing: I never managed to make GitLab pages work. It may just be me, but I find the existing documentation very confusing, unclear what should be the name of the repo to host the static website, which conventions are used etc. I would appreciate a better tutorial.

Previously we had problems with usernames/groups that had upper case letters. The recent improvements (8.5) fixes all these problems. Please try it now :)

I'm sorry to hear you found the exiting documentation for pages http://doc.gitlab.com/ee/pages/README.html confusing.

We are planning to write a blog post about it with a walkthough https://gitlab.com/gitlab-com/blog-posts/issues/39

Awesome, thanks for the fast reply :)

Wow, I'm talking directly to the CEO of a high-profile tech company on Hacker News! That means I'm pretty much famous now.

It has been said that that GitHub has many killer features that are lacking in Gitlab or Bitbucket (e.g. Github has better issues handling, prettier graphs). Do you agree? And if you do, what features of Gitlab would you like to improve to compete with Github's killer features?

The OP talked about GitLab issue features in the article. To see our graphs please look at https://gitlab.com/gitlab-org/gitlab-ce/graphs/master

For features that we like to have please see https://about.gitlab.com/direction/

Thanks for pointing out your company's "direction" page, I'm sure that many Github refugees will have plenty of suggestions.

Suggestions are very welcome on https://gitlab.com/gitlab-org/gitlab-ce/issues or as merge requests to the direction page. We add all feature requests to our public tracker https://about.gitlab.com/2015/08/03/almost-everything-we-do-...

GitLab is confusing.

I mean, there is gitlab.com, there is ee, weird multi user licenses, community edition, githost etc.

you need to simplify entry.

Our 4 products offerings are explained on our homepage and https://about.gitlab.com/about/ Please let me know how we can improve the explanation.

Multi user licenses are common in the industry but I don't like them either so we're switching to subscriptions you can buy per user before either GitLab 8.5 or 8.6.

Thanks for building Gitlab! I'm from Germany and worked at Fraunhofer where Gitlab was used extensively for in-house dev. The first thing I did after joining a small startup was to install gitlab using docker - it is literally faster than setting up a new github account. I also use gitlab's nginx configuration combined with cipherli.st ciphers as a template because it uses best practices.

Only one question: We want to use Gitlab CI for Continuous Deployment, but I can't find any meaningful resources to build a django project and deploy it e.g. on another server or docker instance. Do you have any information about this?

You may be interested in this example of Python application (django): http://doc.gitlab.com/ce/ci/examples/test-and-deploy-python-...

We don't have a Django specific example. Our general quickstart is in http://doc.gitlab.com/ce/ci/quick_start/README.html and an example for PHP is given in http://doc.gitlab.com/ce/ci/languages/php.html

The file we use to test GitLab itself (a Rails app) can be found on https://gitlab.com/gitlab-org/gitlab-ce/blob/master/.gitlab-...

With the rest of the community we're working on more tutorials, I heard one about iOS projects was pretty close https://gitlab.com/gitlab-com/blog-posts/issues/29

I've create an issue to improve the discoverability of the CI examples https://gitlab.com/gitlab-org/gitlab-ce/issues/13410

Thanks, the links are pretty helpful - I will try to bend some of the scripts for our needs and maybe contribute a "Testing Python projects" section. Hopefully we can replace TeamCity soon, I'm a big fan of open source and therefore your company ethos. - cheers

Thanks, and please contribute a Python example, that would be great.

I will probably set up an account soon and try it out for myself but just from looking a gitlab.com it's not entirely clear what difference there is between EE and gitlab.com hosting. Are all the features of EE available on the SAAS version? Why is there so much emphasis on the self hosted options, is that something you are seeing a lot of demand for? I'm finding it hard to come up with a good reason to want to take on the burden of maintaining a source control server when there are good cheap cloud options.

Why is the gitlab.com option so cheap, even for corporations even if they pay for support? I understand you're still trying to gain market share more than be profitable right now but as a company paying nothing for the product certainly makes me feel like it might go away at any moment and even if we pay for support we may not receive the level of support that we need.

As corporate users, maybe we're not gitlab's target audience right now but aside from those questions it seems like a nice alternative to github, especially with regards to the additional ability to have pull requests rebased before merge...

GitLab.com is running GitLab EE. Not all features are available, for example you can't link it to an LDAP server since that requires admin credentials that only GitLab Inc team members have.

Our self hosted option currently is more popular than our SaaS one. More than 100,000 organizations use it because they can't use a SaaS for legal, integration, technical and security reasons (want it behind VPN, integrate with other on-premises services, etc.).

GitLab.com is free because we make enough money with GitLab EE to pay for it. For more context and to understand why we think this is sustainable please see https://about.gitlab.com/gitlab-com/#why-gitlab-com-will-be-...

You're always here answering things related to Gitlab. How do you do get notified of topics?

Multiple people mentioned me in our chat channel. But we also have a monitor set up that tracks all mentions of GitLab on the internet. We're working on responding to all people that can use some help with GitLab in https://about.gitlab.com/handbook/support/

I know this isn't good feedback and I'm sorry for it, but when I tried using GitLab for a group project in school I had some trouble adding everybody to the repository and then letting them pull through the GitHub client. In the end I had to switch to using GitHub for that project, because the others got impatient and it was hard to even convince them of using git at all. Maybe it's just me, but it'd be nice if you could make that experience easier and would maybe offer a client of your own with really basic features for not-so-technical people to use.

I'm sorry to hear that. Why was it hard adding people to the repository?

Three questions:

a) I know some projects which would love to move to gitlab from sourceforge, but you don't provide mailing lists like the latter, right?

b) Why is your git-blame feature so fragile? It barely works for me, almost always shows the "error" page.

c) Since you shut down gitorious you have published a mirror to get the data out (thanks! finally!), but I don't find one repository in your list in here :( : https://gitorious.org/index-list.html it was called banshee-community-extensions/windows-binaries.git or something like that.

a) not yet but we would love to https://gitlab.com/gitlab-org/gitlab-ce/issues/4272

b) I think there is something wrong and have created an issue https://gitlab.com/gitlab-org/gitlab-ce/issues/13413

c) sorry it took so long for the mirror to be copied to the internet archive, I've asked for help with your question but this will likely take a couple of days.

c) is https://gitorious.org/banshee/windows-binaries.git the one you are looking for?

I use GitLab on CentOS 7, self hosted, from source.

It works great, I really like this project, I think it beats any alternative hands down.

I really like the accurate documentation for upgrading between versions from source (keep it up !).

I think there is a very good balance between EE-CE features, I find that the availability of the features is well thought of.

I don't use GitLab-CI at the moment (running buildbot), are there any plans to integrate support for builtbot ? or on the other hand, edit history of the CI (in jenkins you can simply delete any entry you'd like).

Keep it up ! besides the CI, GitLab offers me everything I currently need. Thanks.

Thanks for your kind words, especially about the balance between EE-CE features, this is hard to get right and I appreciate the feedback.

We would love to see support for buildbot. I found https://pypi.python.org/pypi/buildbot-gitlab/0.1.2

And with the commit status api introduced in GitLab 8.1 it should be easy for CI products to support GitLab.

Thank you for the effort to produce such a system.

It's been a long coming for the open source community.

You're very welcome, thanks for using GitLab.

I've started using GitLab Omnibus on my own server and I friggin' love it. I've moved all of my GitHub projects over to GitLab and haven't been happier to know that if I want to change something, I can. That being said, I do have some questions.

1) Is there a way for me to make modifications to the front-end and still keep those changes when I upgrade?

2) What kind of server should I be using the fastest git pulls/pushes? Currently, my server is running on a 30GB SSD DO droplet with 1GB RAM.

Glad to hear you love GitLab.

1. No, but after a discussion on HN https://news.ycombinator.com/item?id=10931690 we did decide to merge the branded login page into CE. If you are looking for another front-end change please let me know.

2. Per our requirements https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/inst... I would advise 2GB of RAM.

I'm a front-end developer and designer so I love tweaking things to my liking. There are links that don't look like links and padding issues in a few places. The ability to choose custom fonts from Brick.im would be great too. If nothing else, I'll make the changes and figure out how to write a script that brings my changes back after I update/upgrade.

Thanks for the requirements link, I must've missed that.

Certainly there is a lot of room for improving links and padding. Have you considered contributing them to GitLab? To get started see https://gitlab.com/gitlab-org/gitlab-development-kit

Having people pick custom fonts might make it hard to get the design right for everyone.

Reapplying changes in Omnibus is hard since it is shipped without a git repo, so you can't use git stash or git merge. You would need to switch to an installation from source but we don't recommend that.

I really hope you can contribute the changes you would like to see, GitLab's frontend can still use a lot of polish.

Hmm, okay. I'll do that!


I am currently very happy with my self-hosted GitLab instance for my personal projects. But I would love to have some of the EE features (both for my workflow and experience working with enterprise tools) and I'm willing to put my money where my mouth is. However open source is very important to me so my question is do you think it would ever be possible to purchase a personal use EE instance without license keys, calling home, and under an open source license?

Glad to hear you're happy with your self-hosted instance.We're working on single user subscriptions (before either 8.5 or 8.6), our license key doesn't call home and our license will stay proprietary but already allows for modification and publishing patches.

Allowing your customers to publish their patches is super cool :-)

Thanks, I think the super cool thing is that they actually do it: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests?assig...

Just wanted to say that I use the CE edition (self hosted) at my job and we love it. The built in CI has been a major game changer for us and has really helped in preventing bugs from slipping through on our MR's. Keep doing an awesome job and I'll keep telling people how awesome your product is.

Also as an ops engineer I love how hassle free our Gitlab instance has been to maintain.

Great to hear that, thanks!

Do you have any plans to provide some lightweight project management options in GitLab? I don't even want anything complex. Maybe, just a Trello-Kanban-like view of Issues and a simple burn down chart. With CI and Git/VCS and code review features GitLab could become the only thing a small team should install to go independent.

Thanks for asking. As detailed in https://about.gitlab.com/direction/#scope we plan to add Huboard as a kanban board and there is currently a bounty for that https://github.com/huboard/huboard/issues/276

A burndown chart is something we planned to do now that we have issue weights. I couldn't find the issue for it so I created on https://gitlab.com/gitlab-org/gitlab-ce/issues/13422

Feature request - allow performance tracking over time allowing these kind of views to be available in gitlab - https://arewefastyet.com/ .

One possible workflow -

1. User defines perf metrics in some metadata file in repo.

2. User checks in data for metrics with every commit.

3. Gitlab shows a view of the metrics changing over time.

We totally want to do this with GitLab CI. Right now you can have GitLab CI measure your code coverage, see https://gitlab.com/gitlab-org/gitlab-ci/commit/96b17c1735b65... for an example. We can just add a graph and allow people to add more metrics https://gitlab.com/gitlab-org/gitlab-ce/issues/13409

Obviously you should ensure that your performance tests are run on the same type of machine every time. But you can do this by labeling runners.

Thanks for opening the ticket, I have added some comments that capture my use cases to the ticket.

Thanks for https://gitlab.com/gitlab-org/gitlab-ce/issues/13409#note_37... I've asked some people to have a look at it in the issue.

From the website I couldn't tell if Gitlab has builtin CI support or if I have to run the agent on my machines and make them talk to gitlab.com. Which way is it?

GitLab CE and EE have built in CI support, making it easy to setup and navigate. But all tests run on agents (we call them runners). As a best practise we advise to host Runners on separate machines (not on the GitLab server). You can use any machine (Windows/OSX/Unix) as a runner so you can test on many platforms. For more information please see https://about.gitlab.com/gitlab-ci/

So is there built-in CI for free open source project hosting?

GitLab CE is the free edition, so the answer to your question is yes.

Nice, I need to copy one of my projects from github and try the CI (with Windows) support then. Sounds too good to be true.

Why is gitlab.com so slow?

Thanks for bringing us Gitlab its great and useful!

You're very welcome!

Am I the only one who hates the new SPA Gitlab UI?

I'm sorry to hear you don't like the UI. What do you think we should improve? BTW Technically GitLab is not a SPA, it uses turbolinks to do page loads.

Basically I just don't like some "features" which are anti-patterns IMHO:

* With SPA I mean that clicking on a link, my browser doesn't load a new page, but rather some JavaScript seems to do it.

* Depending on the browser width, the description of the icons on the left disappears. It should always be there, I'd rather have a horizontal scrollbar than not knowing which button does what.

* Fixed headers. Vertical screen space is the most important thing to me, so there should be nothing on the top blocking the stuff I want to read. Also please don't start to animate it or let the header slide in when I scroll up.

* Infinite scrolling.

* Icon fonts. I don't like the default font. If I block it, some icons don't work anymore.

1. What is the problem with this? Back links and everything else should still work. And it saves a lot of time. 2. I agree the user should be able to override and made https://gitlab.com/gitlab-org/gitlab-ce/issues/13436 3. Where do we do this? 4. I don't think infinite scrolling is always bad. 5. What do you suggest we do instead? PNG's for all icons are expensive to load.

1. No, "everything else" doesn't still work. You're reimplementing a browser in JavaScript! For example: There's no spinning loading indication on the left side of my tab. When clicking on a link and pressing back while it's loading, it doesn't abort, but goes back instead.

3. Do you mean the animation? You don't do this yet.

5. SVGs

Thanks for your feedback.

1. I agree that these browser functions are broken. I think the speedup is worth it but that is personal. BTW Turbolinks are a default feature of modern rails apps, doesn't mean they are right but they are common.

3. We don't plan to do this either as far as I'm aware.

5. Icons in SVG would be nicer but that looks like a lot of work.

I see.

I have to say: Gitlab's support seems to be top-notch. I'm sorry for being a bit harsh and thanks for the kind response! :)

No worries, thanks for the feedback!

To add to sytses:

- We're introducing some more pagination over infinite scrolling. If we see this is successful, we might continue that trend - eventually we will replace the icons with svgs, probably when we switch to our inhouse icons. There is no due date for that, though.

You're welcome, and no problem about being harsh, feedback shows you care!

I would like to know that GitLab will not support Socio-Political entry-ism by instituting a so called 'Code of conduct'.

Codes of Conduct are a form of Socio-Political entry-ism by which third party activists try to interject a vaguely defined set of Behavioral, Ideological and Speech codes which participating individuals must accept in order to participate.

Once Instituted activists can try and use these 'Codes' as a pretext to attack there perceived political and social enemies in the project. Attempt to expel developers can spread across all social media, email, and any other information that can be dug up.

Attempts to redefine project goals and redirect resources away from there original purpose towards social and political objectives set by the entrants are also attempted. Generally turning open productive software communities into unproductive, divisive, monoculture, that serve as ideological vehicles.

It is important that FLOSS software development is politically and socially neutral. Open to anyone who wants to contribute and learn and help improve the code. I hope that GitLab will endorse political and ideological neutrality which opens the door for everyone to participate by keeping Codes of Conduct out of your terms of service.

Digging through the site I see you endorse the Contributor Covenant, a prime example of entry-ism written by serial harasser and radical feminist Coraline Ada Ehmke.


Unfortunately until this Code of Conduct is withdrawn and links with serial Harasser and political entriest Coraline Ada Ehmke are removed I can not endorse or contribute to GitLab.

I do hope GitLab removes the Contributor Covenant and replaces it with a more honest and inclusive statement.

I followed the link, and though I did see Caroline Ada trying to bully someone out of a community, I didn't see any evidence GitLab CEO supports the Contributor Covenant.

As you can see from the link the real intent of the creators of the Contributor Covenant and there 'inclusive' contract is really to attack, bully and exclude people who do not convert to there cult like sudo-religion.

Codes of conduct will not increase participation in your project they will reduce participation. No one wants to be part of a nanny state where political ideologues like Coraline Ada Ehmke poor over social media and attack you when they read things that disagree with there personal political and religious beliefs.

Project leaders and Platform providers can remove the door for entry-ism by simply removing third party codes of conduct. If you still feel the need to have some community guidance keep it simple to the point and honest.

Please my reply to bjwbell. Thanks for bringing this to my attention.

Thank you.

So, I read the their code of conduct, and nothing struck me as wrong (well, aside from that link back to the Contributor Covenant homepage, which is wrong, breathlessly hyperbolic, and politically charged).

Then I had a couple of realizations:

1. A sign on all public trash cans and dumpsters saying "MOTHERS, DO NOT THROW AWAY YOUR BABIES. YOU WILL BE PROSECUTED" would be correct, but it would be insulting because it implies the sign is necessary.

2. The existence of the code of conduct could be a dog-whistle. It could signal to the Caroline Adas of the world "We'll do whatever you want." Or even "Pease, please, please leave us alone. We'll do whatever you want". Both would be bad.

Competition is good! Forget all the hate going on against Github right now. We should be support things like GitLab and Bitbucket more in order to get the competition going strong. I'd like to see even more competition in this area.

It's amazing that we're migrating all of open source into a single centralized proprietary basket - amazing in a slow motion trainwreck kind of a way.

After we already watched its predecessor Sourceforge fill opensource projects with malware too. One day we're going to look back on all this and laugh "well that was bloody stupid!"

Even Git was created to free the comunity from the commercial restritions of BitKeeper, and the first thing we've done with git is make it centralised and proprietary again.

(Granted the friendlier UI and social network layer is needed, and Github has done a fantastic job there, but holy cow does this feel like watching a trainwreck)

Our local instance is only a version back but we find gitlab to be terrifically slow, and regularly have to kick the server as we find it stops tracking updates, then simply stops responding at all. Also, the diffing on merge requests is simply awful. It regularly shits itself on spacing changes and the like making most merge requests almost useless from a code review perspective. Searching just doesn't work. At all. Navigation is weird and cumbersome, with many normal features hidden away in different sections of the UI. This causes weird situations where, since search doesn't work, I have to just browse around for commits to a branch I want view at a certain state, and click that commit to get to a "brows code" view. Why the fuck isn't there simply a repo->branch->commit history->browse code path?

I personally wouldn't recommend gitlab and hope someone else is out there working on something better.

I have to agree regarding the slowness, and although we do have many repositories (~100) and the machine only has 2GiB of RAM, it does feel slow for a service that sits idle 90% of the time, and almost never gets concurrent user access. We're on 8.0.0, so maybe it has gotten better.

That said, are you sure you don't have a very old version? There is a simple path for accessing code in a branch, you can just click the repo, then on the button that shows the number of branches ("N branches"), then click on the branch you want. If you want to see the files in an older commit of that branch, just click on "History" and then "browse files" on the commit line.

2GB of RAM for 100 repo's and a few users should be fine. But a lot of bugs and speed improvements were made since 8.0.0, please consider upgrading, it should be a smooth experience. Also, if you have not switched to the Omnibus packages already consider doing it now to reduce memory usage and improve speed.

Thanks. We do use the Omnibus package, but I'll trying upgrading when I get a chance. I'm preparing to "sell" Gitlab to my coworkers, and the slowness won't help :|

I hope the upgrade helps. Certainly the upcoming GitLab 8.5 will contain a lot of speedups https://gitlab.com/gitlab-com/operations/issues/42 as long as you are not memory constrained.

We have a lot of branches on our remote, so navigating that page is pretty much pointless. This may be more of an issue with our repo being dirty with undeleted branches, but where is a typeahead find feature on that branches page? It just seems dirt cheap to implement, yet it's nowhere to be found.

I don't think we have typeahead for branches, it would be awesome if someone can contribute it. BTW we greatly improved the speed of the branches page for GitLab 8.5 (out Feb 22) if you have many branches.

Is your server on GitLab 8.3 or 7.x? If you're on 7.x please consider upgrading, it should make a world of difference. If the server stops responding please consider switching to the Omnibus packages if you have not done so already. For the code path issue please see the other comment here https://news.ycombinator.com/item?id=11093988

Gogs has this browse code feature.

The free hosted Gitlab is great. I really appreciate having it around. And if you haven't looked at it recently, it's faster than it used to be.

Free unlimited private repos w/ 10GB storage per repo (including LFS!) is fantastic. A recent project I worked on involved integrating ~15 upstream modules into a build process. Having the ability to set up a git repo for each module instead of thinking 'maybe I can come up with some hack to do this with less repos' is huge.

Having Gitlab CI w/ the ability to use your own workers just by running a single docker command is the icing on the cake.

And the fact that the repos which need to stay on our own infrastructure can also use GitLab - with an open source option to boot - is what makes choosing GitLab a very easy decision.

Awesome, glad to hear this. As you can see in https://gitlab.com/gitlab-com/operations/issues/42 GitLab.com issues became 3x faster this week and we're working on further improving speed.

Github serves two major purposes: (1) one is to be a git repository, and (2) another purpose is to be the central meeting ground for discovery and community participation. GitLab can serve for the purpose of being a git repository.

The problem is that the more competition we have for (2), the less functional any of the competitors are in serving (2).

Given that when Github goes down, a lot of tools and development workflows also go down, I can understand there being a backup repository. But that's not the same as serving purpose (2), that's just redundancy for (1).

The same problem exists for Facebook. The more Facebooks there are, the less functional any Facebook is.

(2) another purpose is to be the central meeting ground for discovery and community participation. [...] The problem is that the more competition we have for (2), the less functional any of the competitors are in serving (2).

While this is true, especially for open source projects. I'd rather see a healthy open source community on top of an open source platform than a proprietary one. This for two reasons:

1. Suppose that some features are needed by an open source community. In the case of GitHub, you have to ask and wait until they throw something over the wall. In the case of GitLab, you can write the code yourself, submit a pull request. With a bit of luck, it's in the next version of GitLab.

2. Suppose that GitHub or GitLab as a company becomes evil. This is not far-fetched, look at SourceForge. With GitLab, you could fork the latest community edition and have pretty much the same functionality.

We use GitLab at work, and while it works great for hosting internal stuff, any open source projects I'm still going to put on GitHub.

GitHub has the community, and I'd personally not like to see that divided, not to mention the interface is just so much easier to use - GitLab's is mildly infuriating.

I've been using Bitbucket for 3 years now and i absolutely love the fact that you can create private repos and have many tools available for free, highly recommended.

Ditto! Bitbucket has served me well for so many years esp with their ondemand integrations. I really don't see why I should move to any other gitxxx. Moving tools is also a pain point so best to choose wisely.

I agree, and I also love that for students you get unlimited everything. You get to have 5 team members per repository for free, which is great for smaller development teams. If BitBucket wasn't where I house some of my private projects already I would move to GitLab.

Thanks - we really appreciate the kind words.

Our University recently moved from SVN to self-hosted Gitlab for internal projects It integrates nicely with our LDAP server so that you can easily search for collegues and students to add them to projects. I totally love it.

It's probably not a coincidence, as Gitlab used to be Utrecht-based if I recall correctly.

Just want to thank you guys for not having to use SVN for my graduate project.

It's not a coincidence! I study Computer Science at Utrecht University and work at GitLab, so https://git.science.uu.nl only made sense :)

A little bit of stalking shows me we're actually in a class together, see you on Monday ;)

You're welcome. GitLab is indeed used at lots of universities.

I for one am a very happy user of Github. Two mid size open source projects, dozens tiny ones and a few commercial private repos. Github has private repos you just need to pay for them and they are actually very affordable. I've seen developers who make >100 per hour choose bitbucket because they don't want to pay for private repos. How is that rational...? I like Github and I like paying them for a service I use every day.

Travis on the other hand... could use a bit of work :)

Consider using https://about.gitlab.com/gitlab-ci/

It only works with GitLab repo's but on GitLab.com you can use the mirror external repositories feature http://doc.gitlab.com/ee/workflow/repository_mirroring.html

Maybe I'm just using git wrong, but it seems to highly encourage spinning off little repos for each project you might have so I have a ton of repos. E.g., each of my old school projects is its own repo. My usage would put me past their largest personal plan. Granted most of these projects are in "archive" mode, but I'd rather not have to pick which projects to host based on their current activity -- I just want everything in the same place.

I guess I could make some public, but not open source, but that seems like an odd solution too. And I don't want to be publishing homework assignments for others.

Recently had a need for something like this and Gitlab ended up losing to BitBucket Server which we bought along with JIRA and Confluence. Gitlab seems like a nice, light solution, but their issue tracker ain't JIRA.

I'm sorry to hear that. If you prefer to use JIRA please be informed that we have extensive support for that in both GitLab CE and EE http://doc.gitlab.com/ce/project_services/jira.html

My company is using atlassian products heavily and I was surprised to find very good support for GitLab. I run it locally and love it and I'm pushing to use it at work.

It's worthwhile noting that the integration between JIRA and Bitbucket (naturally) goes far beyond adding comments with links to a ticket.

Our aim was to provide an at the glance view of the development status (# of commits, branches, pull requests and their status, builds and deployments) with the option to see more detailed information right within JIRA. And of course you can create a new branch right from your JIRA issue.

Lastly, ensuring that the data is 100% reliable and up to date was an important consideration which most of the basic webhook integrations simply ignore.

Take a look at the documentation, which provides a great overview of the integration: https://confluence.atlassian.com/jira/viewing-the-code-devel...

No doubt, that said I've used both before and I generally prefer GitLab to bitbucket and so as long as the basics work I'm happy. Also GitLab can satisfy both Bitbucket and Bamboo and since my company needs to host all apps it's MUCH cheaper to use GitLab than to pay for 2 more tools for all developers.

Glad to hear that!

I think this is a nice article and I will take a peek at GitLab. I have to say the following though: I have been very annoyed with the difficulty in creating private repos in GitHub BUT I think it is a brilliant plan to encourage people to make their code available. As much as GitHub's pay-for-private-repos approach annoys me, I think if they hadn't done that, 30% or more of what's available on GitHub would be hidden. People made and make their code public because they have to pay not to. Brilliant, and the right approach for GitHub.

Damn I knew GitLab was good but that article made it sound far more amazing than GitHub. I'm impressed.

One thing I've really wanted was a voting system -> merge. Is there a way to require X amount of votes (in general or from specific in a specific group) which, once that is hit, allows the PR to be merged into master? Part of our typical code review workflow is requiring a specific amount of people to approve the PR before it goes in but it's basically the honor system right now and it would be really cool to turn that into some sort of rule.

Sounds cool to me. Consider creating an issue for it and please indicate if you're interested in contributing it.

Done. I'd love to work on it but I'd unlikely have any time to do so (at least in the near future).


No problem, thanks for creating a feature proposal.


I would love to see something like this, for example federated merge requests http://feedback.gitlab.com/forums/176466-deprecated-feedback...

GitLab EE's source code is also available, though not under an open source license. Most of the differences are things I'd like to eventually see in an open source project (maybe GitLab CE, maybe a plugin, maybe a fork).

From my perspective the best thing would be for them to eventually open source some features I'd like to have in an open source project hosting service, once they've made more reasons for people to pay them. The worst thing would be if someone added it in a plugin or fork of GitLab CE and the company GitLab were to claim that they must have looked at the GitLab EE source code. GitLab Pages and audit logs are the features I'd most like to see in the open source version.

This is much like Nginx Plus's improved load balancing with health checks, which has me considering Tengine.

Thanks for your perspective and naming the features you would like to see in GitLab CE. Can I ask what open source project you are considering to host on-premises with GitLab CE?

We do try to open source features that are requested by open source projects, such as the branded login page after a HN discussion https://news.ycombinator.com/item?id=10931690

I agree that falsely accusing people of looking at the EE code would be very bad. So far we only once declined a contribution to CE by claiming it was EE code, in this case the code was verbatim, the diff showed a zero character difference. Future calls will be harder but we'll try to prevent false declines.

More about this our criteria to merge CE contributions if they are already in EE can be found in https://about.gitlab.com/about/#stewardship

One example would be KDE, who considered Gitlab but ended up going with Phabricator because they are one of those 100+ developer projects that wanted the LDAP, analytics, logging, etc but also being a major open source software community wouldn't settle to not dogfood free software, and the CE was missing too much at the time.

Personally, I much prefer Gitlabs project -> code / issues / milestones / etc workflow over Phabricator's git / issues milestones -> projects workflow, and love using Gitlab, but there are a lot of free software communities (Gnome, Freedesktop.org, among others) who are almost certainly going to try moving to more modern project management services in the near future and will be forced away from the IMO best UX Gitlab offers for ones like gogs / phabricator that both sate their needs for a free software solution that also has the featureset for these thousand+ developer ecosystems.

Currently GitLab has LDAP, analytics, and logging. I'm glad you like the UX of GitLab. I'm not sure what essential features are still missing from it in your opinion. Can you elaborate?

I'm not one of the KDE web devs that run their infrastructure, I'm just a project contributor / maintainer. There has been some historical recording of the process that led to KDE having to give up on the idea, though:

http://permalink.gmane.org/gmane.comp.kde.devel.community/61... https://mail.kde.org/pipermail/kde-community/2014q1/000667.h... https://forum.kde.org/viewtopic.php?f=292&t=130854&p=350671#...

Thanks for the links. I'm sorry I never got the chance to talk to the KDE people and address the concerns we had. We're always open to adding or open sourcing features that are needed by large open source projects.

I don't know, Gitlab seems a little too enterprisey for me. For example their documentation is too 'serious' they link to martin fowler's wiki for "feature branch" and wikipedia for "feature driven development". Their gitlab flow has waterflow development like production branch with things going to "production".I do oss for fun, not to go to another job after the first one.

They don't have the cool hipster vibe that github has, github earned their street cred. A copy cat will always be a copy cat.

All these features ppl are asking for are against the ethos of github. Can somone give github props for well implemented git lfs.

sorry gitlab guy who is watching this thread if that was too harsh.

Joke's on you, the sole reason Github "community" exists is to attract customers to their enterprise plans. That's where the money is earned.

yea, whats your point? you expect them to host the site out of goodness of their hearts?

HN is ycombinator trojan horse for HN startups with full censorship of articles critical of their startups. Yet you are here aren't you?

The point is that you state "Gitlab seems a little too enterprisey for me" and then call out Github as the perfect example of how it's supposed to be done. Which is quite peculiar, given that if anything Github its motto is "how businesses build software" - it is an enterprise product they are building their business on. Hence I mockingly stated that the "joke's on you".

GitHub's community existed long before GitHub enterprise.

It was a natural transition. A Github solely running for "the community" would result in an unsustainable product which can only survive at the scale of Wikipedia-donation cycles.

You should take a look at Phabricator, then: http://phabricator.org/

It has more features than Gitlab, anyway.

Not sure what's the hype about when alternatives like Phabricator.org are much better. Meh.

I'm getting to a point where I may have to save my "Phabricator promotional rant" as a text expansion of some sort. It's a prime example of people not looking hard enough. People don't want just code hosting otherwise GitHub and friends wouldn't have extra features.. So Phabricator lives out in "project management software land" and no one looking for a good GitHub alternative seems to find it... Meanwhile it's bloody amazing and deserves much more attention.

What are the high points of Phabricator?

I'm reading the landing page, but the terribly self-deprecating style makes it hard to find the actual pain-point solutions buried within.

The best way to check out Phabricator is to go look around the Phabricator instance used by Phacility to manage the Phabricator project itself.


This gives has all their documentation, applications, and handy nearby search to find answers to the questions you may be thinking about while checking out each application.

That URL gives me a not found error, I'm afraid.

Using Gitlab on site and LOVE it, it's FREE, Big Thanks

You're very welcome, thanks for using GitLab.

I was wondering what would be the implications of publishing gitlab enterprise edition with an MIT license and make it easy to fork without subscriptions (basically like the community edition).

From what I understand, the real value that you are selling with an enterprise edition is the support, dedicated staff, monitoring services and training.

We tried licensing the enterprise edition under an open source license but asking people nicely to not distribute it. People didn't distribute it but our customer where very confused about this so we changed the license.

The current license https://gitlab.com/gitlab-org/gitlab-ee/blob/master/LICENSE is proprietary but it does allow people to see the code, modify it and contribute patches https://gitlab.com/gitlab-org/gitlab-ee/merge_requests

Part of the value of a subscription is our support and training, but the unique features of EE https://about.gitlab.com/features/#compare also are important.

If you don't mind me asking, what was confusing to the customer?

Again, I don't mean to be rude, just curiosity, how would you react if people forked the community edition and implemented some of the enterprise edition features and released it under the MIT expat licence?

The customers didn't understand that they paid to get access to an Enterprise Edition that had an open source license.

If people forked CE to add features of EE we would wonder why we didn't merge those in. For our criteria for merging features that are currently EE only please see https://about.gitlab.com/about/#stewardship

If only there were a way to get ~painless~ sync with repositories hosted elsewhere.

I'm stuck with TFS here, which is a PITA and broken on so many levels, it's not even funny. Running a GitLab front would solve nearly all of my problems while still complying with the dreaded "everything in TFS" policy. :/

O man, don't start me on TFS. We have the same issue within our company where tfs is still required for compliance reasons. I'm working on a mac, but there is no decent way to checkout tfs that isn't constantly breaking or hanging. jetbrains has some options in their IDE, Eclipse has the best plugin but still not fully functional. Our company decided to use full tfs instead of tfs with a git repo, I'm practically running a vmware fusion box just for TFS.

I've tried some thing with git-tf but that is too unstable to use (and not validated).

We don't have two-way sync but we do have mirroring of external repositories in GitLab EE and .com. Please see http://doc.gitlab.com/ee/workflow/repository_mirroring.html

That is more or less all that I crave. With two caveats:

- updated once per hour or manually

Seems as if this would be generally good enough, but some sort of push integration would be awesome

- EE only

The dealbreaker. I understand. It makes sense to feature-gate stuff. But my entirely personal situation is that the company enforces TFS. I (and quite some coworkers) would prefer GitLabs features. But there's just no way for me to ask for a budget. What for? "Replace TFS"? Not gonna happen. A C"C works fine, everyone's convinced that we should go for GitLab only" might work. Perhaps. But that's impossible at the moment, I guess.

1. I agree that push integration would be awesome. Consider contributing it.

2. Thanks for understanding. Please consider emailing sales@ company domain to see if there are possibilities. If you are working for a large organization we can maybe do an extended trial. Please reference this comment in your email.

On the off-chance that you stumble upon this again:

How would one contribute something to a feature that is EE only? Is that a scenario that you had in the past? How does that work?

The repository of EE is publicly readable and customers have a license they can use for development for EE.

We've had customers contribute EE-specific features and changes several times in the past. In one case, CERN contributed improvements to certain EE-exclusive authentication options.

The workflow is identical otherwise.

https://notabug.org is also an option

I've used GitLab before and had a very good experience with it. Meant mostly for private repos, however. I tried pushing it onto the teams I have worked with in the past but they resisted because they were unfamiliar with it and didn't want to deal with server maintenance. The latter was understandable. Still, this really is a great solution for those who want an alternative to GitHub, especially a decentralized one.

Albeit, I am little disappointed because I have finally started getting into open source and being active on GitHub, and now it seems the development community is vying for a way out. GitHub may not be open, it may be centralized, but it does offer the advantages of uniformity and easy discovery.

If people don't want to deal with server maintenance please consider GitLab.com (our SaaS) and GitHost.io (our single tenant offering where we do the upgrades and backups).

I had no idea that GitLab had support for changing what type of commit is created on-merge. That's actually a really temping feature; I've spent so much time trying to convince people (especially those starting out) why manually rebasing and merging is A Good Thing™.

Despite setting up my own gitlab instance once, and trying to get the company I was working at onboard, I never knew that gitlab.com was a thing for hosting projects... is this recent?

Either way, just signed up. Excited to support Gitlab, any way I can.

Thanks for signing up! GitLab.com launched after a 'Show HN' in 2012 but recently it has been growing a lot faster, 6x project growth in 2015 https://about.gitlab.com/2016/02/11/gitlab-retrospective/

One error in that write-up: SourceForge is open source, not proprietary. It's an open source project called Allura under the auspices of Apache that has paid coders at SourceForge contributing to it.

I have been using GitLab for some time and I am transitioning my projects to them currently. I prefer it to Github significantly, the downside is that recruiters are still looking for github on resumes.

I'm not sure we should aim for more recruiters on GitLab :)

But I get your point, GitHub currently is an extension of your resume. Based on a HN discussion we made a feature proposal to combine your GH and GL activity https://gitlab.com/gitlab-org/gitlab-ce/issues/13401

See, here's the thing: I don't want free private repos to exist. What GitHub has done is incentive making things open source, and that's immeasurably valuable.

I agree that this has been a very positive effect. On the other hand forcing people to make code public when they might not want to might lead to problems when people are haunted by code they didn't intent to be read by others.

Nobody is forcing anybody to make their code public. It's their choice. You can have your code on your machine and on your servers only. Hosting your code is an option.

And what if you are working with more than one person on the same private code base? You work on the same machine? Extreme programming?

You probably don't know how easy it is to push your code to another machine through SSH and share a Git repository that way.

Actually I do, isn't that how it is most frequently done? Fact is that even though it works and you can set it up yourself, it is not a good solution to decentralizing a code base. You might have a private machine to which everybody ssh'es and pushes and pulls from, but only a few do that because they don't want to be/have the ops people who run that box. And that is including but not limited to issues and a sane UI for collaborations. That's very well the problem that github/bitbucket/gitlab and the like solve.

So you are telling me that there is no problem and people should just use a private SSH connection to a box they own?

For many people hosting their code makes it easier to work on it, especially for collaboration, ci and deploys.

Just because it's in a public repo doesn't mean it's open source.

If source code can be viewed by all in a public repo, then it's open source. Not necessarily FOSS though.

No it isn't. Open source has an actual meaning: https://en.wikipedia.org/wiki/Open-source_software

For it to be open source it must "made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose."

If you publish a github repo with no LICENSE file that specifies an actual open source license it's all rights reserved by default.

It seems rms would agree with my definition - at least partly. From one of his GNU essays[1]:

    Nearly all open source software is free software, but 
    there are exceptions. First, some open source licenses
    are too restrictive, so they do not qualify as free
    licenses. For example, “Open Watcom” is nonfree because
    its license does not allow making a modified version
    and using it privately.
He considers Open Watcom to be open source but nonfree, when it has a license that would not qualify as open source by your definition. I think you're using the OSI definition? I tend to think of open source software more like rms does in his essay. If I can see and read the code, the source is open for me to peruse, then I consider it open source. Might be a total legal clusterf*ck to work with, but still, I have access to the source. I don't think the issue is as clear cut as no license - all rights reserved[2].

I'm interested in what would be the name for software released on a GitHub public repo, but with all rights reserved?

[1]: http://www.gnu.org/philosophy/open-source-misses-the-point.h...

[2]: https://opensource.com/law/13/8/github-poss-licensing

RMS is focused on the four freedoms. Open Source licenses which don't provide those freedoms he considers to be nonfree. In the extreme case, you can read the source, but all rights are reserved, as you mentioned. Java is the highest profile project that existed this way until it was finally open-sourced. You could read the source, but were not allowed to really do anything with it. As such, it was not only non-free, but also not open source.


How do you mean open source? I can work on a project or whatever in a private repo then release it as open source, or close source, or both. If it is not ready it hurts the open source probably to have half implemented, broken, unmaintained junk.

Now it makes Github look good -- look we have millions of users, billions of lines of code, so many repos. You can see it here it all.

Of course it is important to realize it is free and provided by Github with their infrastructure. So certainly not implying that owe people with free repos anything and if they want those terms of agreement for whatever reason then that's fine.

I just don't necessarily agree that what github is doing is necessarily to benefit "open source" as movement (if there is such a thing).

Bitbucket's free private repos are the best backup solution for university stuff, which is super valuable. I'd rather use git than say Dropbox to version code, I don't want to share unsubmitted assignments and I want a backup - it's perfect.

Actually, I do want free private repos to exist as a mostly open source developer. I often start cooking a project in a private repo. If it leads nowhere I just keep the repository private. Usually that meant moving it to BitBucket because I only have 5 private repos on GitHub[1]. Once I am happy with the quality or usefulness, I clean up the history and make the repository public.

[1] Yep, my BitBucket account is basically a graveyard.

I'm not so sure I agree with that conclusion, seems like a causation/correlation issue. Also, AFAIK public repository != open source.

A more reasonable conclusion is that developers not involved in open source use github free repos, people find their stuff, start talking to them, they start collaborating, and then they become open source projects.

On gitlab when most stuff is default-private it leads to a lot of potential collaboration being lost, regardless of license.

Atheist until your plane starts to fall down, communist until you get rich.

GitLab CE code is open-source. To use your analogy, that code will stay communist regardless of the wealth accumulated by the parent company.

For a git solution in python this is quite good: https://kallithea-scm.org/.

I had used GitLab for Mailman but I hadn't considered using it. I'll probably migrate off of Bitbucket thanks to this article.

Great to hear that!

As I've said before, we moved from GitHub to Gitlab and could not be happier. Most of our stuff is internal and we mirror our open source code to public repos. God damn it's good software - is there still room for improvement? Yes. Are they improving it every.bloody.week? Hell yeah they are!

Thanks, we'll keep on shipping!

> Do I have to tell you, it’s good for people with vision problems?

Actually light themes work better for me. I have astigmatism and light themes open the pupil allowing me to see the text easier. With a dark theme I basically just see line noise.

This might be a misconception of dark themes.

Exist something like this but for mercurial (I use BitBucket. I mean something to download private...)

Check our https://rhodecode.com it supports git, mercurial and subversion.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact