LWN.net Logo

Crowding out OpenBSD

Crowding out OpenBSD

Posted Nov 14, 2012 0:45 UTC (Wed) by smurf (subscriber, #17840)
Parent article: Crowding out OpenBSD

There's two rather simple reasons the BSDs can't compute with Linux.

One: There are (at least) three of them.

The BSDs, or rather their coders, spent a lot of time on one-upmanship, internal divisiveness, and whatnot. That effort could have been spent on improving one single code base.

Two: Linux is just a kernel. The BSDs are a whole distribution.

Linux kernel people concentrate on the kernel and let others worry about userland. BSD people do it all by themselves, so their efforts are spread more thinly.

No wonder that they fell behind.

NB: There may be a third reason. Licensing. But I don't want this discussion to turn into yet another GPL-vs.-BSD flame fest.


(Log in to post comments)

Crowding out OpenBSD

Posted Nov 14, 2012 4:24 UTC (Wed) by felixfix (subscriber, #242) [Link]

While I like the idea in general of the more kernels, the merrier, part of me can't help but feel that the BSD groups are reaping what they sowed. BSD split for various reasons which seemed more related to being "pure", so to speak, than to fundamental incompatibilities, preferring to be kings of their small ponds rather than working together. Noble in some ways, petty in others. To be jealous (if that is the right word) of Linux, or upset that it's grabbing the lion's share of developer attention, seems more like they are getting what they asked for.

I have a hard time visualizing any of the BSDs being happy at all the changes made in the Linux universe. I rather think they'd turn up their noses and reject the impurities.

I have no personal experience with developers in any camp. But the squabbles from the various BSDs all seemed far more petty and even snobbish, so again, they seem to have what they wanted, and if they don't want it now, maybe it's not too late to be more open to each other. The first step would seem to be unifying the BSD variants, but I don't imagine that's a particularly easy job, either politically or code-wise.

Or maybe the BSD folks are happy in their small camps. It's their code, their choice.

Crowding out OpenBSD

Posted Nov 14, 2012 8:30 UTC (Wed) by marcH (subscriber, #57642) [Link]

> NB: There may be a third reason. Licensing. But I don't want this discussion to turn into yet another GPL-vs.-BSD flame fest.

OK, I'll do it.

BSD licenses are just too generous. BSD-licensed projects give all their code away to all other projects (GPL and not) while not being able to take code from anywhere. Where can this go?

While this will _obviously never happen_, if one BSD project were to switch their license to GPL then they could start cherry-picking all the pieces they need from Linux, "upgrade" them to their supposedly superior technical standards and save themselves from obsolescence. The whole public would benefit.

Crowding out OpenBSD

Posted Nov 14, 2012 10:10 UTC (Wed) by Lennie (subscriber, #49641) [Link]

That is a silly idea, many BSD developers specifically choose to go with BSD because they don't like the GPL license.

It's probably easier for Linux developers to take code from BSD.

And even that doesn't happen as often as you'd expect.

I wouldn't be surprised if in the Linux kernel there are more "shared development" drivers with FreeBSD (a driver that has a BSD-license or dual license and development on on the same code happend by Linux developers in the Linux kernel and FreeBSD developers on FreeBSD) than BSD-code that was copied.

Crowding out OpenBSD

Posted Nov 14, 2012 10:17 UTC (Wed) by ortalo (subscriber, #4654) [Link]

One amusing thing is the fact that, currently, I think the BSDs are lacking *paid* developpers, while Linux has (never) enough.
It's astonishing to see that, currently, the licenses used have the opposite of their (supposed) effect.

At the beginning of the eighties, it was opposite (the BSD trial not withstanding). BSD4.4 was surviving via Sun and BSD Inc. thanks to paid development (allowed by the BSDL); while Linux was entirely relying on free or students time.

Crowding out OpenBSD

Posted Nov 14, 2012 13:32 UTC (Wed) by marcH (subscriber, #57642) [Link]

I think this is about GPL project(s) reaching a critical mass.

Companies obviously prefer BSD... until the competing GPL project(s) become so successful they can't avoid it any more.

Every time a company exerts its short term BSD right not to contribute back they indirectly help the GPL competition if any. And since companies' "vision" never sees further than a couple of years...

Crowding out OpenBSD

Posted Nov 14, 2012 16:52 UTC (Wed) by rgmoore (subscriber, #75) [Link]

I'm not sure that companies do prefer BSD licensing. BSD licensing is great if your goal is to make something popular to gain networking effects (e.g. media codecs) or if you're a big player and want to be able to build proprietary systems off the code base. But the GPL seems to be better for the case where you have lots of companies involved, none of which is big enough to dominate the market. The enforced share and share alike provisions of the GPL give companies the reassurance that they aren't going to be taken advantage of by a competitor who uses their contributions while keeping their own improvements proprietary.

Crowding out OpenBSD

Posted Dec 5, 2012 8:23 UTC (Wed) by hummassa (subscriber, #307) [Link]

The primary examples here being Apple and Google, you really outperform the sum of all counter examples...

Crowding out OpenBSD

Posted Nov 16, 2012 15:07 UTC (Fri) by smurf (subscriber, #17840) [Link]

> until the competing GPL project(s) become so successful they can't avoid it any more.

Unless you're Google. Cf. the largish parts of Linux infrastructure that were rewrittten to be without GPL in Android.

Crowding out OpenBSD

Posted Nov 14, 2012 15:41 UTC (Wed) by ortalo (subscriber, #4654) [Link]

s/eighties/nineties/

Crowding out OpenBSD

Posted Nov 14, 2012 20:50 UTC (Wed) by Richard_J_Neill (subscriber, #23093) [Link]

You're right that BSD code can be relicensed as GPL, and not vice-versa. But usually when a GPL-minded developer takes significant inspiration from a BSD program, he will either make the whole thing BSD-licensed, or push back his changes under dual-license.

Crowding out OpenBSD

Posted Nov 14, 2012 21:03 UTC (Wed) by dlang (✭ supporter ✭, #313) [Link]

usually, but not always (and the BSD crowd really howl when it happens, they are fine with people taking their code and putting it in proprietary codebases, but release it under a GPL license, and just wait for the explosion)

Crowding out OpenBSD

Posted Dec 5, 2012 1:16 UTC (Wed) by trasz (guest, #45786) [Link]

It's simply because commercial vendors using BSD often give something back, and GPL projects don't.

Crowding out OpenBSD

Posted Dec 5, 2012 3:56 UTC (Wed) by rahulsundaram (subscriber, #21946) [Link]

That's a gross over-generalization. There is some amount of hypocrisy about BSD licensed projects complaining about not giving back as well.

Crowding out OpenBSD

Posted Dec 5, 2012 10:14 UTC (Wed) by man_ls (subscriber, #15091) [Link]

Given that commercial vendors using GPL always give something back, not often, then I would say the GPL is better designed than BSD licenses. BSD is designed so GPL projects have the freedom not to give back, and they sometimes (not always) exercise it. Why complain?

Crowding out OpenBSD

Posted Dec 5, 2012 10:44 UTC (Wed) by njwhite (subscriber, #51848) [Link]

> commercial vendors using GPL always give something back

Yes, but what they give is very frequently not useful. I'd argue that a culture of contribution to a common core is much more important than the legal requirement, overall. Also GPL is often sidestepped so that the actual useful stuff isn't shared anyway, even when it probably should be (c.f. kernel modules).

Crowding out OpenBSD

Posted Dec 5, 2012 10:54 UTC (Wed) by man_ls (subscriber, #15091) [Link]

History says otherwise. A few notable examples:
  • Apple has a long culture of non-contribution (they created their own C compiler to avoid GCC's license), but still they adopted KTHML as WebKit and have been improving it all along, even when their mortal enemy Google adopted it too.
  • Many companies that were previously averse to GPL code (and Free software in general) are now contributing actively to the Linux kernel. Just in the 3.7 kernel we find Oracle, AMD (previously ATI), Marvell or Cisco.
For every Nvidia there are many Apples.

Crowding out OpenBSD

Posted Dec 5, 2012 12:38 UTC (Wed) by njwhite (subscriber, #51848) [Link]

True, the kernel is a pretty strong counterexample. And the requirement to contribute back probably can be a good way of getting good cultures set up, telling a manager "we have to make the code available anyway, we may as well work upstream" is probably helpful.

Crowding out OpenBSD

Posted Dec 5, 2012 11:27 UTC (Wed) by trasz (guest, #45786) [Link]

Commercial vendors using GPL always give back, because if they don't want to give back, they don't use GPL software. So, with both BSD and GPL, commercial vendors give back only when they want to; the difference is that with BSD, they can still use the software.

And the complaint is because commercial vendors _do_ give back to BSD projects, either the code, or money, as donations or salaries. GPL projects reusing BSD code very rarely contribute anything back.

Crowding out OpenBSD

Posted Dec 5, 2012 16:11 UTC (Wed) by nix (subscriber, #2304) [Link]

Er, you can still use GPLed software without giving anything back. What you can't do is redistribute it.

Crowding out OpenBSD

Posted Dec 5, 2012 22:45 UTC (Wed) by marcH (subscriber, #57642) [Link]

> And the complaint is because commercial vendors _do_ give back to BSD projects, either the code, or money, as donations or salaries.

Sure some do. Most of them? [reference needed]

> GPL projects reusing BSD code very rarely contribute anything back.

... to the original, BSD-licensed project.

GPL projects "merely" contribute back to *any* person or company not allergic to the GPL, for free. Not as generous as the BSD license but much more generous than no contribution at all.

Crowding out OpenBSD

Posted Dec 6, 2012 1:13 UTC (Thu) by raven667 (subscriber, #5198) [Link]

>> GPL projects reusing BSD code very rarely contribute anything back.
>... to the original, BSD-licensed project.

That seems a little crazy. IIUC any patches to BSD licensed code in a GPL project can be distributed under the BSD license back to the BSD project by the original patch author. The author can always license code to different parties under any license they wish. What's stopping people from contributing code back to BSD projects?

Crowding out OpenBSD

Posted Dec 6, 2012 1:51 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

Once the BSD code is part of a GPL project, any new patches are by default GPL (the default license of the project). It takes extra thought and effort to make the patches be BSD

In addition, many GPL people believe that it's a much better license than BSD, and so they _really_ want their work under the GPL.

If either of these are the case, then the patches don't get contributed back under BSD

Crowding out OpenBSD

Posted Dec 6, 2012 2:39 UTC (Thu) by raven667 (subscriber, #5198) [Link]

> Once the BSD code is part of a GPL project, any new patches are by default GPL (the default license of the project). It takes extra thought and effort to make the patches be BSD

I realize that, it seems like a poor reason. Maybe git needs an "export as bsd" option for ones own code 8-)

Crowding out OpenBSD

Posted Nov 15, 2012 22:52 UTC (Thu) by cmccabe (guest, #60281) [Link]

A lot of open source projects have been successful under a BSD-like license. Hadoop, for example. Hadoop is under the Apache 2.0 license, which is basically BSD + patent grant. LLVM is under a BSD-like license, as well as all of Android.

Crowding out OpenBSD

Posted Nov 16, 2012 5:13 UTC (Fri) by marcH (subscriber, #57642) [Link]

Except for LLVM these never had any serious GPL competitors had they?

gcc's technical and governance problems have been extensively discussed here - of course the license is far from the only factor. But i still think it can make a difference in a close competition.

Crowding out OpenBSD

Posted Nov 17, 2012 22:11 UTC (Sat) by cmccabe (guest, #60281) [Link]

I think you may be assuming what you set out to prove. X succeeded; therefore X never had any "serious competitors." I could equally well say that Linux succeeded because it never had any "serious competitors."

During Linux's formative years, the BSDs were hamstrung by a serious of lawsuits. Afterwards, they splintered into many different groups. Neither of these two things had anything to do with GPL vs. BSD. We could easily have had 5 small Linuses rather than one big one. The GPL doesn't prevent forks in the slightest.

The GPL is also less risky in the kernel. If your company writes some userspace code, there is zero chance that it will be considered a derived work of the kernel. (Linux even has a special preface to the GPL clarifying this.) With userspace code, things are a lot less clear. This is one of the reasons why Google banned GPL in userspace on Android. The Oracle vs. Google ruling that APIs are not copyrightable helps a little bit here; however, there are still a lot of ambiguities. What does the LGPL even mean when used in a programming language that doesn't have a linker? etc.

Personally, I mostly work on Apache 2.0 code at work these days. For my own projects I usually use Apache 2.0 or 2-clause BSD. The advantage of the latter is that it is usable in GPLed or other-licenced projects as well.

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