LWN.net Logo

Crowding out OpenBSD

Crowding out OpenBSD

Posted Nov 14, 2012 17:38 UTC (Wed) by sorpigal (subscriber, #36106)
Parent article: Crowding out OpenBSD

*BSD problems are, I think, a reflection of development model and culture. In Linux land we have the exact same issues, but it just doesn't look the same. In BSD land there are perhaps 4 major forks, in Linux land there are *HUNDREDS*, and developer attention for each individual one is quite limited.

The cultural difference is that when a BSD fork happens the tradition says that one subset of the old group gets access to the new fork, lose access to the original tree, and never talk again. When a Linux fork happens the tradition says that the persons who forked still have the same access to the original tree that they had before and, if they want to, can submit patches to the original tree.

Today you have RHEL kernels which are loosely based on Fedora kernels which are based on Linus kernels, more or less. But you also have Ubuntu kernels based on Debian kernels based on Linus kernels, more or less. The kernel teams for each distribution, except RH, are likely smaller than the kernel team for OpenBSD, but the forks are *very small* because tradition says we put upstream as much as we can, whatever can be agreed on, even if it takes a lot of pain for many years. Imagine if the people working on grsec or realtime had to write all the drivers, schedulers, and filesystems instead of just rebasing against a common core; the difference in effort required is enormous.

If the BSDs had operated this way they'd still have a "main" core being fed by a half dozen sub-projects, even if the sub-project differences were quite large, just as Linux has the realtime fork, distro forks, etc. Now that we have git, which seems to have been designed to facilitate a process that the BSD folks don't remotely follow, the whole "many forks, one core" approach works even better and the pace of the fork-experiment-pullrequest-reject-hack-pullrequest-merge loop has gotten faster.


(Log in to post comments)

Crowding out OpenBSD

Posted Nov 14, 2012 17:55 UTC (Wed) by rsidd (subscriber, #2582) [Link]

The cultural difference is that when a BSD fork happens the tradition says that one subset of the old group gets access to the new fork, lose access to the original tree, and never talk again. When a Linux fork happens the tradition says that the persons who forked still have the same access to the original tree that they had before and, if they want to, can submit patches to the original tree.

Not true. In the two most recent forks developers first lost access to the original tree (Theo de Raadt for NetBSD, and Matt Dillon for FreeBSD), and then started their forks (OpenBSD and DragonFly respectively). And these forks are respectively 17 and 9 years old, so it's not like this happens on a constant basis. And at least in the case of FreeBSD and DragonFly, plenty of developers worked (and still work) on both projects.

Crowding out OpenBSD

Posted Nov 14, 2012 20:28 UTC (Wed) by sorpigal (subscriber, #36106) [Link]

> In the two most recent forks developers first lost access to the original tree
The sequence isn't the important part of what I was getting at. That said, have there been any cases of Linux developers who have been blacklisted to the point where their patches are refused out of hand?

> And at least in the case of FreeBSD and DragonFly, plenty of developers worked (and still work) on both projects.
After I re-read what I posted I knew someone would call me out on this. What I mean is that after the fork the two things are thought of as separate and worked in separately, which is very different from the thinking of Linux forks, even ones which are large and have existed for many years. There's still the common tree.

Crowding out OpenBSD

Posted Nov 14, 2012 22:01 UTC (Wed) by man_ls (subscriber, #15091) [Link]

The sequence isn't the important part of what I was getting at. That said, have there been any cases of Linux developers who have been blacklisted to the point where their patches are refused out of hand?
Con Kolivas? After he was accused of not paying attention to bug reports and regressions. He must be the exception that proves the rule... ducks and makes for the door.

Crowding out OpenBSD

Posted Nov 15, 2012 3:16 UTC (Thu) by nix (subscriber, #2304) [Link]

IIRC there were several, in glibc. Of course that's changed now.

Crowding out OpenBSD

Posted Nov 15, 2012 3:48 UTC (Thu) by rsidd (subscriber, #2582) [Link]

Matt Dillon was never blacklisted. His commit rights were revoked. That means he could not directly commit to the FreeBSD tree (CVS in those days) and would have had to give them to a committer. There is no such concept in the Linux kernel -- only Linus can commit to his tree and he has a human tree that feeds him patches. In other words, Matt was in the same situation as every other Linux developer other than Linus -- except that he could have submitted his patches to multiple people if he chose.

The reason this was done, reportedly, was that he was not following the rules and was treading on too many toes. (Incidentally, his rights had been removed once before, and restored; this time it was permanent.) I don't know the merits of this claim, but obviously when you have a centralised repository you need to play nice with others. One could say that this is a merit of the Linux model. Indeed, Matt's DragonFly BSD project now uses git for source control -- which is a testament to the success of Linus's style, since git was written by Linus for his exact requirements.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds