Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Looking at this thread here, Gitlab seems to be much more open about their development than Github, and has a real sense of community, yet Github (still) remains the popular option, despite their more community-hostile traditional board-meeting decision process.

Is there a gradual shift in the FOSS community towards Gitlab (which in all honesty would make more sense), or am I just seeing the enthusiast in this thread?



Github's shortcomings only really came to the fore in the last couple of months, due to a combination of factors. GitLab is working hard to exploit the current window of opportunity to make waves. I'm slightly surprised BitBucket is not doing the same, but their Atlassian masters seem more interested in pushing irrelevant features at the moment (like SSO across products I don't care about).

It's too early to talk about a shift away from GH, but increased variety in the ecosystem can only be a good thing, compared to the dangers of a GH monoculture... especially considering git migrations are literally just one push to a new origin.


Atlassian is going after the enterprise market. They don't care about free software developers.


That's a poor strategy. All developers start out as free software developers, then gain employment. I persuaded my work to purchase Gitlab EE licenses, due to ease of use and it's excellent features & support. I can't imagine I'd say the same of Atlassian products.

Capture awareness / interest early.


You'd be in the minority. Correct me if I'm wrong, but I'd bet you're at a small company where a low-level employee's opinion was taken into account when making the decision of which product to use for 10-50 people.

In medium to large sized companies, Atlassian will usually win out when you have a CTO that manages 100+ developers. Enterprises really like to stick with the "safe bet", where there are expensive licenses and dedicated account managers from the service provider.

Jira in particular is extremely popular with the modern addiction to Agile. Once you're on Jira, you just start to fall onto connecting all the related products like Confluence for wiki and Bitbucket Server (formerly Stash) for git. I'm not saying it's the best thing to just ignore all other offerings, but in my experience CTOs do exactly that and just go straight to Atlassian for everything.

Basically, if your company is using Exchange... expect to be forced onto Atlassian. Welcome to the enterprise.


I've used plenty of other options- we even ran an internal GitLab instance prior to moving to BitBucket at my last company. Atlassian's suite of products are a safe bet because they're generally good products.

I like the GitLab feature set more than BitBucket but when I went started my own company it was generally cheaper for my team of 5-8 to use hosted JIRA, BitBucket, and Confluence then it would be for me to pay AWS/Rackspace/Azure/Digital Ocean to run the F/OSS equivalents in our cloud environment. BitBucket integrates just fine with Jenkins and the new Project organization was much needed.

We may someday move to GitLab or something else, but there isn't anything wrong with choosing Atlassian in any way. It's not like they're an Oracle/SAP type company that just abuses their customers and has awful products.


Great to hear you're using JIRA, Bitbucket and Confluence together. How is the integration between the tools? It's definitely a use case we're hearing more often where teams need more than just storing and working on code.


They're getting better. BitBucket and JIRA work together quite well. With "Smart Commits" in the JIRA hosted version that allow us to move a ticket's status, comment on it, log time, or just show activity towards a ticket via Git commit messages. I use the heck out of it and the team is following quickly behind.

JIRA follows the feature branching workflow pretty well, so if you branch from dev/master with the ticket number as the start of the branch name you can click through to that branch straight from JIRA, which is generally pretty nice.

Confluence isn't nearly as tightly integrated with either. There are some reports, widgets, and stuff you can grab out of JIRA and make some dashboard type reports. Nothing special- we use Confluence to document architecture, deployment procedures, etc. We're definitely not Confluence power users.


If you want to use GitLab on the cheap consider using GitLab.com, it is totally free and has unlimited repo's and collaborators.


It's so funny that this is the way it's become, as Atlassian grew up being the cheaper, simpler alternative to extremely expensive, super opaque, ultra closed source systems like Clear Case. I remember a time when Atlassian actually raised the prices of Jira's top level of support and service because enterprise CTOs were confused by such a low price point.


Ten years ago I made exactly this migration for a SaaS shop's helpdesk & dev team. At the time JIRA was easily the best value & most customisable solution for integrated ticket tracking. I learned Java & Groovy to write extensions for it. It wasn't just CTO/CIO friendly, JIRA really was the great choice at the time in both UX and ease of implementation. Especially if you'd been bogged down hacking RT or GNATS or permanently scarred by anything from Rational.

What I realised is that eventually they're all ad-hoc, informally-specified, bug-ridden, slow implementation of a workflow engine and metadata service. Your choice is mainly of the interface and domain-specific layering violations.

Troll-friendly soundbite: Atlassian is the new Rational.


"You either die a hero, or live long enough to see yourself become the villain"

Let us know anything specific you'd have us improve - love to know what changed over the last 10 years to make you change your mind.


> I learned Java & Groovy to write extensions for it

For the last 3 months, Groovy has been officially known as "Apache Groovy".


At $WORK we use Jira/Confluence, and instead of Bitbucket Server we chose Gitlab because I have experience with it, and it comes with integrated CI.

BTW, this is not some small startup...


Cool to hear that! For reference, since many organizations use Jira GitLab CE and EE have extensive Jira integration http://doc.gitlab.com/ee/project_services/jira.html


Yep, if that didn't exist we would have had to go with Bitbucket Server.


> All developers start out as free software developers, then gain employment.

I don't think that's true. Some people never get involved in free software even as a hobby. Some people get apprenticeships and learn to program from scratch on the job.


Or, strange as it may seem, they learn how to write software from a four-year college degree. And colleges are notoriously bad at teaching so much as source control, let alone what source control options are there, how to use a bug tracker, etc. (Which makes sense, because you don't strictly need source control if you aren't collaborating heavily, and you don't need a bug tracker if you have a single development week-by-week.)


Seriously... My favorite was in a lower level DB class we had to write, basically, a small PHP app connected to MySQL. On the first day of class the instructor stressed this class was about databases, not PHP, and would basically just cover getting a connection going and the rest was up to us. I think having been doing development and getting paid for it via 'internships' at various companies when I was younger really made me a better, but angrier student in my college CS days. On the one hand, I needed zero time to get up to speed on C, C++, Java, and PHP syntax so I could focus on the algorithms and other topics being taught. But I doing so it became very clear that I was going to the real world and most of this stuff wasn't coming with me.


I agree there is something to be said for bottom-up marketing, but asserting that "all developers start out as free software developers" is completely untrue. In fact, I'd guess that people who actually develop free/OSS software are far outnumbered by those who don't.


Yep. I got my work to purchase EE license for Gitlab because it's miles ahead of Bitbucket Server.


Would love to hear what features in your opinion but Gitlab miles ahead of Bitbucket Server.


We tested Bitbucket Server when it was still called Stash, and compared it to Gitlab at the time.

- Merge requests/code review in Gitlab is much better, whereas with Atlassian they recommend purchasing another product

- Integrated Wiki, whereas Atlassian they recommended Confluence

- The UI is absolutely terrible, even now the Bitbucket front-page where it dumps you when logged in is a disorganised mess and I can never find what I am looking for

- Speed, Gitlab running on my own server is MUCH faster, compared to Stash

- There was no way to easily add code snippets to be shared with the rest of the team, ala Snippets.

- Integration with the rest of the Atlassian toolset was so-so, and left a lot to be desired honestly.

- Statistics and information about the code and who is contributing and everything along those lines, makes for pretty graphs that make higher ups happy.

- Bitbucket doesn't currently have a view within the web interface for how many commits have been made to a project. People like numbers, and watching them grow!

- I have to reiterate, the UI is absolutely terrible in Bitbucket/Stash.

And the real killer is that I can get Gitlab CE and never pay you guys a dime, I've in the past helped out in the Github issues with debugging, and I can be part of the community. The only feature from EE that I need is the ability to use LDAP groups to define what users can and can't access various repositories, and the company I work for can afford to help pay for Gitlab's future to stick around!


I'm guessing Atlassian frequently goes after those sort of enterprises were the decisions are made by management with little input from the actual end-users of the product.


> I'm slightly surprised BitBucket is not doing the same, but their Atlassian masters seem more interested in pushing irrelevant features at the moment

Yeah, I fear Bitbucket will always be shackled to the rest of the Atlassian product line, and never really allowed to innovate much.


Hey, Kelvin from Atlassian here. We are pretty flat out ourselves improving both Bitbucket Cloud and Server. I can see how SSO isn't terribly important if Bitbucket is the only one of our products you use, but it's critical for our customers who co-own Bitbucket and JIRA (or Confluence, or HipChat, etc.). It was a fairly massive undertaking: retrofitting auth across our portfolio of products took some serious engineering effort. But we've still managed to squeeze a few fairly large releases out recently shipping features such as smart mirroring, Git LFS, and clustering - and have some other great stuff in the pipeline.


Hi Kelvin,

Any chance BitBucket has a public roadmap? I'm a user because of your free private repos, I hope to grow into a paid user this year. Thanks for all that you do!


Great to hear! Not quite, but we try to keep relevant feature requests on jira.atlassian.com (for Server) and https://bitbucket.org/site/master/issues (for Cloud) as up to date with progress as we can.


Honestly, I don't know why you didn't have SSO years and years ago. You encourage crosslinking between products that have distinct session lifetimes, I feel like I spend all day typing in my password again.

(Also, can you take the fucking 'remember me on this machine' button away? It's a cruel, cruel tease. It has not worked a single time on 4 different installations I've had accounts on over the years)


Did LFS support ship just for self-hosted? I was searching for a home for a few private repos days ago and #11204 showed LFS as still unsupported for hosted BitBucket.

https://bitbucket.org/site/master/issues/11204/support-git-l...


Yup, self-hosted for now but we're working to bring support for hosted soon.


> especially considering git migrations are literally just one push to a new origin.

A pain point here is that GH issues cannot be migrated easily as a git migration (but GH does have a REST api).


But gitlab has a Github migrator which supports pretty much a repos complete history (PRs, issues, wikis, etc).


Yup, I am aware of that thanks to my obsessive reading of HN :-) But I was just pointing out that it's not easy as switching a git origin in case you want to move to something else other than GitLab.


GitLab has a ton of strengths, but still has large weaknesses in the area: gitlab.com implementation and design.

gitlab.com is the public 'demo' version which people compare to github. It's missing a few key items that would make it appealing to open source developers (and that I'd like to see them prioritize.) E.g.:

* Site search. It's been broken for months or possibly years. (Response time > 45 secs., Relevancy is miscalculated: "gitlab" itself does not appear in the search results.)

* Repo / project discovery and social features are extremely primitive.


I agree we can do a lot better in project discovery on GitLab.com. I do want to mention that https://gitlab.com/explore?utf8=%E2%9C%93&filter_projects=gi... gives results in a few seconds and GitLab itself is the first hit.


Want any help?

I don't have any interesting answers for your hiring filters.

The culture you've built is very rare. I realized that if I felt that way, then I should try to help it become the norm.


We always want help, you can contribute directly or apply to work via http://doc.gitlab.com/ee/project_services/jira.html

We take all applications seriously but if you feel you got rejected for a bad reason feel free to contact me directly.


I think your link may be an errant copy paste :)

I guess you meant to paste: https://about.gitlab.com/jobs/


Yeah, that was the page that convinced me I should try to join. But,

"A note on the technical interview: As part of our interviewing process, you may be asked to pick an issue from the GitLab CE issue tracker, and code ‘live’ with the interviewer there to talk with and collaborate with. We do this because we believe that it is the best way for you to see what the work is really like, and for our interviewer to see how you think, code, and collaborate." Actually, it's the opposite of how to find out how I think and code.

Do you have a profile on GitLab.com, GitHub or Bitbucket?

No.

What (open source) project that you built or contributed to are you particularly proud of / passionate about?

None.

Were you referred by a current GitLab team member?

No.

I once discovered that one of the most effective developers in the world would've had similar answers.


Is there an extension to hide downvotes, ungray all comments, and hide karma count? If not, I'm going to write one.

I know it's just an errant downvote, and people can feel however they want. But the information is no longer useful.


Given those answers, you really seem to clash with gitlab's culture, regardless of how good a programmer you may be.


We also hire people that never contributed to open source but that are great people and are open to our values https://about.gitlab.com/handbook/#values


Yes, thanks for correcting me!


Will you give me a real-world task and see how well I do?

Assessing a candidate is as simple (and as hard) as that. Watching someone while they code isn't useful. https://data.triplebyte.com/take-home-interviews-d7f7ea13067...

Just give me something real to work on.


We give you something real to work on but we'll be in a Google Hangout to discuss it with you: "As part of our interviewing process, you may be asked to pick an issue from the GitLab CE issue tracker, and code ‘live’ with the interviewer there to talk with and collaborate with."


For an in-house installation, it would also be useful to have an editable front page of some sort. Here, you could publish notable projects, or perhaps the ones most sought after. It would also be a channel for news, faqs, etc.

I created an issue at https://gitlab.com/gitlab-org/gitlab-ce/issues/13239.


Thanks, you can use the branded login page for information in the homepage https://gitlab.com/gitlab-org/gitlab-ce/issues/11489


Issue search has a lot of room for improvement. All terms in the search query must occur consecutively.


Totally agree, I hope it will get better after we enable Elastic Search on GitLab.com in a few days.


Totally agree on the project discovery bit. Noticed the same thing when I played with it. I added a couple tickets to try and encourage them to fix it.

* Increase the prominence of gitlab hosted projects on about.gitlab. Project search, trending, curated lists. - https://gitlab.com/gitlab-com/www-gitlab-com/issues/558

* Trending project data by language (js, ruby etc) - https://gitlab.com/gitlab-org/gitlab-ce/issues/13475

* Allow projects to flag themselves as looking for contributors - https://gitlab.com/gitlab-org/gitlab-ce/issues/13502

Give them a +1 maybe they will put resources on making gitlab more oss friendly


Thanks you for creating those insightful issues, much appreciated.


That will definitely hurt the FOSS community adopting them, but they're becoming very appealing for private projects. At work I use BitBucket, but GitLab now has better looking Issues, and with built-in CI it's becoming hard for me to resist switching.


For https://robigalia.org/, I decided to go with GitLab for a few reasons:

1. Free software needs free tools (I did not consider GitHub or Bitbucket at all).

2. Excellent team management and access control.

3. Excellent integration of their CI in the interface, with ability to run own build servers ("runners", in their jargon). This is critical, because setting up the toolchain needed to build takes some time, and I can use the beefy hardware I already have, without having to setup jenkins.

4. Lovely UI.

The only real alternative in this space without setting up custom infrastructure is Savannah.

Or, if willing to compromise on principles, GitHub, which has a lot of incremental downgrades compared to GitLab.


I can't tell if there is a real shift, I would say no. GitHub, in a lot of people, is synonymous to Git. GitLab is superior in a lot of ways, more feature, open source, very open as you pointed out. Their pricing model supports free private repos. Not sure what it would take to really make people reconsider GitHub as the default goto place to host OSS repos.


"GitHub failing hard".

GitLab is great, but it's kind of a copycat project. Nothing wrong with that, it's just there really isn't a compelling reason to join beyond "less-predatory pricing".

And the people who care about that use private repos, not OSS.


> predatory pricing

I've always thought GitHub's pricing is awesome and very accessible. Can you explain?


It'ss quite bad for my company. We have to pay per repo and we like to create quite a lot of small libs and microservices. I'd like to have a option of per user payment.


Very similar here. My startup is 3 years old with ~10-15 developers, but we make many small repos -- about 150 in that amount of time.

Even though it's not tons of code, GitHub's pricing breaks down horribly in this case. I think that that in the long run many startups will move to embrace GitLab in the early days for price if nothing else.


Ah hah, that's interesting. Yep, the per-repo metric does weigh more heavily on architectures based on smaller more granular projects.


Suppose you are a web agency. Every single project for every single client should be version-controlled, right? But that tends to quickly add up when using GitHub - about a dollar per project per month.

So, if my company finishes 30 projects per year, we'd be paying $360/year to GitHub for what is essentially "storing a backup". And if we do this every year, that's $1000/year within 3 years. Not to mention that for "Organizations" the prices are doubled. For some reason. So... $2000/year?

Right now the same job is done by a $5/mo linode, with the prospects of upgrading to $10/mo.


For example, a lot of people complain about issues on GitHub. GitLab handles those much better, that could be a compelling reason to move, but somehow it doesn't seem to be enough.

Private repo can be useful for early stage of OSS projects.

Agreed though that it still feels too much like a clone of GitHub. The UI for example is way to close to the original.


Having used both there's more than enough in either that's bad to justify a switch to the other if you really want to. I personally prefer github's warts to gitlab's. In particular, I find that general site navigation on gitlab is quite tedious and it rarely centres useful information first. But that is very much a qualitative and not a quantitative complaint.

The main thing I find extra useful on gitlab is the ability to mark a MR as a WIP.


Glad you like our WIP function. Do you maybe have any suggestions how we can make navigation better and/or examples of pages where you are missing information?


The decision of what does and doesn't go in the sidebar is very non-intuitive (sometimes what I want is in the sidebar but sometimes it's in the main page). For example, in groups and user profiles you can find the list of projects in the main body of the page (and it's not visible immediately). Why is it not in the sidebar if you have a sidebar? And then the ordering is also a bit weird -- I don't think many people would consider the order in GitLab to be "in order of importance" or even "regular use". And why can't I see the set of files in the repo when I first open it? This is something I feel GitHub does better -- things are much faster to access and IMO much more intuitive.


Thank you for your feedback.

> The decision of what does and doesn't go in the sidebar is very non-intuitive

We try to put top level navigation into sidebar and everything else in the main page. For example navigation to `Projects` is in sidebar however tabs to switch between starred projects or personal projects is in main body.

> For example, in groups and user profiles you can find the list of projects in the main body of the page (and it's not visible immediately). Why is it not in the sidebar if you have a sidebar?

Good example. Agree its still non-intuitive in some places. For you particular example we created an issue to fix - https://gitlab.com/gitlab-org/gitlab-ce/issues/13480.

> And then the ordering is also a bit weird -- I don't think many people would consider the order in GitLab to be "in order of importance" or even "regular use"

Ordering of projects is either by last activity or alphabetically. But in any case there is usually a dropdown in UI to sort by other criteria.

> And why can't I see the set of files in the repo when I first open it?

You can set what to see first at https://gitlab.com/profile/preferences page. We believe README is something people would like to see first we allow users to set different default page based on their preferences.

P.S. Thank you very much for your feedback. It will help us make GitLab UI more intuitive.


Thank you for your feedback, we aware about these issues and already working on improvements on our side, stay tuned!


Thanks, I've asked our UX engineer to look into this.


That would be nice.

In GitLab today, we end up deleting and re-creating merge requests, or waiting until <requester> comments "@<reviewer> ready for merge".


Why do you need to do that? Have you looked at the merge request approvals feature https://about.gitlab.com/2015/07/29/feature-highlight-merge-... (EE/.com only)?


It's not about the number of approvers (just one), but more the approver knowing that the submitter is done making revisions. Usually after the first merge request, we do code review then wait for revisions, that's when the tag happens.

Now this would be awesome:

> We’re thinking about more improvements to the Merge Request Approvals, the main improvement being automatic suggestions for reviewers, based on the history of the changed files in the merge request. For instance, if Jane worked a lot on a certain class and you submit a change to that class, Jane gets suggested to approve your merge request.

Today we are using the self-hosted community edition though.


To indicate that the submitter is done making revisions I advise to remove the WIP indicator http://doc.gitlab.com/ce/workflow/wip_merge_requests.html this feature is available in CE and EE.

If we start recommending automatic reviewers based on the blame this would likely be an EE feature.


And also remember that you can host public repos for free too on Gitlab.com


I believe every Techstars batch does a tools survey across batch companies (at least R/GA Techstars in NYC did) then emails everyone the summary with bar charts.

The one I have is mostly about analytics, sales, and support tools, and unfortunately repository hosting wasn't a question asked. I also wish they would make this data source public so others could see shifts early -- for example the wave from HipChat to Slack would have been very visible.

Perhaps StackShare might be the closest open source of similar data.

http://stackshare.io/code-collaboration-version-control


Personally, I have moved away from Github because I'm finding Gitlab Flow to be more useful. It enables collaborators to have a kind of Gerrit/Critic work-flow to review potential merges without having another system to integrate.


I'm not sure if anyone can answer that question.

Personally, I hope we can eventually move to a federated system, perhaps one based on ipfs.



> Gitlab seems to be much more open about their development than Github, and has a real sense of community

Yes. They didn't just slap an open source licence onto their software, they actually follow an open source development mode, and work out in the open.


The biggest feature that Github provides is its popularity as a central meeting ground for project discovery and collaboration. Some people are only looking for git hosting and don't care about the community aspect, so they could jump ship to Bitbucket or Gitlab.

In that respect, if you're looking for a social network to keep in contact with a general group of people, Facebook is the way to go, and not the myriad of smaller sized social networks. If you're only looking for communication with a small group of people who haven't committed to anything, then you could jump ship to Google+ or whatever. Size of community is the salient feature, not the app.


Facebook is not for me. Msybe its because most of mine freinds are party people. I feel very isolated. I rarely go on it and I find github the only social network I really care about. I feel as though its not really that social though since I only get to talk to people when I bring something to eat the table. Big node repos +1s, the I barely use the follow feature despite having access to some of the most prolific programmers of my time. I want a social programming network. No idea what it looks like, but github has definitely helped curb the isolated feeling. I havent played around with gitlab enough but Im sure it has more potential




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: