In a recent post tech writer Sean Michael Kerner advocated moving the kernel to Github. Here’s why I think the evidence isn’t so clear cut. Note this is my personal opinion, since I’m not a member of the kernel developer community and thus have no real say in the matter.
Kerner writes, for example, “Having Linux on Github also means that Linux benefit[s] from the security, management and infrastructure that Github already has.”
While Github may be a fine service (I don’t use it so I can’t say one way or the other), it’s also a commercial service. Github has no incentive to report security problems, whereas kernel.org is run in a more transparent fashion. Even though the kernel.org administrators were unaware of the attack for some time, once they did discover it, they acted quickly and with full disclosure to the community. That transparency is an important part of the open source process, and it cannot be automatically expected from Github — which makes moving the kernel project there a non-starter for the community as far as I can tell.
That’s completely aside from there being no factual information on which to base any assertion of Github’s level of security. Github may have a fine security record, or perhaps it’s not spotless. Without any transparency in the management of the system there’s no way to tell. One can’t definitively say things would be better there than on kernel.org, so part of the reasoning for a change doesn’t hold water.
He also argues that the interface on Github makes the code easier to browse and work with for normal humans. My question is, how many normal humans really work on the kernel? And maybe another question is, how many normal humans do we want working on the kernel? I’m really happy that the people who work on the kernel are crazy space aliens with ten fingers on each hand and three extra brains where most normal humans have a left lung. Well OK, maybe that’s an exaggeration, but they do all seem to be somewhat beyond human when it comes to dealing with the minutiae needed to understand, write, and fix kernel code. So again, I don’t see how a move is necessary or helpful.
Regardless, I’m glad people are interested in the security of the kernel. What’s great is that Linus and friends built exceptional security right into git itself. Because every object, every commit, and every step in the history of the repository is represented by a cumulative cryptographic one-way hash, it’s about as easy to insert bad stuff into the kernel as it would be to suck the entire atmosphere of your office building into the next one over with a soda straw.
As long as websites have visibility or high profiles, they’ll be targets for evil system crackers. (By the way, boo hiss to the ones responsible for the evildoing in this case.) Moving from one place to another doesn’t mean cracking attempts would stop. The only thing I can see happening is that the kernel community would have less insight into their security footprint. I believe you need better reasons to move a big FOSS project somewhere other than the place you’ve accumulated thousands of contributors, and I just don’t see those reasons in Kerner’s post.
Disclosure: I’ve met Sean Michael Kerner, have spoken to him on many occasions, and find him to be a good writer and a nice human being. So this post in no way impinges on his professional standing. I sometimes agree with him, but not in the case of this particular article.