[CS-FSLUG] TD: (Im)morality of (non)free software
Timothy R. Butler
tbutler at ofb.biz
Mon Feb 28 20:51:52 CST 2005
> The GPL is immoral, because it forces those who extend the author's
> code
> to use the GPL (or compatible?) if they decide to release their code.
> This seems to me to be the height of arrogance. It is essentially
> saying, "I wrote the base for your work, so you must not close your
> extension of it. Further, you must put the same restrictions on anyone
> who might extend YOUR code." I recognize that this protects the
> so-called rights of users to information, but at the expense of the
> rights of developers and maintainers to make use of their own labor for
> their own ends. It is essentially muzzling the ox as he treads the
> grain. It results in people needlessly duplicating code (anathema to
> developers) so that they won't be bound by a hypocritical and
> restrictive liscense. The fruit of my labor is MINE. If I wish to
> release it into the common domain, or otherwise allow others to profit
> from my labor, that is my privelage. I don't have the right to force
> others to give away their labor, anymore than anyone has the right to
> force me to give up mine.
Then don't use GPL'ed code. Most of us are unwilling to make our code
essentially public domain (as the BSD license basically does, save for
the requirement of the copyright preservation and protection from
damages). So, I could make my code proprietary, and then you couldn't
use it at all, so you'd have to write your own.
Instead, I choose to share and ask you to share alike (to use the
Creative Commons' terminology). It's my code, and if you modify it, its
still my code. Let's do a clearer example: If you modify my book and
just take it, you've plagiarized regardless of if you extended my
ideas. They remain my ideas, not yours.
I don't see licenses as moral or immoral as such. What is immoral is
to say that my work must be given to a person in a certain form because
that's how you want it. If I want my code to be proprietary, great. If
I want my code to be BSD licensed, great. If I want my code to be
GPL'ed, great too.
This is a subject that tends to irk me, please don't take it
personally Aaron, I'm going to refer to a first person "you" ahead, but
please understand I don't mean you personally. :-)
I just seem to find that BSD-style license advocates love to attack
the GPL for not sharing. The fact is, the only reason anyone will care
about the "GPL not sharing" is if they themselves don't want to share.
Indeed, if I'm writing a proprietary program, I go looking for BSD
components if I need someone else's code. But, I'm not about to write
my code so that you can add one line or even nothing and sell it as a
proprietary product.
Worse, the BSD license and the like encourage forking, because the
license can be changed. So, I can take your BSD code and release it
under the GPL with my modifications. At that point, you must either
re-implement what I did, switch to my license or live with the fact
that you did all the hard work, but everyone wants my program and not
yours.
This is worse when the second developer in the line goes proprietary.
The developer adds a complex feature I don't know how to develop and
keeps the changes. I may have spent 10 years developing my product, but
suddenly, my product is being killed off by my own code base enhanced
by the new developer.
You don't have to modify GPL code. If you don't like the GPL, just
don't mess with GPL'ed code. But I think it is a very poor choice to
say it is immoral. If the program was really your work, and not mine, I
wouldn't be able to hold you to my license. If your code is 90% of the
product and mine is only 10%, why not just ditch the 10 and do whatever
you want? If your code is 10% and mine 90%, what makes you think you
have the right to demand what you can do with *my* code. I'm the one
who started the project, so shouldn't I be the one making the demands
if anyone is?
At the expense of the rights of the developer? What about the rights
of the main developer? Isn't he (or she) the creative force behind the
project? If not, why is anyone using his code and not some other code
base? And how is the fact that he's said, "let's share together" worse
than him keeping his code secret and not letting you use it at all.
Normally, it is said a contract must have consideration on both sides
to be valid. That means, I ought to get something from you if you get
something from me. With proprietary software, I get money and you get
software (usually). In the case of BSD or MIT licensed software, what
exactly do I get out the deal?
In the end, the GPL does cause some rewriting of code, but saves far
more, since it tends to discourage license forks. A GPL'ed program will
always be GPL'ed, therefore, there won't be ten different versions that
have incompatible licenses that prevent merging the code bases back.
With a BSD license, you can end up with a mess like WINE, where some of
the best enhancements to all of those hours of volunteer contributions
are locked up by Transgaming. Not to mention that when they attempted
to fix this by adopting the LGPL (which essentially is a license that
is hard to complain about), a BSD fork occurred, therefore creating
three WINE codebases, with the "real" and the BSD one missing major
enhancements.
Perhaps this is good for the enhancement developer, but how is it good
for all of the developers who spent countless hours getting WINE to the
state that allowed Transgaming to come in and all but steal that work?
-Tim
---------------------------------------------------------------
Timothy R. Butler Universal Networks www.uninet.info
==================== <tbutler at uninet.info> ====================
| Christian Portal: | Have you not learned great lessons |
| www.faithtree.com | from those who braced themselves |
| GNU/Linux News: | against you and disputed the |
| www.ofb.biz | passage with you? --Walt Whitman |
---------------------------------------------------------------
Presently on "Albert" (DP PPC 970 "G5" running at 2.0 GHz)
More information about the Christiansource
mailing list