379 lines
21 KiB
HTML
379 lines
21 KiB
HTML
<!--startcut ==============================================-->
|
|
<!-- *** BEGIN HTML header *** -->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML><HEAD>
|
|
<title>GPL or BSD? Yes LG #75</title>
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
|
ALINK="#FF0000">
|
|
<!-- *** END HTML header *** -->
|
|
|
|
<CENTER>
|
|
<A HREF="http://www.linuxgazette.com/">
|
|
<IMG ALT="LINUX GAZETTE" SRC="../gx/lglogo.png"
|
|
WIDTH="600" HEIGHT="124" border="0"></A>
|
|
<BR>
|
|
|
|
<!-- *** BEGIN navbar *** -->
|
|
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="maiorano.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue75/nielsen.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="orr.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
|
<!-- *** END navbar *** -->
|
|
<P>
|
|
</CENTER>
|
|
|
|
<!--endcut ============================================================-->
|
|
|
|
<H4 ALIGN="center">
|
|
"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
|
|
<P> <HR> <P>
|
|
<!--===================================================================-->
|
|
|
|
<center>
|
|
<H1><font color="maroon">GPL or BSD? Yes</font></H1>
|
|
<H4>By <a href="mailto:articles@gnujobs.com">Mark Nielsen</a></H4>
|
|
</center>
|
|
<P> <HR> <P>
|
|
|
|
<!-- END header -->
|
|
|
|
|
|
|
|
|
|
<ol>
|
|
<li><a href="#GPL">What is the GPL software license?</a></li>
|
|
<li><a href="#BSD">What is the BSD software license?</a></li>
|
|
<li><a href="#both">Which is better for you?</a></li>
|
|
<li><a href="#my">Which is best for me?</a></li>
|
|
<li><a href="#conclusions">Conclusion</a></li>
|
|
<li><a href="#REF">References</a></li>
|
|
</ol>
|
|
|
|
<h3><a NAME="Introduction"></a>Introduction</h3>
|
|
|
|
<h3><a NAME="GPL"></a>What is the GPL software license?</h3>
|
|
<a href="http://www.gnu.org/licenses/licenses.html#GPL">
|
|
The GNU General Public License
|
|
</a> is a bit lengthy (in my opinion) and tries to promote a "community"
|
|
of programmers who share software freely and openly. It obfuscates the meaning
|
|
of "free" and "freedom", since it really restricts the freedoms of people
|
|
who don't want to openly share software that has the GPL license. Rick Holbert
|
|
is suggesting we use the word "liberated software" instead of "free
|
|
software". It still confuses me, because GNU software is not truly liberated,
|
|
you can't so with the software whatever you want, but the word "liberated"
|
|
is much better than the word "free".
|
|
|
|
The GPL
|
|
license forces people who make changes to the software to openly share those
|
|
changes. Thus, it forces freedom on the "recipients" of the software, but
|
|
not to the "programmers" who make changes to the software. It can be a little
|
|
confusing, since it takes freedom away from the programmers, but strengthens
|
|
the freedoms of the "recipients" of the software. In general, for people
|
|
who wish to donate their software for the better of humanity, it seems to me
|
|
the GPL license satisfies those goals because the software becomes open
|
|
sourced and free for all people to use and to add to.
|
|
<p>Sometimes, from a
|
|
business perspective, you want to take software you can make proprietary
|
|
so that you can create a product which has hidden value.
|
|
If you close source software
|
|
that has value, and your changes have value, then you can charge people for
|
|
the software because they can't make the software themselves or
|
|
it is too difficult and time-consuming for them to do so. You want to look
|
|
at the BSD-style licenses under those cases.
|
|
<p>
|
|
In a different scenario, if you care more about service rather
|
|
than software products,
|
|
then the GPL license isn't something you should fear. For example, IBM
|
|
is using Linux for various servers. If you develop a business model on top
|
|
of GPLed software, you don't have anything to worry about. In addition, any
|
|
software you create from scratch or you use that as a BSD-style license you
|
|
can keep closed sourced running on top of your GPL software. There are still
|
|
plenty of ways your business can use GPL software without threatening your
|
|
business. Customers don't really care about how things are done, they just
|
|
want it done. A good example is the crappy software produced in the
|
|
most popular desktop OS. 99% of the customers who use that horrible nasty
|
|
software don't know all the garbage put into it, and most of them wouldn't
|
|
care. Look at all the people who are very happy to get patches to their
|
|
"most stable and reliable version" of their OS, when really the logic is
|
|
backwards. Shouldn't it have been stable and reliable from the beginning?
|
|
And if the current version is the most stable and reliable and it crashes
|
|
and has tons of bugs, then the previous versions were garbage? I keep on
|
|
trying to emphasize to people that something that is more stable and reliable
|
|
than garbage is still garbage that is only slightly more reliable and stable.
|
|
It doesn't mean much. In business, it really isn't the quality of the
|
|
product that sells, but if you meet the minimum requirements for people to use
|
|
and you can sell it cheap on a mass market --- or if you can get a monopoly
|
|
and brainwash people and congress with ads and money that your software
|
|
is the best, when you know it isn't. Bottom line, if you are scared of the
|
|
GPL license for business reasons, you probably haven't thought through your
|
|
business model hard enough. The most popular Linux OS in the US isn't the
|
|
best in the world, and lacks many features a respectable Linux OS should have,
|
|
but it stays the most popular because it has market share and they improve
|
|
with every version, which keeps their customers happy, even though the
|
|
customers don't know how much better the software really could be.
|
|
|
|
<h3><a NAME="BSD"></a>What are the BSD-style Licenses?</h3>
|
|
<a href="http://www.freebsd.org/copyright/">
|
|
FreeBSD Copyright Information
|
|
</a> has a variety of licenses. In general, you have freedom to do whatever
|
|
you want with the software, as long as you acknowledge it came from the
|
|
project you are working on. In some sense, you have more freedom to do whatever
|
|
you want with this software, but when you make changes, you can "restrict"
|
|
the freedom of others who receive the software you modified.
|
|
<p>
|
|
The BSD style licenses don't have any "pass-thru" freedoms. They don't
|
|
promote "freedoms" for the recipient. This can be a beneficial if you wish
|
|
to take software other people have developed, make a few changes, and sell
|
|
the product, or just try to prevent people from understanding what you did.
|
|
<p>
|
|
When a
|
|
non-programmer only understands what a piece of software does, but not how
|
|
it does it, then you can sell the software to that person
|
|
with good marketing skills, even
|
|
if you really didn't do any of the work in creating the software. Take the
|
|
most popular OS for desktops and you will get a good idea of a company
|
|
which has no programming skills whatsoever, but are very good at marketing
|
|
and selling garbage for software. Having the ability to include software
|
|
from other developers (who knew what they were doing)
|
|
without revealing the changes you make can be a very
|
|
powerful if you can't program worth a darn but you are good a selling. From
|
|
a business perspective whose goal is to make money (as all businesses are
|
|
suppose to do), if you can use software that falls under the BSD-style
|
|
incenses, do it. You can have better control over your OS and prevent people
|
|
from copying a marketable product. The top two OSes for desktops have done
|
|
this.
|
|
<p>
|
|
For the record, it seems like BSD programmers are very good at what they
|
|
do, so I don't want to sound like software that comes from BSD programmers
|
|
can be garbage. As far as I am concerned, as long as I can look at the
|
|
source code, it isn't garbage because it can always be changed, but as soon
|
|
as it does get closed sourced, then it becomes garbage, because I don't know
|
|
what it is really doing. All the open-sourced stuff from the BSD-style
|
|
licensed software it great.
|
|
|
|
<h3><a NAME="both"></a>Which is best for you?</h3>
|
|
There is one important belief you must understand: A LICENSE IS NOT BETTER
|
|
OR WORSE THAN ANY OTHER LICENSE except from your point of view involving the
|
|
goals you want to accomplish. A license is a foundation of how people
|
|
are to behave, just like a government. From a business point of view. the US
|
|
has a great government where money rules all. From a humanitarian point of view
|
|
other governments have better ideas and goals. But neither government
|
|
is better or worse
|
|
if they accomplish the goals the people want.
|
|
If the license does what you want
|
|
it to do, then it is good for you, might not be good for someone else, but who
|
|
cares about them. Thus, ONLY IDIOTS CLAIM ONE LICENSE IS BETTER THAN ANOTHER
|
|
IF THEY DON'T UNDERSTAND WHAT YOUR GOALS ARE. Once we know what your goals
|
|
are with the software you are creating, then we can determine which license
|
|
is best for your software. Even then, it is still an opinion open to debate.
|
|
<p>
|
|
Whenever I talk to BSD people, I usually get them to admit GPL is not a bad
|
|
thing. How? As I have stated, licenses are there for people to use. Nobody
|
|
is forcing you to put your software under BSD or the GPL license. Thus,
|
|
IF YOU CHOOSE to put your software under the GPL, and don't mind people having
|
|
full rights to the source code, why is that bad? You agreed to it, you don't
|
|
mind, and you aren't looking to make profit off of it with some closed source
|
|
version, and you really don't want someone to come along and make profit
|
|
off of a closed
|
|
source version off of something you worked really hard at doing when you
|
|
didn't get a dime. GPL levels the playing field so that everybody has equal
|
|
opportunity to make profit given the same software and they can't prevent
|
|
anybody else from having an equal opportunity as well. Looks like good
|
|
market driven competition to promote business and let the best people win.
|
|
Again, you choose to put this software on an equal basis for all to use. If
|
|
they don't want to share like you did, fine, they can invest the millions
|
|
of dollars needed to create their own software.
|
|
Nobody is preventing them.
|
|
<p>
|
|
Please license your software under more than one license. For example,
|
|
Perl is licensed under the GPL and the Artistic Licenses. If you want
|
|
your software to be used with other free software, you must license it for
|
|
more than just GPL. GPL tends to not work very well with other free software
|
|
licenses.
|
|
<p>
|
|
One criticism of the free software community, as far as GPL goes:
|
|
they are "stealing" the word freedom. Question: Does a dictator have the
|
|
freedom to be a dictator? Yes. Freedom has nothing to do with a "community".
|
|
Freedom means you can do whatever you want whenever you want however you want.
|
|
People should have the freedom not to be free. One thing that irks me, although
|
|
I understand from a political perspective why they are doing it, but the
|
|
FSF and GPL dudes tend to redefine freedom what they want it to mean, but
|
|
really they are only looking a very small subset of freedom, not ALL freedom.
|
|
They are interested is freedom for people to share open sourced software
|
|
and in the community, but not the freedom of an individual to do with
|
|
a piece a software however they wish -- such as making a closed source
|
|
version of a GPLed piece of software. Hence, GPL doesn't really promote
|
|
"freedom" in the true sense of the word freedom, but freedom for
|
|
a community to use software. I don't like how they are redefining the word
|
|
freedom and how some the the zealots won't even talk to you unless you
|
|
use the words "free" and "freedom" in a fashion they understand. However,
|
|
I suppose it is good from a political point of view, because it forces
|
|
people to think about freedom and most people don't have time to think
|
|
in our crazy 80 hour workweek schedules.
|
|
<p>
|
|
Now, for BSD, it is not bad either. It is meant for the programmers who
|
|
like to create closed sourced programs. I understand why this is so
|
|
attractive. I understand why this is important for some people, but let me
|
|
raise a very important point about BSD which doesn't make sense from
|
|
a philosophical point of view:
|
|
<p>
|
|
If people create software under the BSD license, somebody can take
|
|
all the work created under that license and create a closed source version
|
|
where they don't have to tell people what changes they made. Thus a whole
|
|
group of developers can work for years creating a cool piece of software
|
|
where
|
|
a single person or company can "steal" the software by creating a
|
|
slightly different closed source version, promoting it as the standard,
|
|
and ruining any chance of the real programmers for the software
|
|
from ever benefiting from it. I just don't understand why so many people
|
|
want to work so hard to make others millionaires. GPL prevents this. It
|
|
levels the playing field for all who wish to use the software. Everybody
|
|
has a fair shot.
|
|
<p>
|
|
A clear case of how dangerous the BSD license is and how it promotes a virus
|
|
from spreading around (that nasty operating system from a first-rate
|
|
marketing but 2-bit programming company) around the world.
|
|
Take a look at this disaster
|
|
<a href="http://www.linuxtoday.com/news_story.php3?ltsn=2000-05-01-005-04-NW">
|
|
with Kerberos</a>. What a horrible thing to do. For myself, when an evil
|
|
nasty company corrupts a piece of software and there is no legal way to force
|
|
them to be cooperative with the rest of society, I will boycott all versions
|
|
of that software. I cannot afford to worry about different versions that
|
|
are incompatible popping up all over the place. Kerberos is ruined, and I
|
|
will never use it. Why is it ruined? The corrupted version has too much
|
|
influence in the world, that is isn't worth my time using similar software
|
|
knowing one day future versions can be completely closed sourced
|
|
ruining any chance of the versions I use being compatible with the closed
|
|
sourced versions. The threat of not being compatible with other businesses
|
|
who don't care about politics is too great for me for me to use this type
|
|
of software. It is on my banned list if I can avoid using it (hopefully).
|
|
<p>
|
|
With all the benefits and complaints I have about GPL and BSD, which is best
|
|
to use? Either, neither, both. Just understand what the licenses do, and if
|
|
you don't mind the consequences, great! Even though I really don't like the
|
|
BSD-style licenses for my uses, if you don't mind other people taking your
|
|
software and making closed sourced versions they can sell, then the BSD-style
|
|
licenses might be good for you.
|
|
|
|
<h3><a NAME="my"></a>Which is best for me?</h3>
|
|
Which license is best for me? The answer is yes, both. However, I only
|
|
use GPL. Why? I am so grateful for all the free software, I don't really
|
|
create any software that can be sold (I usually create web scripts in Python),
|
|
and anything I produce for the world I would want someone to take up after
|
|
I am done with it, it makes sense for me to use GPL. I really don't ever
|
|
see myself using the BSD-style licenses because I don't want the evil empire
|
|
from taking my software and using it to make profit without revealing
|
|
that they did to give other people the same shot at business. The reason
|
|
why the BSD-licenses are also good for me, is because, it is an option
|
|
for the future. I don't use the BSD-style licenses, but I am glad they
|
|
are an option.
|
|
|
|
<h3><a NAME="conclusions"></a>Conclusion</h3>
|
|
|
|
<a href="http://slashdot.org/articles/99/06/23/1313224.shtml">
|
|
Anonymous Coward</a> made a good point:
|
|
<pre>
|
|
I was all set to write a long essay in response, but most of the readers here would probably just appreciate a summary:
|
|
|
|
The GPL license is conducive to liberating software.
|
|
|
|
The BSD license is conducive to liberating people.
|
|
|
|
With the GPL license, the software maintains more of the freedom than the programmers who work on it.
|
|
|
|
With the BSD licenses, the programmers maintain more of the freedom with what they are allowed to do with derivative code.
|
|
</pre>
|
|
|
|
I prefer to think of it as the following:
|
|
<ul>
|
|
<li>GPL promotes freedom for the end-user.</li>
|
|
<li>BSD promotes freedom for the programmer.</li>
|
|
</ul>
|
|
<p>
|
|
In conclusion, anybody who says one license if better than another is a
|
|
simple-minded troll who doesn't understand that they can only make a judgment
|
|
for themselves and not others. I really want to emphasize that these people
|
|
need to be sterilized so that their DNA doesn't spread and create politicians,
|
|
generals, and judges who like to make decisions for people in other subjects
|
|
in life.
|
|
I have complete disrespect and contempt for anybody who makes a decision
|
|
for other people about software licenses,
|
|
and limited disrespect and contempt for anybody who
|
|
lets people make their decision for them. I don't mind theories about how
|
|
licenses affect society, BUT DON'T CLAIM ONE IS BETTER THAN ANOTHER, because
|
|
that is an opinion based on certain values, not a fact. I will accept as
|
|
fact what you think is the best license for you, but not your opinion about
|
|
what you think is best for other people -- that is just an opinion and
|
|
theory.
|
|
<p>
|
|
There seems to be 10 times the amount of BSD people who hate GPL.
|
|
I imagine that is because Linux is tens time more popular, but I really
|
|
don't know. If FreeBSD was ten times more popular then Linux, I imagine
|
|
you would have 10 times more GPL guys
|
|
moaning than the BSD guys. For me personally,
|
|
I am unaware of BSD software on a daily basis, and so, I have no reason
|
|
to voice my opinions actively. I suppose I really don't like people
|
|
who complain about the other licenses for two reasons:
|
|
<ul>
|
|
<li> They haven't thought through the situation carefully enough to realize
|
|
there is nothing wrong with licenses. </li>
|
|
<li>It reminds me of when I was a little younger making outrageous statements
|
|
because I didn't think through problems. However, the older
|
|
you get, the more boring you become, so making outrageous statements should
|
|
still be a daily occurrence to prevent yourself from becoming an old fart,
|
|
as long your statements are harmless.</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Nuff said.
|
|
|
|
<h3>
|
|
<a NAME="REF"></a>References</h3>
|
|
Thanks to Rick Holbert for suggesting how I can improve the
|
|
article and for letting me know that "liberated" is a better term
|
|
than "free" to use when talking about "free software" in the GNU sense.
|
|
|
|
<ol>
|
|
<li><a href="http://slashdot.org/articles/99/06/23/1313224.shtml">
|
|
Slashdot</a> discussion which contains a lot of good points and I think
|
|
makes a good case for BSD people not to hate GPL.
|
|
</li>
|
|
<li>
|
|
If this article
|
|
changes, it will be available here
|
|
<a href="http://www.gnujobs.com/Articles/25/nielsen.html">
|
|
http://www.gnujobs.com/Articles/24/nielsen.html</a></li>
|
|
</ol>
|
|
|
|
|
|
|
|
|
|
<!-- *** BEGIN bio *** -->
|
|
<SPACER TYPE="vertical" SIZE="30">
|
|
<p>
|
|
<h4><img align=bottom alt="" src="../gx/note.gif">Mark Nielsen</h4>
|
|
Mark works as an independent consultant donating time to causes like
|
|
GNUJobs.com, writing articles, writing free software, and working
|
|
as a volunteer at <a href="http://www.eastmont.net">eastmont.net</a>.
|
|
|
|
<!-- *** END bio *** -->
|
|
|
|
<!-- *** BEGIN copyright *** -->
|
|
<P> <hr> <!-- P -->
|
|
<H5 ALIGN=center>
|
|
|
|
Copyright © 2002, Mark Nielsen.<BR>
|
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|
Published in Issue 75 of <i>Linux Gazette</i>, February 2002</H5>
|
|
<!-- *** END copyright *** -->
|
|
|
|
<!--startcut ==========================================================-->
|
|
<HR><P>
|
|
<CENTER>
|
|
<!-- *** BEGIN navbar *** -->
|
|
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="maiorano.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue75/nielsen.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="orr.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
|
|
<!-- *** END navbar *** -->
|
|
</CENTER>
|
|
</BODY></HTML>
|
|
<!--endcut ============================================================-->
|