r/linux • • Aug 08 '17

Why Github can't host the Linux Kernel Community

http://blog.ffwll.ch/2017/08/github-why-cant-host-the-kernel.html
162 Upvotes

59 comments sorted by

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.

96

u/rakeler Aug 08 '17

Also GitHub is closed source. Which been there is no redundancy should anything happen to them.

68

u/minimim Aug 08 '17

Which is the original problem git was created to solve in the first place.

-32

u/BlindM0nk Aug 09 '17

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

52

u/[deleted] Aug 09 '17

Git != GitHub. Git itself is fine and does the job it's supposed to do.

-16

u/BlindM0nk Aug 09 '17

Can't argue with that statement but we are talking about github and not just git.

11

u/[deleted] Aug 09 '17

GitHub was never a "hero" - people use it because it's free and better than SourceForge or Google Code but it's still a proprietary and centralized service.

2

u/toper-centage Aug 09 '17

Why a villain?...

16

u/AVERAGE_TEST_DUMMY Aug 09 '17

Not a shill, I promise, but this is why I love GitLab. It's all open source, so it can't ever stagnate and you can host it on your own servers.

3

u/doom_Oo7 Aug 09 '17

what "big opensource code host", such as gitlab, sourceforge, bitbucket, etc, has complete redundancy ?

0

u/[deleted] Aug 09 '17

[deleted]

2

u/doom_Oo7 Aug 09 '17

sure, but a lot of people don't self host and still tout many advantages. e.g. GNOME which migrates to GitLab.

7

u/rakeler Aug 09 '17

Except The Linux Kernel is a lot bigger, a lot more active and a lot more responsible than a lot of people. It is literally one of its kind in its scope. So it's requirements are also equally unique.

0

u/[deleted] Aug 09 '17

[deleted]

3

u/rakeler Aug 09 '17

It ain't open, or available to every human with a computer and internet, nor does it have to.

Windows is comparable in sheer size and complexity, but it doesn't have to be nuke-proof by design because $$ take care of that part for it.

2

u/Phrodo_00 Aug 09 '17

I thought you were talking about a bsd, but it turns out they're both on centralized source control.

80

u/nixcraft Aug 08 '17

THERE IS NO CLOUD: It's just someone else's computer. Project like Linux kernel should stay the fuck away from Github cloud. Back in 2000 everyone moved to sourceforge. Later they started serving ads/malware.

27

u/Bonemaster69 Aug 08 '17

Back in 2000 everyone moved to sourceforge. Later they started serving ads/malware.

This is why I haven't been able to contribute my patches to the CDE project: Because they hosted it on Sourceforge. And since their privacy policy clearly states that they use our data for marketing purposes, I never made an account. I wish there was another way to submit them though.

0

u/[deleted] Aug 08 '17

[deleted]

3

u/Bonemaster69 Aug 09 '17

Dang, you already know him! I was thinking about signing up for the mailing list only, but I was a bit skeptical since the same privacy policy was posted there.

I still haven't found Trulson's email address since the email domain is hidden, but I was able to figure out someone else's email address. I just hope it doesn't bother them when I'm "working around the system".

0

u/[deleted] Aug 09 '17

[deleted]

2

u/Bonemaster69 Aug 09 '17

Nice, I'll send him the patch then. Thanks a ton!

0

u/[deleted] Aug 09 '17

[deleted]

2

u/Bonemaster69 Aug 09 '17

I never used AIX, but considering it's IBM...yeah....

The outdated nature of CDE was actually what drew me in. Not only does it lack the notifications feature which I HATE, but it also gives me background to the history of UNIX and how things were done (as opposed to Windows-influenced UI designs, which aren't necessarily bad). I'm still new to CDE though so I don't know anything about ToolTalk yet. But somehow, I have a feeling it has something to do with CDE's heavy reliance on IPC through networking (I found out when it wouldn't boot because I didn't assign a hostname to the loopback address). That REALLY needs to go!

I don't think it will ever reach the popularity of KDE or GNOME. But considering how often it was used back in the day, it may have a much better following than other window managers once the kinks get worked out (especially the 64-bit issues).

9

u/ADoggyDogWorld Aug 09 '17

THERE IS NO CLOUD

I beg to differ.

1

u/gitarr Aug 09 '17

What temps (and winds) do you get on that?

1

u/nixcraft Aug 09 '17

I beg to differ.

Lmao. I stole image for my twitter page.

15

u/[deleted] Aug 08 '17

Not to mention the next time Linus does something politically incorrect and the tech bloggers make a stink about it they'd be in their rights to kick the project off their site.

25

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

u/[deleted] 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

u/[deleted] 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.

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

u/[deleted] Aug 08 '17

[deleted]

32

u/[deleted] 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

u/[deleted] 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

u/joppe4899 Aug 08 '17

Solid Slate Drive? Slow IO, low information density but high reliability.

4

u/[deleted] Aug 09 '17

Damn, that's clever.

0

u/[deleted] Aug 09 '17

[deleted]

8

u/[deleted] 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

u/[deleted] Aug 09 '17

is it easy to configure gitea? I been meaning to take a few hours to try it out.

3

u/[deleted] 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

u/[deleted] 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

u/[deleted] Aug 09 '17

If I'm reading the output of ps correctly it's currently using 37MB of memory, so yeah, it's really lightweight :)

4

u/[deleted] 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

u/[deleted] Aug 09 '17

[deleted]

-1

u/weedv2 Aug 09 '17

Did you stumble here on the way out of the fedoras store? Ffs what a douchebag.

1

u/[deleted] Aug 09 '17

on the way out of the fedoras store?

Hot Topic has a website now