On Friday 21 August 2009 19:58:13 Shlomi Fish wrote:
> Hi all!
> I have published a new essay about free software licences:
> Any comments will be welcome.
Replying to myself (while de-CCing Perl-IL) I'd like to note that in my
coverage of the reasons of why I prefer public domain licences instead of weak
copyleft or strong copyleft licences, I probably missed the one that was the
most important for me. So this is a GPL-vs.-BSDL post.
I'll start with a little history. Back when I got my first computer - an 8088
PC XT with two 5.25" 360 KB diskette drives, and no hard disk, I started
programming in BASIC - first the one that came on the BIOS and then BASIC.COM
or GWBASIC. (BASICA wouldn't run on my computer, for some reason). Back then,
I programmed mostly games and my friends and I shared tips and programs
I took a long break in programming, and then started programming BASIC again -
this time QBasic. Then I got my father to buy a C compiler and he bought me
Turbo C++, which I used for somewhat more "serious" stuff than BASIC (though I
still used QBasic). Back then I wrote two libraries-of-sorts - called CCalc
(for various mathematical routines) and CSee (for graphics) which I intended
to distribute as shareware. I don't recall if I wanted to include the source.
I've now made them, and some other C code from that era, available as FOSS at:
In any case, back then we were used to the fact that we have to pay for our
software, so I probably thought that making these libraries public-domain was
not worth it.
After I started getting into the world of UNIX, Linux, GNU, and open-source I
realised there was a lot of software out there distributed with the source,
which I could download and compile. I used to think of prep.ai.mit.edu (the
old primary FTP host for gnu.org) as a cool collection of source code, which I
could download, read the INSTALL file, build and install (sometimes after
fixing the source). I wasn't interested in the implications of its FOSSness or
the GPL licence. I also downloaded other software. I did know the software was
gratis, as opposed to MiniSQL/mSQL which was sourceware and shareware, and it
was good enough for me.
After I became more involved and started playing with Linux for developing
software on it, I learned even more and understood what "free (as in speech)
software" or as it was later called open-source software was all about. One
thing I understood back then, was that it took me a long time to fully get to
the bottom of all the GPL's nuances, and that I thought the public domain was
preferable, because I didn't care too much about people changing the licence
to something else, or using it in their own non-free/non-GPL-compatible
software. A lot of people I have talked with since have shown some mis-
understandings of the GPL.
In any case, I had initiated some FOSS projects under the public-domain which
didn't amount to a lot. I also wrote a patch for GIMP (see
http://www.shlomifish.org/grad-fu/ ) which I made available, but has since
taken some other iterations and incarnations to be embedded. And then I
released Freecell Solver (originally under the Public Domain - now MIT/X11)
and did a lot of extensive work on it, and then started some other moderately
successful MIT/X11 projects, or contributed to or adopted FOSS projects under
So why am I still sticking with the MIT/X11? The main reason I think is that
as an open-source programmer, I'm not interested in worrying about how people
abuse my code. I don't like Apple, and am not fond of many Microsoft products.
But I'm not interested to prevent Apple or Microsoft or any other developer of
commercial and/or proprietary software for Windows or Mac OS X or the iPhone
or whatever from using my code in their projects. In fact, I would prefer them
to use my code than to create a proprietary replacement. Not to mention that
making my code GPLed may also make it inappropriate for some developers of BSD
software, BSD distributions, some developers of non-GPL-compatible-but-still-
free software, etc. I don't want that - I want my code to be of the maximal
I should note that I'm more worried about my code being used for malicious
purposes by evil governments, as I think no big corporation in history has
been as abusive as some past and present governments that come to mind. But
preventing internal use or "defence use" or government use or whatever will
make it non-FOSS, (and non-GPL-compatible), not to mention that adding random
restrictions ("cannot be used by Neonazis", "cannot be used by terrorists",
"cannot be used by 'Zionists'", etc.) will fragment the software world as a
Back to the topic: I don't want to be bothered about legal issues with my
software. If you want to use my code - use it. "Drive safely, the keys are
inside.". If you encounter any technical problems with the code (bugs,
documentation issues, etc.) then I'd be interested to hear about them, because
that will improve the quality of the product, which will hopefully make it
even more successful. But I'm not a FOSS developer, so I can sue people for
violating the licences of my works. I have better things to do with my time,
that bring me much more benefit.
Now, on to the issue of whether developing BSD-style code makes me a "sucker".
I covered it earlier in:
(short URL - http://shlom.in/gpl-bsd-sucker )
In short, I don't see why contributing to one's neighbour (or the public at
large), willingly and on one's free time (which may be called "donation",
"philantropism" or even "altruism") and for a non-harmful cause can be
considered as being a "sucker". Everybody is able to use GPLed software of
various originators too free-of-charge or put it into good use in many legal
and legitimate ways and yet you don't hear that often that people who develop
GPLed software are "suckers".
I don't see myself as a sucker, just by allowing people (whether individuals,
corporations, governments or any other organisations) to use my software in
non-free contexts, and don't think anyone should say that the GPL is the
"don't-be-a-sucker" licence because BSD-style licences are by implications
"be-a-sucker" licence. I hate selfishness. (And I don't mean "rational self-
growth" or acting-out-of-one's-own-best-self-interest, which is what Ayn Rand
meant in the book "The Virtue of Selfishness" - I discuss it in the link
Another argument that you can often hear against the BSDL was that the Linux
kernel was more successful than the BSDs due to its GPLed licence. However,
1. A post-hoc fallacy - http://en.wikipedia.org/wiki/Post_hoc_ergo_propter_hoc
- just because Linux is more successful than the BSDs, doesn't mean that the
licence was the main reason for it, or the only reason.
2. In accordance to #1 - may be attributed to other factors such as Linus
Torvalds' leadership skills, the kernel's adoption of the Bazaar-style of
development, the willingness of Linux distributions to use the GNU project's
software by default as run-time, the cooler name, the lack of initial legal
limbo that the BSDs had, etc. etc.
3. One can find examples to projects in other niches that have been very
successful despite their permissive licences - Apache, X-Windows, SQLite,
PostgreSQL, Python, libxml2, OpenSSH, etc. So extrapolating from one instance
(the kernel) to everything is not scientific.
4. The BSD-based kernels and operating systems are doing fine, despite not
being as popular as Linux. Often, people use code from efforts by BSD
developers in Linux (e.g: OpenSSH or some of the OpenBSD wireless drivers that
were adapted and integrated into the Linux kernel). So it's not as if, they
have completely "lost".
While I'm still using GNU/Linux (Mandriva Linux Cooker in my case) because
that's what I've grown accustomed to using, I would still like to play with
some BSD derivatives and OpenSolaris. I'm also not planning on switching to
gNewSense or one of the Free Software Foundation's endorsed "100% Free
Distributions", because Mandriva is free enough for me.
To sum up, I'm not trying to dissuade you from licensing your software under
weak copyleft or strong copyleft licences, but I'm still happy with my code
being BSD-style. I'm glad to learn of any use someone has been making of it,
and in the few times it has been used in commercial or proprietary contexts,
it did not make me regret that I released it as FOSS. I hadn't wanted it to be
an issue in the first place, and so it wasn't. Hakuna Matata.
Shlomi Fish http://www.shlomifish.org/
Stop Using MSIE - http://www.shlomifish.org/no-ie/
God gave us two eyes and ten fingers so we will type five times as much as we
Linux-il mailing list