Hacker News new | past | comments | ask | show | jobs | submit login

(I promise this will turn out favorable for gitlab)

When gitlab first came out, I found the amount of shameful copying of github distasteful. I thought, man these guys have not done an ounce of anything original, so what's the point in even encouraging this kind of slimyness?

But then Github stagnated, and stagnated some more. And gitlab went past the initial copying and started innovating and adding more features.

And now with their CI/CD, and fully integrated pipeline, they seem to be way, way ahead of Github, whereas Github seems to have focused more on handling the infrastructure needed for their sheer level of scale.

In Github's case, I bet they felt their hands were tied because they had a whole ecosystem around them (like all the CI/CD companies that tightly integrate). Gitlab didn't have that issue, and was free to integrate to their heart's content.

To be honest, the only reason I moved back to Github after trying Gitlab a couple years ago was the performance. But again, Gitlab seems to be the little engine that keeps chugging. They have a certain hunger about them to improve, that they're constantly and relentlessly chipping away at the software's flaws. And sytse is always active in all these threads armed with great answers to pretty much every single criticism leveled at them.

So at least for now, they seem to be a lot more hungry than Github, so kudos to them.

Once all this hubbub dies down, I may move all my repos to Gitlab, but mostly for the CI/CD pipeline.

Github has totally earned their success, but they did seem to be stagnating for a while there.




> But then Github stagnated, and stagnated some more. And gitlab went past the initial copying and started innovating and adding more features.

As an industry, we have a unhealthy obsession with change for change's sake. If we aren't redesigning everything, adding new features, or moving cheese all the time, we aren't innovating.

But this the opposite of how we should think. If the GitHub repos page, for instance, just works, then we don't need to keep changing it. Zach Holman made a point, way back in 2012, that they intentionally hide UI features to preserve simplicity and trust in their design. [0]

The thing I get the most from Gitlab's UI is this overwhelming sense of desire to add every feature, expose every option, and make it as utilitarian as possible. In doing so, though, Gitlab trades off approachability. To some this is a great thing, but to others, it's just on the edge of too much. If there's anything I want Gitlab to copy from GitHub, it's the opinionated decision making of what to show and when to show it.

Gitlab's CI/CD stuff is a great example of this contrast. GitHub left it to Travis and other CI providers, which makes both GitHub and those providers have time to excel at what they're good at. They made the trade off deciding that they couldn't pull it off as well as others, so they delegated it and moved on. Gitlab took the opposite approach and built it in. While it adds value for some users, it can and (at least in my opinion) does over complicate the core feature set they offer.

It's okay to have two products with different approaches, but I wouldn't say that it's a lack of innovation on GitHub's part. I would say it's just a different set of tradeoff balancing.

[0]: https://speakerdeck.com/holman/git-and-github-secrets?slide=...


> Zach Holman made a point, way back in 2012, that they intentionally hide UI features to preserve simplicity and trust in their design.

Ehhhhh not quite. The point of hiding UI like how I mentioned in that talk was that those features in particular were for the 1% (or less). Basically, the finicky power users. Rather than cluttering up the UI with every single toggle and dropdown under the sun, we'd focus more on nailing the experience for the 80-90% of users that would see the screen.

I think that's quite a bit different from what's being discussed in this thread. The last few years in particular GitLab's been adding a lot more features across the whole spectrum of development (CI, packaging, monitoring, and so on), whereas GitHub has been mostly content to refine the existing platform. I don't even think it's really a question of simplicity (or at least not to the extent of what I was trying to mention in my talk from six years ago) — it's more of a matter of expanding into very large holes that the version control industry hasn't really tackled very much before (take a look at Bitbucket, or even some of the open source clones, which all kind of stick in the version-control-only perspective).

> I would say it's just a different set of tradeoff balancing.

That I'd probably agree with, though. I think GitLab's thoughts on what's helpful to a developer is much broader than GitHub's narrower definition. Each are making their bets with that, so it's more a matter of how you view your own problems and the future of these kinds of problems and all that. :)


> Ehhhhh not quite. The point of hiding UI like how I mentioned in that talk was that those features in particular were for the 1% (or less). Basically, the finicky power users. Rather than cluttering up the UI with every single toggle and dropdown under the sun, we'd focus more on nailing the experience for the 80-90% of users that would see the screen.

Every time I go back to gitlab I’m lost in all those drop downs and buttons it shows me. Just nodding to you statement.


> Ehhhhh not quite. The point of hiding UI like how I mentioned in that talk was that those features in particular were for the 1% (or less). Basically, the finicky power users. Rather than cluttering up the UI with every single toggle and dropdown under the sun, we'd focus more on nailing the experience for the 80-90% of users that would see the screen.

Oof. Yeah. I understand what you meant -- I guess I wasn't specific enough in what I said. I didn't mention it anywhere in that comment, but I was thinking about their issue page as the prime example. See here: https://gitlab.com/gitlab-com/www-gitlab-com/issues/2231

I'd say that 1% features shown to anyone on this page are things like confidentiality, time tracking, weight, lock state, and reference. Most of them are in the default position, and reference appears marginally redundant. I didn't execute my example too well, but I think this notion does carry around the rest of the app.

I guess I painted too broadly if you had to catch me. Sorry, Zach!


The simple solution would have been configurations for those 1% who wants them.

Either at repository/organization level or user level.

That way you can get the best of both worlds.

I might be wrong, but that's how I'd see it.


I guess that's exactly what I'm saying. I don't WANT to sign up for multiple services. I consider all that to be chores that take away from actually building the product I care about.

Apart from that, it costs more (I didn't bring this up because these costs are negligible compared to the cost of engineer time), you have multiple places charging your credit card, have to manage multiple accounts, etc.

It's sort of like the reasons I used to state on why I like Ember. ember-cli comes fully integrated, I can start to build something in 5 minutes. Whereas, before create-react-app, developers would spend a lot of time just cobbling together tools and reading tutorials just to get to a certain level of infrastructure.

I don't want to do that. I just want to press a couple of buttons and resume building my product.


Yep! Choice and competition is good! I think it's good that people like Gitlab and use it, just in the same way that there are people who prefer GitHub and use it.

But I wouldn't say at all that it's the result of stagnation as a result of abandonment -- rather, it's intentional selection.


Point taken. Competition IS good (rather than just copying, which initially put me off to GitLab).

And how nice it is that there are good products that fit multiple mental models, so neither of us has to compromise. (Again, for the record, I still host everything on GitHub but mainly am looking to GitLab because their stuff is so integrated).


I agree - one thing that's pretty annoying about Gitlab (self-host at work) IMO is that over the past year, things just keep moving around in the UI or work differently as we upgrade versions.

Personally, I'd prefer to use Github at work as I find it a fair bit easier to use and navigate, but Gitlab is much cheaper, so...


I agree with what you are saying, but plenty of issues with Github really needed to be solved in order for large projects to scale. Issue templates and the native “likes” rather than all those +1 comments were desperately needed and Github had no excuse not solving those issues for years.


We virtue signal around project activity, especially on Github. We use activity as a proxy for whether we will be stuck with bugs without workarounds.

But a baked piece of software that doesn’t interact with fast changing parts of the ecosystem doesn’t need to change.

If I saw a dormant project in Rust or Node that handled asynchronous calls I would probably stay away. But a logging library, text processing tool, or unit testing framework might be pretty baked.

In that case the active projects are catching up, which means new bugs. Bugs that I might get stuck with anyway.


Exactly.

> If there's anything I want Gitlab to copy from GitHub, it's the opinionated decision making of what to show and when to show it.

Thing is, that will never happen. The project has already sprawled out of control and if they tried to remove things or drastically change the product users would just start forking the project. Or someone would copy GitLab and make a totally open source clone (that'd be ironic).

On a side note, does the issue tracker for GitLab CE worry anyone else? https://gitlab.com/gitlab-org/gitlab-ce/issues Nearly 11k issues some from 3 years ago.


For as long as I have seen your account you are in every github/gitlab thread pushing github and bashing gitlab.

Care to disclose something?


How is it different from you yelling at everyone on GDPR threads? Maybe, like you, the parent is just passionate and opinionated.


It's different because I don't have a commercial stake in the game, I just really care about privacy and my posting history and blogging history back that up.

I find it odd that someone would pick one commercial entity over another when they're otherwise anonymous, which is yet another thing you really can't say about me.

So that's how it is different.


You couldn't prove they had a commercial stake, and they also seem to really care about github vs gitlab. It's not too different yet.


Github vs Gitlab is one commercial party against another, if the products are roughly comparable and you want to take a very strong stand in favor of either party you should declare your affiliation (or none). ACs that from the very beginning seem to have an agenda are always under that cloud, and it's easy enough to dispel any doubt.

Contrary to that there is no gain for me to be a privacy advocate.


How is this different than the pro-Gitlab people, who are on the same threads doing the opposite?

I’m personally tired of seeing Gitlab employees and fanchildren spamming every halfway-related thread on HN. If there’s someone here advocating for Github, he’s a refreshing change of pace.


It’s true. I have a perception that there is frequent GitLab advocacy going on on HN. Almost as if their team uses HN as a de facto marketing channel. Any announcement from GitLab immediately gets upvoted to the front page. And the prior commentor being accused of being a Github shill— is that any different than the frequent comments from the same cast of characters promoting GitLab?

Plenty of shills on here and they aren’t generally the Github people. Every GitLab story’s comments consist of a barrage of comments complaining about Github. An impartial observer could be led to believe that there is some astroturfing happening. I know a lot of developers and not a single one uses GitLab. But if the HN sample is representative, it seems like most developers hate Github. The GitLab/Github threads don’t seem to track with my real world observations.

Github changed software development for the better. It isn’t perfect, but acting like a Github clone is the second coming of source control management is getting tired.

Use whatever the hell you want. The seemingly non-stop discussion about SCM systems is getting stale. Unless GitLab does some incredible innovation, why must we keep seeing stories about it getting voted to the front page? Unless Github does something especially evil, why must we be constantly be taking and complaining about it? Every time GitLab makes an announcement, they get free advertising by virtue of the upvote cabal. Seriously it’s like HN has become their PR agency. Every time Mixpanel or New Relic or Codeship or Travis CI posts a blog post announcement, it doesn’t make the front page — neither does the press release announcements of dozens of more relevant startups than GitLab. GitLab announces a pricing change! OMG, let’s vote it to the front page because everyone in the Hacker News community should care!

GitLab is “open core” and apparently Github is evil because it’s closed source. GitLab is cheaper and that’s important because spending $12 per month for private repos is just offensive. Good grief. It’s getting as ridiculous as the Windows-Mac debates 10 years ago.

Unless GitLab actually creates some new innovation, I vote for a moratorium on any stories about them making the front page; a pricing change is hardly interesting. HN ought not co-opted as a free marketing channel. The past few days, Hacker News should have been called GitLab News.


> The past few days, Hacker News should have been called GitLab News.

You did notice the announcement that Microsoft has agreed to buy GitHub? I suspect that and nothing else is what drives the attention to GitLab which operates in the same space. There are also lots of postings about other competing companies entities, far more than normally. (Gitea, Gogs, comparison links and so on)


In all fairness, I wouldn’t classify the parent post of bashing. Exaggerating, at most.


Really interesting observation, does look pretty shady.


[flagged]


Do you have any evidence this person is a paid advocate?


GitHub is popular because it allows developers to connect the tools they want to use to their repository. Some people find having everything in one package convenient, but the truth is there are better tools for most everything GitLab does. I don't see how jamming everything into one application makes it appealing.

I prefer GitHub's approach of allowing applications to deliver more information back into GitHub https://blog.github.com/2018-05-07-introducing-checks-api/ As the tooling we use becomes more complicated that will be the winning strategy.


GitHub is popular because it's popular. A lot of it is network effects. As far as I can remember, they were the first user-friendly git web host. (Key being user-friendly).

GitHub has also been really great at giving back to the community (in ways that even GitLab has benefited I'm sure).

But I doubt the source of their popularity is the integration, although their robust APIs have made the ecosystem around them flourish.


The integrations are specifically why I use Github. When I had been on Bitbucket projects a few years ago, I remember how deficient they were with integrations. It was painful using Bitbucket for that specific reason.


well they also did some cool stuff like electron and github desktop


It's true that they also make widgets, but the proportion of people who use GitHub because of their desktop client has to be vanishingly tiny. GitHub became popular originally because of pull requests. It stays popular because of network effects that counterbalance its deficiencies (terrible search, weak bug management, short analytics window, etc).


With GitLab, the convenience is just another option, though in my experience it's a very powerful option that will get you further, easier, than many of the alternatives. There's nobody saying you can't run your CI on Jenkins or Travis, or deploy to whatever, wherever. GitLab gives you some powerful options built-in, whereas GitHub _requires_ you to bring your own for many of those use cases.

Not to mention it's open source, so if you find something you need, you can actually contribute it to GitLab. Not that it won't be work for you, but it's an option beyond asking somebody to put it on their dev team's roadmap.


It is not open source. That’s a bullshit assertion. It’s open “core.” There is a difference. And, you can write custom integrations for Github.


The problem I’m facing at work is that we are trapped in the Red Queen Problem.

We grew our platform so fast that most of the core effort is about scalability, logging and reliability. Half the new stuff is bolted on by other teams and I can’t see this lasting.

Someday one of our competitors is going to have copied our best features without all of our baggage and then we are one bad PR incident away from losing customers.

Then we’ll spend a ton of our warchest on rewriting the whole thing and if the stars align the process will repeat. Assuming of course that nobody has spent it all on something stupid.


Thanks for sharing!

I've often pondered that effect before but never knew it had a name.

In my case I was thinking of AWS versus "newer" competitors like Google Cloud Platform and Azure. AWS has a lot of services and usually keeps them running and backwards compatible. Newer companies could avoid making the less successful services and copy or take inspiration from the most successful services.


The latter is the Innovator’s Dilemma.

Every bad decision my competitor made that I can identify ahead of time just narrows the gap.

This is why I favor execution excellence over cheap wins. If you can consistently introduce features quarter after quarter year after year, you can run down a competitor. And your sales guys can position the product with that story.

But it takes money and intestinal fortitude, and both are in short supply.


I think this is the price of being the first, there is the cost of decisions on uncharted territories. The next competitor if they are smart they will learn from any mistake you had made.


But it might be the same problem GitHub has now, which is why I mention it. Every feature on the backlog has to compete with some other plan to deal with the customers we already have, or employee retention. It’s hard to stay focused on customer facing concerns when you’re bleeding.


Is it? They just wish to lure folks from Github to Gitlab and hopefully one day have their own multi billion dollar exit.


To be fair, github hasn’t exactly been a beacon of innovation since introducing the “fork” button.

Personally I’d love to see any of these VCS servers differentiate themselves by integrating with sourcegraph and/or offering a better CR experience. Sadly it seems like the market doesn’t care much about either :(


Sourcegraph CEO here. The market does care, and there are a lot of companies using (and demanding) deeper Sourcegraph integration with code hosts, via things like our browser extension (https://about.sourcegraph.com/docs/features/browser-extensio...), Phabricator integration (https://about.sourcegraph.com/docs/features/phabricator-exte...), and built-in integrations.

We've been so busy and haven't published much more about it yet, but there are large tech companies using these to get Sourcegraph integration right inside their code hosts. The feedback from our customers is very, very positive on these.


"To be fair, github hasn’t exactly been a beacon of innovation since introducing the “fork” button."

It's source code hosting. How much innovation does it need?


Well, that’s also what people said before GitHub.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: