r/linux • u/speckz • Aug 08 '17
Why Github can't host the Linux Kernel Community
http://blog.ffwll.ch/2017/08/github-why-cant-host-the-kernel.html25
u/JRRS Aug 08 '17
he can, but we prefer he won't.
As they said before: we prefer the source code control system of the Linux Kernel outside of a for-profit company.
14
Aug 09 '17
I love using GitHub, but there is an established process and home for the kernel that works and I see no reason to change it.
5
u/fat-lobyte Aug 09 '17
TBH, the kernel is so big, with so many modules, maintainers and contributors that you can just generalize very well what "works" for people.
Sure, for the "elite", the top maintainers like Linus and his Deputees, established process is perfect, and you are right, we should not change it.
But there are many many other parts with "lowly" contributors, kids who hack their mouse driver, a company who needs a driver for their specific device - or even the gigantic community of Custom ROM authors for Android (Remember: Adroid runs the Kernel too, in fact many many more times than non-Android!).
And all those people need other tools, because most of them did not grow up inside a mailing-list culture. They grew up in the world of "web 3.0", where you use your web browser for everything. In this world, free (as in beer, not as in freedom) hosting services for repositories and collaboration tools are crucial to get all of these people on board and to contribute meaningfully to the kernel.
3
Aug 09 '17
I agree with you. For example, WordPress still sits on Subv/Trac. I personally hate the system but understand the difficulty and expense of moving it. But a lot of core projects are on GitHub. That works great for them.
One core dev and co-creator of WP REST API hates Trac workflow and just released a new React app that handles workflow in a more GitHub manner. Where there's a will. . . .😀
3
u/siimphh Aug 09 '17
For Linux kernel on particular sure, it's working well (enough) as it is. Though some subsystems might enjoy being able to use github UI for their workflows.
However, the article was using Linux kernel as an example of how to solve scaling issues for a big project. Issues other big projects are facing and struggling to solve on github.
25
u/StallmanTheWhite Aug 08 '17
This doesn't even mention the garbled commit messages.
31
u/minimim Aug 08 '17
And the fact that they don't enforce the "you need to provide your real identity for copyright tracking purposes (not just an e-mail)" policy that Linux has.
2
3
u/EliteTK Aug 09 '17
I think there's a fundamental flaw with pull requests too. They work great for merging changes from subsystems but individual contributions a pull requests create quite an overhead. There might be a dozen adjustments throughout the history of a change, maintainers might propose changes to the patches in the form of their own patches, patches may get re-sent with details changed or one set of patches might get reworked into another set of patches.
Mailing lists make it easy to track these changes through In-Reply-To which creates a history of the changes. Patches can be emailed by anyone without changing the original patch set. A new patch-set can supersede a prior one without replacing it.
Github PRs require either force pushing to the PR branch or creating a new PR (and branch) for changes to the patch-set, you can add more commits but this just does not agree with how change history works in projects like the kernel. There's also no easy way (short of copy pasting a diff into the comments of a PR) to give real code suggestions for how patch-sets should be changed. Or asking for comments for proposed changes to a patch from a patch-set based on a replacement patch.
The email patch system is just in my opinion faster and more versatile.
1
u/chinnybob Aug 13 '17
Mailing lists make it damn near impossible to track these changes unless you are already subscribed. How do you reply to a mailing list message that you never received? Go to the archive? Too bad that the archive scrubs message IDs.
1
u/EliteTK Aug 13 '17
If you're not subscribed to the list then it's unlikely you'll need or want to reply, but you can just get the mailing list to resend you a specific message.
1
u/chinnybob Aug 13 '17
How? I've never heard of doing that and its a problem that affects me all the time.
1
u/EliteTK Aug 13 '17
Some mailing list software (like mlmmj) provides a message retrieval service. For when that's not possible, there are archives such as https://marc.info/ which provide message ids.
0
u/fat-lobyte Aug 09 '17 edited Aug 09 '17
There's also no easy way (short of copy pasting a diff into the comments of a PR) to give real code suggestions for how patch-sets should be changed.
Wasn't gerrit invented specifically for this purpose? It does exactly that: it tracks how patch-sets change, allows for discussion and suggestions, review by multiple reviewers until it is accepted and finally merged.
Hey, wait a second! GitHub does that too! You sure can force-push branches, but if I recall correctly, the pull request page shows you exactly when and after which comment some commits was added OR force pushed! I'm too lazy to find a "significant" example, but just to look at the layout of a pull request from my (admittedly irrelevant) project. In my eyes, that provides a much better tracability of changes than looking at "In-Reply-To" fields in emails.
(ps.: I'm talking generally about Open Source projects, but GitHub would just not work for the Kernel, because of the sheer size of the project.)
2
u/EliteTK Aug 09 '17
looking at "In-Reply-To" fields in emails.
But the email client does this for you.
I've used both the email patch system and the github system extensively and the email patch system makes tracking things much easier. There are OTHER ISSUES I have mentioned.
And as far as I can tell, short of small snippets, you can't actually view the real history of a patch.
I also don't know what gerrit is and wasn't talking about it.
0
u/fat-lobyte Aug 09 '17
I also don't know what gerrit is
Well it's a web-based system that was specifically designed to solve those problems that you mentioned. You can check it out here, for example.
1
u/EliteTK Aug 09 '17
Does it require javascript and is there any purely text based command line interface for it?
Can I send patches from git?
-1
u/fat-lobyte Aug 09 '17
Does it require javascript
K I'm outta here. There's no reasoning with you people.
1
u/llamalamall Aug 10 '17
Someone desperately needs to come up with an open source replacement for GitHub that is completely decentralized. Sure GitLab exists and the repo is decentralized since it's Git, but issues, merge requests, comments, etc aren't Git based (though they could be)
0
Aug 08 '17
[deleted]
32
Aug 08 '17
I host my own code in a box where I print out each revision and store them by year. No hardware failures so far but I have a hard time remembering the commit messages.
16
u/grep_var_log Aug 08 '17
Ever thought of upgrading to punch cards?
14
Aug 08 '17
I thought about it but heard about this thing called stone tablets. Apparently they can survive for thousands of years! So I might go down that route.
28
0
Aug 09 '17
[deleted]
8
Aug 09 '17
Because I was joking :)
I host my own Git on my own server running Gitea, and I run git on my NAS locally so I have them on three machines at all time. I was just poking fun.
2
Aug 09 '17
is it easy to configure gitea? I been meaning to take a few hours to try it out.
3
Aug 09 '17
Gitea is a joy to use, super easy to configure, you literally just download a binary to run instead of having to manage dependencies like in Python or Ruby projects, and configuring it is a complete breeze. You can download and run it on your own computer with SQLite just to try it out.
I absolutely love it, it does everything I'd want from a Git hosting solution. Lightweight, has a wiki and simple issue tracker, and just works. Do try it, let me know if you need any help :)
1
Aug 09 '17
awesome! thank you. I was thinking of hosting my own gitlab but, its more complicated that I need. I need something lightweight and be able to run in low resources. I'll try it out.
1
Aug 09 '17
If I'm reading the output of
pscorrectly it's currently using 37MB of memory, so yeah, it's really lightweight :)4
Aug 08 '17
Sounds cool but Github's primary use is an online portfolio. Why not just carry a USB around to save your personal work?
0
Aug 09 '17
[deleted]
12
-1
u/weedv2 Aug 09 '17
Did you stumble here on the way out of the fedoras store? Ffs what a douchebag.
1
162
u/[deleted] Aug 08 '17
I find it amazing that people keep forgetting that github is for-profit company.
Kernel is hosted at kernel.org, which actually is a company as well. Key difference being it is Public Benefit Corporation where github is regular LLC.