https://about.gitlab.com/blog/2020/04/14/github-free-for-tea...
My grand-boss might love the idea but the fact that GitHub is missing time tracking is a blessing as a developer.
Making developers track their time is hostile. Development is not something you should clock in and out of. A time-box in JIRA or GitHub shouldn't replace management being aware of what their team(s) are working on and how their progress is.
It too often turns into a stick to beat developers with.
There are all kinds of better metrics by which to hold developers accountable. Tracking time just puts developers off from improving code or refactoring. If you write bad code it's not your time that suffers, it's the next developer who has to work on that section.
More often than not, I use time tracking to manage Sr Executives, and business partners, not developers. It may be invisible to most developers, but your executive probably has to fight for the budget that is funding your work on a regular basis. Having a pie chart that shows where time is spent is a great tool to convince your business partners that they can't cut everything but new feature development. It's sad how often I have to have this conversation.
Don't get me wrong, there are bad bosses, but there are many good uses of information like time tracking that may be invisible to the average developer.
The only real complaint I have is about the Auto DevOps feature you released. We're currently using this for a number of smaller projects, and we've found the documentation around customizing deployments severely lacking. We ended up just reading through the Auto DevOps repository since it was clearer and more complete than any online documentation, which eventually allowed us to work through all of the issues we were having.
Other than that, it has been a wonderful experience. Thanks for a great product!
Also, you may want to point out that GitLab only offers annual billing, so the minimum charge on GitLab is $48. Some of my hobby projects only run a couple of months, so GitHub is the better choice.
I use both for work - and gitlab by preference:
* On the whole they are now close enough that I don't worry about the choice
* Both are slow. Silly slow. A 2 second target for page loads is horrific. Jumping around a file structure and exploring blame is really really painful; but 90% of the time I'm on the pipelines page and its so so so slow. Its actually faster for me to have my pipelines webhook a private server for a faster dash.
* GitLab is better for CI/CD. Easier, more sensible. I use it all the time; I set new clients up on it.
* Gitlab is better for k8's - several clients use it and love it.
* Search sucks on them both. They both give a paginated list when what I always want is a place in repo / filetype / etc. filter, post initial search (i.e, I'm looking for loadModule in webpack, I want to ignore tests (when I didn't know which was the test folder before searching), and jump between definition and usage, as well as find out if there is any documentation. Its not worth doing each individually. I want all at once)
* API's are really slow. GitLab is probably worse here. My default webpage (localhost home page) is a dashboard of quick links and widgets. One of those widgets shows my failing pipelines. It takes 6 seconds on a good day. I bypassed it (as above) to let me be more responsive. I didn't have to bother bypassing it w/GitHub
* On my NAS I maintain images of GitLab hosts and backups of all my repos. I have an image of the self-hosted gitlab we had at a previous (it closed) company. Being able to fall back to self-hosted is the oft-touted godsend, but being able to restart a retired self-hosted has literally made me and the others involved several thousand each (twice old clients have wanted a one off job. GitLab is the core of testing and deploying infrastructure).
That being said I've been using GitLab for a several years.
Right now is a perfect example of why I use GitLab. I just started a role, and I'm working to improving pull request and CI/CD visibility. This is automatically baked into GitLab. To the point I just copy a template for all my projects. But now I'm writing a bunch of custom integrations, and talking to a number of different third party services. Even with all the extra work it feels less polished than GitLab.
With Kubernetes, Serverless, and prometheus metrics integration. Gitlab hand's down provides the best visibility into a release or sprint from what I've seen. There are pain points, but I have very little in the way of complaints.
You guys have also been great for the open source community. I got a Gold open source license and am using it for a number of projects.
I've converted a number of people to GitLab, now we just need to find places that will let us use it.
Also, this topic is about the article linked, not about your survey.
As feedback, I would say Github is a better company since it doesn't sink this low on their tactics. They just focus on making their product better.
That said I can't help recalling the last time the topic came up, seven months ago even then it was old-news:
https://news.ycombinator.com/item?id=20995889
If the site hasn't gotten faster in the past year I think it is obvious that this is not a priority in any real sense. Despite claims to the contrary.
Gitlab has a great core-offering, the gitlab runners were wonderful when they came out. But it seems like new features are constantly being piled on top of each release, (time tracking?!) when it might benefit users to step back a little bit and focus upon the core.
I can only assume developers get recognition by new-features, not core-improvements.
Of course you can self-host and configure your own Sourgraph installation, but that's a bit more work.
[0] https://forum.gitlab.com/t/search-code-across-all-projects/2...
And to make it worse, paging is extremely slow, so it could take an hour of paging into the middle of the list to find the name of the image you're looking for. Even if the image was uploaded 1 minute ago it could be in the middle page.
Thankfully I don't have to do this very often, but it's a horrible experience when needed.
For similar reasons deleting unneeded images takes forever and is not feasible.
My work uses Github and has all the repos hosted there. I tried to start using Github Actions (or whatever it is called?) about a month ago, and just couldn't make sense of it.. does it provision servers from Docker images/docker-compose files? or is it only a "carcass" where I have to add an additional server? can I do everything "as code" or do I have to mingle with the web console ?
After spending about 2 hours tinkering I gave up.
Microsoft bought Github in part to get developer mindshare, just like VSCode, and WSL, and a ton of other great efforts have.
They literally quote Nadella saying this on an earnings call!
If Occam's razor and the money line up, why does this have to be some secret attempt to beat Gitlab?
I think you are right, and Microsoft is after winning developers, not fighting with Gitlab.
I think this is a winning strategy and we will see even more moves in this direction. Probably more acquisitions, more open sourcing products, more free stuff, more cross platform tools targeted at developers.
A developer by himself doesn't have much decision power, but if more developers prefer something, companies will follow and use Microsoft's products.
Compare to Oracle. When Sun had been trying to win mindshare with OpenSolaris, what did Oracle do? It killed it. It also effectively killed any chance of winning that mindshare. I'm still salty about that.
Open source is a business tool. A tool for building trust and mindshare.
It seems those are proposals (or at best commitments) for things to be open sourced in future versions rather than things that actually are available as open source already? Could you clarify please?
They are commitments. Each feature has its own issue for the engineering effort behind moving it to Core with various milestones based on team capacity and complexity of the move.
You can track each with the table in the post that relates the feature to “GitLab issue” that represents the move.
This means that for npm, Maven, NuGet, Conan and any future formats, you will be able to:
- Establish GitLab as a private repository - Authenticate using your GitLab credentials, personal access or job token - Publish packages to GitLab - Pull packages from GitLab - Search for packages hosted on GitLab - Access an easy-to-use UI that displays package details and metadata and allows you to download any relevant files
It does take a bit of work to migrate the code. We are currently investigating what work is required and will have a better sense of timing once the investigation is complete. We are hoping to have this complete in the next few months.
You can follow along in the issue here: https://gitlab.com/groups/gitlab-org/-/epics/2867.
I put up with GitLab's slow interface, relatively poor UX, and relative lack of community because I wanted a trustworthy product that respected the privacy and security of my critical tooling and to support a company with a benign business model.
After the tracking debacle a few months ago, it became clear to me that GitLab isn't trustworthy. They're looking for an acquisition, maybe an IPO, and exploiting users (and even on-prem customers!) is clearly going to be part of that game plan.
So why stick with the crappier alternative? If I'm getting sold out either way, I might as well use the superior product.
Maybe I could be convinced to switch back, though. @sytse did you fire Paul Machle yet? If not, then obviously Paul was merely taking the heat for doing what you want, and there is just no way I can ever trust GitLab.
EDIT: Nope, looks like that goober is still the CFO: https://gitlab.com/pmachle . Oh well, bye bye GitLab! I hope you die and make some more room for SourceHut. :)
Could you elaborate?
In what way are you aware that Gitlab is:
- seeking acquisition (makes sense that they would, I am just seeking some evidence to confirm the suspicion). To be fair, a large part of why I use GitLab is because it is not owned by Microsoft. Hence I am interested in whether or not GitLab will stay independent or "sell out". Certainly I'd lean on the latter, but again, seeking evidence of any planning on their part to seek acquisition.
- exploiting users (or how it would be part of the "game plan" -- I can see exploiting user data they've gathered while users use their free service... but that's capitalism. Is there any other way they currently or might in the future exploit users?)
You can host NPM registries in your GitLab projects. https://docs.gitlab.com/ee/user/packages/npm_registry/
Moving to Core (free AND open source) soon along with 17 other features: https://about.gitlab.com/blog/2020/03/30/new-features-to-cor...
As for the UI being unintuitive, I'm sorry to hear that. Everyone has different UI preferences so it's understandable. If you want, we're holding a competition right now [2] for anyone who writes a review of GitLab vs GitHub if there are any specific features within GitHub's UI that you like better!
[1] https://about.gitlab.com/handbook/engineering/performance/
[2] https://about.gitlab.com/blog/2020/04/14/github-free-for-tea...
It does get complicated when you start adding kubernetes clusters and more of the Gitlab gold features, but even then I think its well managed.
As far as speed goes, it is slower than GitHub, but has gotten a lot better over the last year. Just browsing around right now it loads within 1 second for pretty much anything besides pull requests.
Even if you're not interested in using Gitlab yourself, the competition and user migrations are clearly turning Github into a better service. You benefit from Microsoft's need to court those users, even if you never touch Gitlab.
Just take the newly reduced prices and free features in your favorite service and be happy.
Another thing is better branch protection, more granular branch merging and review policies.
That's just from the top of my head.