Non GPL Python MySQL Client Library.
Mike C. Fletcher
mcfletch at rogers.com
Tue Jun 29 03:42:02 CEST 2004
François Pinard wrote:
>[Mike C. Fletcher]
>><rant>And developers; stop GPLing libraries which are essentially
>>commodities. The GPL is effective when you are dealing with code
>>which is so compelling and unique that it is easier to buy into
>>the FSF's manifesto than to switch or write a substitute. [...]
>>GPL is a PITA when working on commercial products and often forces
>>reimplementation... when it's commodity code that's just entirely
>GPL is a likely PITA for whoever does not like it. If one doesn't like
>the GPL, then one should be congruent enough to merely not use GPL'ed
>code, instead of spending sweat and blood, trying to bend it.
Which was the thrust of my suggestion elsewhere in the message. Free
not just users, but developers as well. But the implication of what you
just advocated is that the community (which consists of both libre and
non-libre developers) *must* develop two different versions of the
software. In other words, they *must* duplicate the effort of development.
>original plan of the GPL is to have so much good and attractive code
>flying around, which is GPL'ed, than people will give in free software
>instead of doing it all over again. That plan went pretty well so far.
To some extent, sure, and for some project areas. But there are lots of
cases where people look at the GPL requirements and say "no, I have to
re-implement that"... it's that waste that bothers me. Particularly as
a BSD-style developer of libraries, I find it annoying to have to
re-implement trivial GPL libraries just to avoid infecting my users for
a few hours of convenience on my part.
I don't argue against GPLing KDE, GCC, or the Linux Kernel, but GPLing
an ever-so-slightly-better PostgreSQL client library... I mean, really,
why? Developers aren't going to look at that and decide to convert,
they'll just go with one of the non-GPL-encumbered libraries and split
the pool of developers in half, slowing humanity's progress by just that
much in order to impose a particular philosophical position on others.
This is what I mean by a "commodity" library.
>Libraries are commodities, but so is a lot of non-library software.
>Developers who consider that the GPL brought good software to them, may
>well choose to produce some GPL code in return, in so contributing to
>the critical mass. You invite people to stop GPLing libraries because
>it annoys those who do not like the GPL. I would rather read this as a
>practical proof that the GPL serves its purpose: if people against the
>GPL were not a bit bitten by it, the GPL would be useless.
My concern is the waste of effort. The simple fact is that there are
groups doing proprietary software. For them the GPL simply isn't a
choice. Instead of getting their contributions added to an existing
library, they must develop their own library. LGPL (or BSD/MIT), on the
other hand, allows everyone to use the same code base, contributing and
extending it. It avoids the fragmentation and waste.
The FSF's original strategy with the GPL assumes that the library is of
such value that it is reasonable to go the FSF way rather than
re-implement. When the libraries are basically trivial, they don't even
begin to surmount the barrier to entry, so all you're doing is forcing
pointless fragmentation. The LGPL was developed precisely because there
are lots of situations where that assumption just isn't true, and it's
more valuable to get the contributions of everyone to the library than
to force the bifurcation of libraries. If the FSF, which represents the
most extreme view of the situation is having to admit that there is a
need for such a license I'd submit that there's a pretty good argument
for those not occupying the ideological extreme to seriously consider
the argument for every library they develop.
As for the idea that the goodwill engendered by GPL software will make
others want to GPL their code, the same argument holds for BSD and/or
MIT, no? I'd argue that it applies to an even greater extent, because
the BSD/MIT software tends to treat the end-developer as an adult,
rather than a recalcitrant child.
>Sometimes, people want the butter and the money of the butter (from a
>French idiom: "Le beurre et l'argent du beurre"). They want everything
>without giving anything back. The GPL is there to remind people that
>the overall game is a give-and-take. It is something useful.
If you like it, feel free to continue liking it ;) . As I mentioned, I
prefer the BSD licensing scheme. And just to clarify, the GPL isn't a
reminder, it's an attempt to *force* give-and-take. That's perfectly
fine if that's your goal, but don't mistake it for a touchy-feely
reminder :) . The question is whether you feel the need to impose your
desires, or whether you rely on people's better nature.
>P.S. - Please do not read me as saying that the GPL is the only path to
>free software, there are other good free software licenses too. But the
>GPL is not "wrong", and developers are not "bad" because they choose it.
Oh, come on, it's much more fun if we sling about huge generalisations
and moral characterisations. I'll start the ball rolling:
The GPL represents an attempt to enforce maturity on others, while
the Python, BSD and MIT licenses assume the maturity of the
audience. Whether there is a moral superiority depends on whether
you consider the proper way to improve society to be exemplary
conduct and education or the external imposition of law (more
basically, are people generally "good" or "evil").
It would seem that the more "Zen" (and I use the term loosely)
approach of living a good life, and giving your gifts to the world
without attempting to impose your will on another is the path taken
by the Python developers, but there are others, such as the Free
Software Foundation who have chosen more of a bondage and discipline
approach to improving society.
The underlying philosophical question is one which every human must
decide for themselves, so there is, perhaps no final solution to the
question. That won't stop me from advocating my position, however ;) .
And that, I think, is where I will stop, as we're obviously a good
little way from discussing Python any more, and this debate really can't
reach any sort of conclusion.
Have fun, and peace out,
Mike C. Fletcher
Designer, VR Plumber, Coder
More information about the Python-list