<latemp_subject "FOSS Licences Wars - First Supplemental" />
<latemp_meta_desc "FOSS Licences Wars - First Supplemental" />
<h2 id="why-bsdl">Why I prefer Permissive Licences?</h2>
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.
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 from programming, and then started programming BASIC
again - this time <a href="http://en.wikipedia.org/wiki/QBasic">QBasic</a>.
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
I’ve now made them, and some other C code from that era,
<a href="http://www.shlomifish.org/open-source/nostalgia/">available as free
and open source software under the X11 Licence</a>.
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 open
source nature or the GPL licence. I also downloaded other software. I did know
the software was gratis, as opposed to
<a href="http://en.wikipedia.org/wiki/MSQL">MiniSQL/mSQL</a> which was
sourceware and shareware. That 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 many
misunderstandings 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 href="http://www.shlomifish.org/grad-fu/">a patch for GIMP</a> which I made available, but has since
taken some other iterations and incarnations to be embedded. And then I
released <a href="http://fc-solve.shlomifish.org/">Freecell Solver</a>
(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 various licences.
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 reuse by some
developers of BSD software, for inclusion into the core BSD distributions,
for some developers of non-GPL-compatible-but-still-open-source software, etc.
I don’t want that - I want my code to be of the maximal use possible.
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 licensing
world as a whole, and I would prefer not to open that Pandora Box.
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 didn’t become 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
“The GPL, the BSD, and being a Sucker”</a> mini-essay.
To sum it up here, 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”, “philanthropy” 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 <a href="http://en.wikipedia.org/wiki/The_Virtue_of_Selfishness"><i>The Virtue of Selfishness</i></a> - 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,
A <a href="http://en.wikipedia.org/wiki/Post_hoc_ergo_propter_hoc">post-hoc
fallacy</a> - 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.
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.
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.
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.
<a href="http://en.wikipedia.org/wiki/Hakuna_matata">Hakuna Matata</a>.