
GPL vs BSD, a matter of sustainability - Tsiolkovsky
http://www.matusiak.eu/numerodix/blog/2007/12/15/gpl-vs-bsd-a-matter-of-sustainability/
======
natefinch
I think it's pretty obvious this is a 5 year old article. And in fact, it has
ideas that are much more appropriate to 10 years ago than today.

GPL is a hindrance to your code, not a help... unless you're lucky enough to
have your code become popular with a large open source community.

GPL prevents any proprietary software maker from using your software. It
requires that if you use the code, your software also be GPL. Well, good luck
with that. Software companies need to make money for a living, and most of
them want to do it selling their software, not hoping someone will pay them to
support their software.

In practice there's no difference between BSD and GPL in the worst case, and
in the best case, BSD is better.

Worst case:

Some awesome devs make Cool GPL Software™. Hundreds of large proprietary
software companies like the look of the software, but it's GPL, so they can't
use it. They use something else. Cool GPL Software™ loses out on all the
manpower that could have been given to it by proprietary software makers.

vs. BSD:

Some awesome devs make Cool BSD Software™. Hundreds of large proprietary
software companies like the look of the software, and use it, but never open
source their changes. Cool BSD Software™ loses out on all the manpower that
could have been given to it by proprietary software makers.

end result: the same, but the BSD guys feel butthurt, and the GPL guys feel
ignored

Now, the best case, which is what actually happens quite often these days:

GPL (same as above)

vs. BSD:

Some awesome devs make Cool BSD Software™. Hundreds of large proprietary
software companies like the look of the software, and use it. Some of them
contribute their work to the original BSD project, because it's good karma,
good publicity, and keeps the community around that software alive. Cool BSD
Software™ gains a bunch of hard work from devs who get paid to work on their
software 40+ hours a week.

end result: GPL guys feel ignore, BSD guys feel elated.

This is why I'll never use GPL for any software I write.

~~~
gnosis
_"GPL is a hindrance to your code, not a help... unless you're lucky enough to
have your code become popular with a large open source community."_

On the contrary. GPL helps those people that I want using my code to do so.
Namely, those people who would contribute code back under the GPL. The GPL
encourages them to do so, while BSD hurts this cause. So it's BSD that is a
hinderance to my code, not GPL.

 _"GPL prevents any proprietary software maker from using your software."_

Good. They can go fuck themselves.

Proprietary software makes can pay programmers to write software for them. I'm
not going to help them for nothing if they're not going to contribute any
changes they make back.

 _"Software companies need to make money for a living, and most of them want
to do it selling their software, not hoping someone will pay them to support
their software."_

They're welcome to try to make that money without my giving my code away to
them for free.

 _"In practice there's no difference between BSD and GPL in the worst case,
and in the best case, BSD is better."_

You're dreaming. GPL has proven its value time and again. The only reason to
use BSD is if you want to help someone make a profit for free, without them
contributing anything back, and let your own code be assimilated and made
closed-source. I choose not to do that, thank you very much.

 _"Some awesome devs make Cool GPL Software™. Hundreds of large proprietary
software companies like the look of the software, but it's GPL, so they can't
use it."_

Once again, fuck large proprietary companies. I have zero sympathy for them,
and aren't going to be slaving away for them for free.

~~~
natefinch
I never said large. Small proprietary companies also can't use GPL. I guess,
fuck them, too? Fuck anyone who wants to actually make money writing software
for a living? How very 1998 of you. Doh, I did say large. Well, crap. How
about "thousands of small proprietary companies..." ?

~~~
gillianseed
Still doesn't mean I owe them anything, if I want to give away code for
proprietary companies to use then that's genererous and perfectly fine.

Likewise there's not something wrong with with only writing open source for
open source, where you will be priviledged to have any enhancements made to
your code available to you.

And if 'you actually want to make money writing software' then you really
can't demand that there should be code lying around for you to use and sell.

Complaints about people not wanting to write code that proprietary companies
can use for free and sell simply appals me. As if the 'companies' should have
some god-given right to use open source and make money?

------
milliams
The important thing to realise about the GPL's freedom is that it is not so
much "freedom for the developer" as preserving "freedom of the user". To keep
software in the ecosystem free and to allow any user to see the source code of
a piece of software running on their computer.

Of course I can see the value of both type of license and each has their
place. In my lovely land of Linux/KDE/Firefox/GNU the GPL is fine for
everything since you don't have to worry about pesky companies wanting to
incorporate your end-user code into their products. However, for a library
which you might want to be used by commercial game developers etc. a BSD-style
license makes lot more sense as otherwise people will go elsewhere or
implement it themselves. This is why a few years we switched the license of
PolyVox (<http://www.volumesoffun.com/polyvox-about/>) to be zlib rather than
GPL.

------
olgeni
[all the talk about microsoft really smells of 2007 :)]

> BSD freedom, on the other hand, is "lossy".

How so? I can still download the original BSD-licensed code without any loss.

> If I get BSD code I have a lot of freedom, but the next guy doesn't.

Why? In the worst case the next guy will just start from wherever I started.

> It's fairly well known that there is BSD code in Windows.

And be thankful for that - who knows what else could have crept in there.

> And obviously, whatever Microsoft did with that code, they have no
> obligation to release their changes.

And no obligation to release all the other unrelated code.

> Microsoft is still sitting on BSD code that is free for _them_ , but it's no
> longer free for anyone else.

Apple too, but that's what the BSD license is for.

~~~
pjmlp
You assume that the original code is still available, which might not be the
case.

~~~
NateDad
In that case it's exactly the same as if Microsoft never used the code... it
would still have disappeared. That's what would have happened if it were GPL
code. Proprietary software vendors can't use GPL code, because there's no way
they can use it without making their entire product GPL... which most software
vendors won't do.

~~~
Nursie
In that specific case you are right.

But in the case of (for instance) the Linksys NSLU2 (or various WRT and WAG
models), the whole community around them was possible because the code was
available and people could mess around with it. In this case it was to Linksys
advantage to use GPL firmware, to the users advantage that more could be done
with the device, and to the community's advantage because changes and
improvements could be fed back to the general linux ecosystem.

~~~
NateDad
Linksys sells hardware, not software, it's not a valid comparison. People can
copy their software all they want - they still have to buy the hardware to run
it on.

------
speeder
I still prefer BSD and MIT style licenses.

GPL is great for making a system remain open, yes, but it also results in some
commercial applications shying away from it, and it might ultimately die
without proper use.

Game Developers love BSD/MIT, and they do contribute back to the BSD projects
they use for several reasons.

And what matters in the end, that is reach end users, means that those end
users would not have all those cool games without BSD and MIT tech available.

~~~
LoneWolf
So do I.

Mostly I run away from GPL code, whatever I do I can't choose to make it
available or not, I have to, I consider that a restriction of my freedom, and
while I would like that everyone who makes changes or improvements to any of
my code to contribute back, I think it's unfair to force them to it, because I
don't want to be forced either. Most of my stuff is BSD or MIT, and for some
less serious things WTFPL.

GPL has that "viral" effect that I hate, you are free to change but you have
to keep it GPL, I don't know if it is possible to change GPL software into non
GPL, can anyone tell me more about that?

~~~
travisb
The only way to convert from GPL to a different license is for all the
copyright holders (approximately every contributor who has a single line of
code in the project) to release a version with a new license. For projects
with a small number of contributors this is simple, just call them up and
negotiate a proprietary license. I expect that there would be better chances
of success if the proposition was "money for license" instead of a plea to go
to a BSD-like license. Of course the more contributors the greater the
likelihood one of them will reject the offer and thereby make dual-licensing
impossible.

------
kstenerud
GPL operates on the premise that people are generally selfish and evil, and
will never contribute back unless forced to.

BSD operates on the premise that people are generally decent, and many (though
not all) will contribute back on principle.

~~~
wildgift
Didn't FreeBSD have some problem with fundraising recently?

Apple used FreeBSD to create Darwin, OS X and iOS. Did they end up
contributing back?

~~~
onedognight
> Apple used FreeBSD to create Darwin, OS X and iOS. Did they end up
> contributing back?

Yes, quite a bit. An example, FreeBSD recently switched from gcc to clang as
their main compiler. clang was an Apple project.

------
mkup
Author of this article is missing LGPL entirely. LGPL allows anyone to ensure
that all changes to his code are published freely, but also allows packaging
with commercial closed-source code into single downloadable file (unlike GPL).

~~~
jrmg
That's not entirely true. The LGPL requires that the end user be able to re-
link the product with an API-compatible version of the LGPL-licensed library.

On platforms that support dynamic linking this is easy to allow - just package
the LGPLed library as a dynamic library the user can easily replace. On
platforms that don't (e.g. iOS) it's harder, and I believe it's still 'gray'
what's required in practise - or even if the requirement is possible to
satisfy. Some will say if you supply object files so that the end user can
relink, that's fine.

~~~
IWentToTheWoods
>Some will say if you supply object files so that the end user can relink,
that's fine.

It's not "some will say"; supplying object files for your code and source for
the LGPL library is specifically listed as an option in the LGPL itself.

~~~
jrmg
yes - but that option is followed with "...so that the user can modify the
Library and then relink to produce a modified executable containing the
modified Library."

[LGPL 2.1, section 6a]

Can an iOS user do that? I would not like to depend on saying "Yes" to a
court.

------
snarfy
This whole idea started because copyright is broken. Both licenses are
artifacts of this. The original copyright had a term of 14 years, a reasonable
balance when granting a limited monopoly. As they extended the term and
strengthened the laws, there is no longer any balance and there is nothing
limited about the monopoly.

Somewhere in all of this, their is an ideal copyright law with ideal terms and
limits which maximizes the progress of science and useful arts.

I believe the success of the BSD license shows it is closer to the optimum
than the GPL.

~~~
gillianseed
>I believe the success of the BSD license shows it is closer to the optimum
than the GPL.

Well the GPL licence is the most used open source licence of all, so I'm not
sure how 'the success of the BSD licence' would somehow show it as being
closer to the 'optimum'.

~~~
DanBC
How are you measuring "most used"?

~~~
gillianseed
By what most open source code projects are licenced as.

~~~
DanBC
In theory you could have a million projects used by very few people under one
licence, and a few projects used by very many people under another licence.

It might be interesting to know how many people use software under each
licence.

~~~
snarfy
Not only is it interesting, it's a better metric when determining the value
software brings to society. This is about the optimum in 'promoting the arts
and sciences'. The project count is irrelevant.

------
jlgaddis
> "So who is right? Well, the BSD camp is."

Unfortunately, it's not quite that black and white.

When it comes to operating systems, for example, I believe in using "the right
tool for the job". Depending on the situation, that might be Windows, Mac OS,
or Linux.

The same holds true with the BSD vs. GPL argument. In some cases, the BSD is
the better license. In others, the GPL is.

Personally, I am thankful the GPL exists. Were it not for the GPL, I would not
be typing this comment on this laptop running Debian. However, my MacBook Pro
and iPhone are sitting just a few feet away from me. I likely wouldn't have
either of those if it weren't for the BSD License.

As a user, I am thankful for those who release their code under the GPL. As a
developer (and I use that term very loosely), I put any code I publish under
the BSD license. I do not care what anyone else does with it -- if someone can
use my code to improve their own commercial product, so be it.

The BSD vs. GPL debate will never die because there is no one "winner" in all
cases -- and we all benefit from that.

~~~
joesb
Please read the whole article before commenting.

~~~
jlgaddis
Yep, my mistake. I got that far, started my comment, and got distracted by the
phone. When I hung up, I looked back at my comment, thought I was done, and
submitted it... then realized I hadn't finished reading. My bad.

------
michael_h
From the Guidelines:

    
    
      Please avoid introducing classic flamewar topics unless you have something genuinely new to say about them.

------
dsr_
The GPL is better than BSD at starting a community of developers, in the same
way that games with rules are more fun than Calvinball.

~~~
NateDad
Not if you want to leverage the millions of professional software developers
out there. With GPL you're stuck with the hobbyists and the very few companies
that can survive getting paid for support of their GPL software.

You know what's BSD/MIT licensed (or similar)? Python, Ruby, Rails, and
probably a million other things you use every day. Good software is good at
making a community of developers, regardless of the license.

~~~
Nursie
"With GPL you're stuck with the hobbyists and the very few companies that can
survive getting paid for support of their GPL software."

Not really mate.

Lots of companies use linux for firmware and release their firmware code.
Linksys, Netgear and Western Digital are just a few that spring to mind.

~~~
NateDad
None of those companies sell the firmware. They sell the hardware. The
firmware is only useful if you buy their hardware.

~~~
Nursie
So what? They're still commercial entities using and contributing to GPL
software, which is what the post I replied to claimed doesn't happen.

------
DanBC
The article is from 2007. What BSD code is still in Windows? I know the
network stuff was, but I think they re-wrote all of it.

The EULAs used to include sections about the regents of Berkley, but I can't
find that in the Windows 8 EULA.

~~~
ygra
AFAIK only the network stuff was, up until XP and Server 2003. They rewrote
all of that for Vista, partly because the original code didn't keep up well
with newer developments.

~~~
peteri
Nearly correct according to
<http://www.kuro5hin.org/story/2001/6/19/05641/7357> the initial code was
provided by Spider but since NT3.5 it's been mostly (see the article for why I
say mostly) MS code in the kernel (and the userland code is BSD 'cos it works
and ain't broken)

~~~
Nursie
Jesus, haven't seen anyone cite K5 for serious purposes in a long time. That
place a cesspit these days :)

------
Nursie
"So who is right? Well, the BSD camp is."

Gave up at this line.

As far as I'm concerned the licenses give different freedoms and pointing at
one or the other as objectively superior is just dick-waving.

~~~
ygra
If you bother reading the complete article, they come to an actual conclusion
and comparison at the end.

~~~
Nursie
Why would I bother, the conclusion has been declared in the first section, and
as the guy says - we've all witnessed enough flame wars in the last 20 years
to know the arguments inside out.

The article was written five years ago, and we still haven't stopped the
arguments, therefore it doesn't say anything revolutionary.

\--edit-- I've done as you asked now, it's not as long as I thought it was at
first glance.

Conclusions aside, I disagree that with the statement that BSD is freer
license, because the GPL guarantees the transmission of freedom, which BSD
does not. The BSD license provides (almost) absolute freedom to the individual
holding the code _right now_ , which the GPL does not. I don't think it's
possible to declare one objectively more free than the other. I'm not sure
it's useful to either, apart from in the context of a flamewar.

