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=...
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. :)
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.
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!
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.
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.
But I wouldn't say at all that it's the result of stagnation as a result of abandonment -- rather, it's intentional selection.
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).
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...
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.
> 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.
Care to disclose something?
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.
Contrary to that there is no gain for me to be a privacy advocate.
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.
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.
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)
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 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.
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.
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.
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.
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.
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 :(
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.
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.