GPL is the big edge of Linux over the BSDs
GPL is the big edge of Linux over the BSDs
Posted Aug 31, 2006 23:41 UTC (Thu) by dwheeler (guest, #1216)In reply to: The future of NetBSD by job
Parent article: The future of NetBSD
There's still an active FreeBSD and OpenBSD community, and there's much positive to say about FreeBSD and OpenBSD. I always welcome a chance to talk to their developers - they're sharp folks. But Linux absolutely stomps the *BSDs in market share, even when the *BSDs are combined. And it will continue to do so into the foreseeable future. I think that's primarily due to the licensing, i.e., GPL vs. BSD.
I think the BSD license has been a lot of trouble to the *BSDs. Every few years, someone says, "hey, let's start a company based on this BSD code!" (BSD/OS in particular comes to mind, but SunOS and others did the same). They pull the *BSD code in, and some of the best BSD developers, and write a proprietary derivative. But as a proprietary vendor, their fork becomes expensive to self-maintain, and eventually the company founders. All that company work is lost forever, and good developers were sucked away during that period. Repeat, repeat, repeat. That's more than enough to explain why the BSDs manage to make steps forward, but just don't manage to maintain the pace of Linux kernel development.
Meanwhile, the GPL has legally enforced a consortia on major commercial companies. Red Hat, Novell, IBM, and many others are all contributing, and feel safe in doing so because the others are legally required to do the same. It's basically created a "safe" zone of cooperation, without anyone having to sign complicated legal documents. A company can't feel safe contributing code to the BSDs, because its competitors might simply copy it without reciprocating. There's much more corporate cooperation in the GPL'ed kernel code than with the BSD'd kernel code. Which means that in practice, it's actually been the GPL that's most "business-friendly". So while the BSDs have lost energy every time a company gets involved, the GPL'ed programs gain almost every time a company gets involved. And that explains it all.
That's not the only issue, of course. Linus is a good leader; leadership issues are clearly an issue for the BSDs. And Linux's ability early on to support dual-boot turned out to be critical years ago. Some people worried about the legal threats, though I don't think it had that strong an effect. But Linux has had a number of problems historically (nonstandard threads, its early network stack was terrible, etc.), which makes it harder to argue that it was "better" at first. And it came AFTER the *BSDs - the BSDs had a head start, and a lot of really smart people. Yet Linux jumped quickly past all of them. I believe that's in part because it didn't suffer the endless draining of people and results caused by the BSD license.
Clearly, some really excellent projects can work well on BSD-style licenses; witness Apache, for example. It would be a mistake to think that BSD licenses are "bad" licenses, or that the GPL is always the "best" license. But others, like Linux, gcc, etc., have done better with copylefting / "protective" licenses. Some projects, like Wine, have switched to a copylefting license to stem the tide of loss from the project. Again, it's not as simple as "BSD license bad" - I don't think we fully understand exactly when each license's effects truly have the most effect. But clearly license matters; this as close to an experiment in competing licenses as you're likely to get.
Posted Sep 1, 2006 0:18 UTC (Fri)
by cventers (guest, #31465)
[Link] (2 responses)
Whenever I come across people mindlessly tarnishing the GPL license, I
There are flame wars. There is disagreement and frustration. Enemies are
But at the end of the day, you've got companies that compete _directly_
I cannot believe that the BSD community finds itself so preoccupied with
As an aside, I often hear the stability of Linux criticized. There are
Posted Sep 1, 2006 2:31 UTC (Fri)
by jhs (guest, #12429)
[Link] (1 responses)
Posted Sep 1, 2006 3:06 UTC (Fri)
by cventers (guest, #31465)
[Link]
One thing I would propose to consider then is the acceleration and
Posted Sep 1, 2006 0:50 UTC (Fri)
by emkey (guest, #144)
[Link] (5 responses)
Posted Sep 1, 2006 5:00 UTC (Fri)
by dwheeler (guest, #1216)
[Link]
If your goal is to get an idea or approach widely used to the largest possible extent, a permissive license like the BSD (or MIT) license has much to offer. Anyone can quickly snap up the code and use it. Much of the TCP/IP code (at least for tools) in Windows was originally from BSD, I believe; there are even some copyright statements still in it. But don't expect the public code to be maintained by those who take and modify the code. I haven't noticed a large number of Microsoft developers being paid to improve any of the *BSDs, even though they share the same code ancestries.
If your goal is to have a useful program that stays useful long-term, then a protective license like the LGPL or GPL licenses have much to offer. They force the cooperation that is good for everyone in the long term, if a long-term useful project is the goal.
In general, I've noticed that GPL projects are far less likely to fork than
BSD-licensed projects; the GPL completely eliminates any financial
advantage to forking.
Yes, companies could voluntarily cooperate without a license forcing them to. The *BSDs try to depend on this. But it today's cutthroat market, that's more like the "Prisoner's Dilemma". In the dilemma, it's better to cooperate, but since the other guy might choose not cooperate and exploit your naivete, so you'd better not cooperate.
Even there, I don't think that it's all that simple. Again, the Apache web server does well with its BSD-ish license.
But packages like Linux, gcc, Samba, and so on all show that the GPL
does work.
Posted Sep 1, 2006 20:38 UTC (Fri)
by GreyWizard (guest, #1026)
[Link] (3 responses)
http://lwn.net/2001/0301/a/rms-ov-license.php3
Posted Sep 4, 2006 14:39 UTC (Mon)
by branden (guest, #7029)
[Link]
One person who agrees with you that the GNU GPL is not the best choice for all circumstances: Richard Stallman. Why do you insist upon uttering Fnordances when you know good and well that the only people who are capable of being surprised by this will never let the fact enter their brains? :)
Posted Sep 7, 2006 20:20 UTC (Thu)
by dwheeler (guest, #1216)
[Link] (1 responses)
Posted Sep 7, 2006 21:05 UTC (Thu)
by GreyWizard (guest, #1026)
[Link]
Posted Sep 1, 2006 6:29 UTC (Fri)
by xoddam (guest, #2322)
[Link] (3 responses)
This is something which was always intended and understood by the
> That's not the only issue, of course. Linus is a good leader;
There's one subtle (but obvious) technical point you haven't touched
In one sense, there has only ever been one committer to the Linux
From the start, source code management in Linux was handled by the
It is this prescient understanding on Linus' part (which initially
Posted Sep 8, 2006 1:01 UTC (Fri)
by pimlott (guest, #1535)
[Link] (2 responses)
Did you forget about Cygnus? GCC has long had a reasonably healthy and productive community of commercial players. Granted, much smaller than the Linux ecosystem, but it's only a compiler, not a whole system. Indeed, the fact that GNU didn't have a complete system is probably a major reason for the lack of commercial interest. Business had little impact upon Linux until after it had proven itself as a complete system.
None of this is to deny that Linus ran his project brilliantly, while many have found RMS difficult to work with.
Posted Sep 8, 2006 3:16 UTC (Fri)
by xoddam (guest, #2322)
[Link] (1 responses)
Posted Sep 8, 2006 5:00 UTC (Fri)
by pimlott (guest, #1535)
[Link]
Posted Sep 4, 2006 9:40 UTC (Mon)
by anandsr21 (guest, #28562)
[Link]
Like if the gecko (the html rendering) part of Mozilla, was BSD licensed. It would have allowed people in other companies to pickup the code into their browsers. And we would have seen that the html dialect followed by gecko would have become a standard. This was a mistake made by Mozilla.
Actually BSD license was very useful in the early days of Unix. The License made Unix API into the standard that it is today. Similarly Internet Protocol also became standard because of BSD license.
So no GPL is not the holy grail. You need BSD too. But it should only be used for interfaces that should become a standard. ie all development on IETF proposals should be in BSD.
Now that Posix is the standard and Linux is GPL any new interfaces that Linux adds will not become common or part of Unix standard. But that is not necessary now. I believe that Linux came at the right time when Posix was a decent standard. Anything earlier would not have made it very popular.
Actually the reason behind Apache is similar, because it also defines the standard for internet servers. Also the company is based around support rather than the code.
Agreed.GPL is the big edge of Linux over the BSDs
ask them to browse linux-kernel for a couple of days and look at the
hostnames posting to the list. You see engineers from IBM, Oracle, Red
Hat, Novell, SGI, Intel, AMD, Google, HP, Nortel, XenSource, VMWare and
others all cooperating on making common APIs and subsystems from which
they all (and all of the many Linux users) can benefit.
made.
with eachother cooperating on one project in good faith. Sprinkle in a
little 2.6 process and you've got the fastest moving, most portable and
feature-filled operating system the world has ever seen.
dissing Linux and its licensing while their own favorite villages burn.
Put out your own fires, folks!
two kinds of stability - the kind of stability where you don't crash, and
the kind of stability where you don't move. The latter is good stability
to have and Linux has it. The latter is bad stability and the BSD folks
are ironically correct in pointing out that their systems are stable in
this sense, and then insist on repeating that point, as if it were a
great accomplishment, in reply to a NetBSD founder admitting that his
stable project has stagnated. Sad.
Correct me if I'm wrong, but the Solaris kernel has binary kernel module compatibility all the way back to version 2.6, which sounds like "don't move" stability. But there is still good engineering and new stuff going on in that kernel. This isn't a comment to say the Linux system is bad, but only to point out the smart engineering that went into Solaris, too.GPL is the big edge of Linux over the BSDs
Absolutely. Solaris has a good kernel. (I don't actually know enough GPL is the big edge of Linux over the BSDs
about its history to comment on the accuracy of what you are saying, but
I don't doubt it either).
velocity of engineering, not just the presence of it. I think Linux has
gained more features, faster, than any other operating system kernel ever
has. It's brilliant precisely because it never forked another project;
rather, started out fresh making a UNIX clone. And the established
practices that discourage anything that gets in the way of change (such
as stable interfaces) has done it wonders.
Agreed on pretty much all fronts. I happen to think that GPL like licences are generally superior to all other alternatives. Where I differ from some people is in my belief that there are in fact cases where the GPL either isn't the best choice or isn't realistic. In the end the market will decide. And that is as it should be. Artificially forcing others into corners is only going to tend to isolate and weaken those who advocate such an approach.GPL is the big edge of Linux over the BSDs
Obviously, a license choice should depend on your goals. But let's look more carefully at that statement, maybe we can see what license tends to be better for different purposes.
GPL license vs. BSD license - is goal tech transfer or a living project?
One person who agrees with you that the GNU GPL is not the best choice for all circumstances: Richard Stallman.One person who agrees with you...
One person who agrees with you...
I'm not sure if you meant to "start a fight", but if I take your statement literally, that is of course true. Stallman has been VERY consistent in insisting that his goal is NOT universal use of the GPL (or LGPL), but that his goal is universal deployment of Free software (as the FSF defines it). I even specifically noted that Stallman occasionally encourages the use of non-GPL licenses in my essay
Make Your Open Source Software GPL-Compatible. Or Else., which I
originally posted in 2002. There I note the same example you did - Stallman encouraged the switch of the Ogg folks from a GPL-style license to a BSD-style license, because of the larger circumstances they were in.
One person who agrees with you...
I was responding to emkey's comment, which said, "Where I differ from some people is in my belief that there are in fact cases where the GPL either isn't the best choice or isn't realistic." I don't know if emkey meant to write "free software" instead of "GPL" there, but that comment was in reply to yours about the difference between the BSD and the GNU GPL licences so I assumed there was no mistake.One person who agrees with you...
> So while the BSDs have lost energy every time a company gets involved,Lack of technologically-enforced commit restrictions *with* the GPL give Linux an edge.
> the GPL'ed programs gain almost every time a company gets involved.
> And that explains it all.
creators of the GPL. So why did commercial interests never take
an interest in the FSF's lofty proposals of collaboration before
Linux 'arrived'? Partly it's timing, but I believe it's also
the impact of technological choice on personality.
> leadership issues are clearly an issue for the BSDs. And Linux's
> ability early on to support dual-boot turned out to be critical
> years ago.
on here, which has synergies with the licence difference and the issue
of leadership: Linux source has *never* been centralised by restrictive
technology. The BSD development teams have been characterised by who
has a 'commit bit', and who has the power to grant it. BSDs have
forked not only because of commercial interference but because of
petty tousles over privilege.
kernel: Linus Torvalds himself is the only person who applies patches
to his own tree and is the sole dispenser of 'holy penguin pee'. But
*anyone* has the power to apply their own equivalent blessing to
their own version of the code, meaning that distributors and kernel
developers alike have always cooperatively maintained their own
public trees without fear of (being accused of) forking the project.
Nothing of the sort was ever possible in the BSD world.
completely decentralised 'patch'; an inheritance from the Minix hotrodders'
community who had no rights over the original source but could swap and
improve one another's patches at will. Linus' persistent refusal to
adopt a centralised version control system which would have given the
right to 'commit' code to a select few meant that everyone has always
worked with distributed tools: patch, quilt, BK, Git.
made no sense at all to me), almost as much as the GPL's incitement
to common wealth, which allows Linux to develop at the pace it does.
Lack of technologically-enforced commit restrictions *with* the GPL give Linux an edge.
So why did commercial interests never take
an interest in the FSF's lofty proposals of collaboration before
Linux 'arrived'?
Stallman's manifesto ... read like a socialist polemic, but I saw something different. I saw a business plan in disguise.
Michael Tiemann
> Did you forget about Cygnus? Lack of technologically-enforced commit restrictions *with* the GPL give Linux an edge.
Not a bit of it, but Tiemann is a bit of a visionary in his own
right, and certainly wasn't in the operating system business.
I was responding to the point above about commercial operating
systems spinning off the BSD code; some of which happened prior
to BSD becoming unencumbered. Why didn't those companies instead
join GNU, if the GPL offers such an incentive to build a commons?
As I understand it, in the earlier days of GNU Stallman hoped they
would, and approached numerous outside projects requesting their
contributions (eg the Free University Compiler Kit) and trying to
sell the idea of a collaborative project to the commercial Unix
vendors (who were at the time wasting enormous engineering effort
on 'differentiation'). RMS would have been entirely happy to use a
free BSD kernel as the basis of GNU.
The vendors *did* listen to the pitch, and such groups as OSF were
the result (they even listened to the bit about microkernels being
easy to debug :-), but they certainly didn't begin to embrace the
GPL until long after the Linux kernel project had shown that
bazaar-style development has wings. Indeed as far as I can remember
no Unix vendor conceded the advantage of the GPL until after
Microsoft's famous Halloween memo in 1998 described GNU/Linux as
'a best-of-breed Unix'. The enemy of my enemy is my friend, right?
The GPL always protected contributors from one another's
'differentiation' efforts, but it was the clear success of the
Linux kernel project which brought big players like SGI and IBM
into the fold.
> many have found RMS difficult to work with.
I think *that* problem was always exacerbated by the 'cathedral'
style of development common in the GNU world (and everywhere else)
before the advent of the Linux kernel. People are protective of
their projects. Setting up an alternative source repository, if
that isn't part of the normal process like it is with patch/bk/git,
is considered a hostile act. When Lucid hired a lead emacs developer,
Stallman took immediate offence and was only gradually (after the
fork was so well-developed and so many personalities bruised) persuaded
that reconciliation was in the project's best interests. The 'bazaar'
vs. 'cathedral' dichotomy, and IMO in particular the effect of the
process (inherited from the not-quite-free Minix world, which worked
rather like qmail does today) and the distributed-development *tools*
Linus has chosen all along, is nearly as significant as the difference
between copyleft and BSD licencing.
Lack of technologically-enforced commit restrictions *with* the GPL give Linux an edge.
Tiemann is a bit of a visionary in his own
right
Fair enough, but he also created a successful business around GCC, and I believe he wasn't the only one.
and certainly wasn't in the operating system business.
I didn't realize you were only talking about operating systems, but the principle should hold for other kinds of software, yes?
Why didn't those companies instead
join GNU, if the GPL offers such an incentive to build a commons?
Isn't the fact that GNU didn't work yet reason enough? It seems like commercial interest in GPLed projects develops when the software provides vendors so much value that they can justify giving away much of the value they add themselves. GNU as a whole wasn't there yet. GCC was.
Actually the only place where I see a use of BSD license is in creating things that are intended to become standards.BSD was the edge that made Unix/TCP/IP the standard