Non GPL Python MySQL Client Library.

P

Paramjit Oberoi

If you like simplicity, take a look at the Boost license:
Not bad... sort of like the MIT license I linked to above, only,
uh, slightly less simple, eh? <wink>

Yeah, I hadn't looked at the MIT license for a long time, and I didn't
realise it was even shorter. The only difference between the two seems to
be that the Boost license does not require any copyright notices to be
present in binary redistributions.
 
P

Paul Rubin

Lothar Scholz said:
This is not a possible option. I must use MySQL. 95% (??) of the
databases in the small company world are MySQL based.

Now this world becomes to look more and more like Micrsosoft,
especially if you keep in mind that MySQL AB is now owned by the
worlds 3rd largest Software Company SAP.

I don't understand what your issue is. You want to use a MySQL client
library in your application, you don't want to pay a license fee to
use the library, but on the other hand you don't want use the GPL'd
client because you want to charge a license fee your own users. If
the license fee system works so well for you, why don't you want to
participate in it in both directions instead of just one? You're
asking for an environment where you get to charge license fees but
nobody else does. That just seems like asking a bit much.
 
P

Peter Hansen

Paramjit said:
Yeah, I hadn't looked at the MIT license for a long time, and I didn't
realise it was even shorter. The only difference between the two seems to
be that the Boost license does not require any copyright notices to be
present in binary redistributions.

Agreed, on the surface, but there are enough small wording changes in
other areas, which might or might not have an important effect on the
construed meaning, depending on whether or not one happened to be a
lawyer or other agent of the court, that inasmuch as it would at first
appear to be reasonable for me to agree fully with you, I believe I am
obligated to say that in my opinion it is entirely unclear just how much
of a difference between the two there might be. E&OE. Carpe diem,
caveat emptor, et cetera, et cetera, ad infinitum.

-legalistically y'rs, ;-)
Peter
 
L

Lothar Scholz

I don't understand what your issue is. You want to use a MySQL client
library in your application, you don't want to pay a license fee to
use the library, but on the other hand you don't want use the GPL'd
client because you want to charge a license fee your own users. If
the license fee system works so well for you, why don't you want to
participate in it in both directions instead of just one? You're
asking for an environment where you get to charge license fees but
nobody else does. That just seems like asking a bit much.

Because i must sell my program for under 100 US$. And the client
library license fee's are much more then this 100 Euro.

My target audience is the small office / home office people. 90% of
them use MySQL on there website - because of the MySQL monopol in this
area.
 
S

Sion Arrowsmith

Mike C. Fletcher said:
PostgreSQL is freely available
for Windows platforms (I use it every day). It can be quite readily
installed as part of the CYGWIN environment, [ ... ]

Which means that either you have to persuade your target audience
to install Cygwin, or pay the licence to distribute the Cygwin
DLL if you want to bundle PostgreSQL with your product (as you
would be free to do with PostgreSQL on other platforms).
 
P

Peter Maas

Sion said:
PostgreSQL is freely available
for Windows platforms (I use it every day). It can be quite readily
installed as part of the CYGWIN environment, [ ... ]

Which means that either you have to persuade your target audience
to install Cygwin, [...]

AFAIK Postgres 7.4+ can be compiled with MINGW/MSYS on a Windows
platform and the resulting binary runs without Cywin.

Mit freundlichen Gruessen,

Peter Maas
 
S

Sion Arrowsmith

Peter Maas said:
AFAIK Postgres 7.4+ can be compiled with MINGW/MSYS on a Windows
platform and the resulting binary runs without Cywin.

Hmm, my reading of the docs is that that only applies to clients,
and not the server itself.
 
J

John J. Lee

I'm starting to believe that these libraries
aren't trivial at all if it results in a lengthy rant about the
situation.
[...]

Paul, I believe the point to which Mike was drawing attention was
unrelated to anybody's definition of the word 'trivial' <wink>.

His claim was that there exists a size of library below which nobody
producing software of any value will be persuaded by the existence of
that library to switch to a free license. So (he argues), for any
code below that level of triviality, it's pointless to GPL, because it
causes duplication of effort.

Of course, this argument misses the point that the GPL isn't only
there to garner converts to the GPL cause. It's also there
*precisely* to stop the authors of a piece of non-free code from
gaining any benefit at all from the work of GPL authors. Seems fair
enough to me. From the point of view of a GPL author, duplication of
effort by an author of non-free code may well be a good thing.

FWLIW, I'm not persuaded I should worry about commercial software
developers using my open-source code (I am one myself, after all ;-),
so I use BSD for stuff not derived from GPL code. OTOH, if there were
any risk of a commercial company directly selling my code and choosing
to 'embrace and extend' it, I don't think I'd hesitate much to use the
GPL.


John
 
P

Paul Rubin

FWLIW, I'm not persuaded I should worry about commercial software
developers using my open-source code (I am one myself, after all ;-),
so I use BSD for stuff not derived from GPL code. OTOH, if there were
any risk of a commercial company directly selling my code and choosing
to 'embrace and extend' it, I don't think I'd hesitate much to use the GPL.

There are some of us who are willing to develop either free code or
commercial code, but who only want to develop commercial code if we're
getting paid for it. While we might be happy to download and use
BSD-licensed programs, we're unlikely to spend significant time
contributing improvements to them, while we do contribute to GPL
programs. That means using BSD turns off a certain subset of
potential volunteer contributors. Microsoft already gives me enough
headaches sending me email viruses--the last thing I want to do is
work for them for free by letting them incorporate code that I write
into Windows.

Using GPL may also turn off some contributors; whether that number is
higher or lower, I can't know for certain. But I do notice that the
most successful volunteer-initiated free software projects (e.g. Linux
kernel, GCC compiler) tend to be GPL. (Projects like BSD, X Windows,
and maybe Apache, were initiated by people who were getting paid and
so this particular objection was neutralized for them. The volunteers
who came or stuck around afterwards were of course self-selected for
being ok with those licenses).
 
P

Paramjit Oberoi

programs. That means using BSD turns off a certain subset of
potential volunteer contributors. Microsoft already gives me enough

Using GPL may also turn off some contributors; whether that number is
higher or lower, I can't know for certain. But I do notice that the

I can't claim to speak for others, but the few contributions that I have
made to open source software projects have been because the software
didn't do what I wanted it to do, and I was simply implementing that
functionality for myself. The exact license probably doesn't affect
people with this motivation... we do what we have to do, despite the
license.

-param
 
?

=?iso-8859-1?Q?Fran=E7ois?= Pinard

[Paramjit Oberoi]
I can't claim to speak for others, but the few contributions that
I have made to open source software projects have been because
the software didn't do what I wanted it to do, and I was simply
implementing that functionality for myself. The exact license
probably doesn't affect people with this motivation... we do what we
have to do, despite the license.

Interesting. Your remark triggers myself into asking why I contributed,
and into noticing that my own motivations changed over time.

Surely, at the beginning and for a lot of years, my main motivation was
thanking the free software community in some real way, where I could,
for all I already received from it. Nothing so special really, it's
merely part of my education and values to do such things.

An unexpected return of this effort is that, over the years, it put me
in contact with really a *lot* of interesting people, some of which even
became very good friends. The drawback was the pain of taking technical
and administrative care of complex or difficult software and projects,
sometimes quite far beyond my own interests, and the huge amounts of
energy it all required. The contact with people, accidental at first,
progressively became my principal reward. But also my doom, as there
were essential, but non-pleasurable contacts I could not ignore nor escape.

But most of this is now all over, as I have the feeling of having well
repaid my share to the community, and also because I have less energy
now than I used to. So, why do I still contribute a few tiny things,
once in a while? I may be a bit more like Paramjit now: I do things
to meet my own needs, and sometimes think some of them may be useful
to a few others as well, not much, yet enough to warrant the effort of
sharing. That effort surely exists when I have to produce a kind of
Python packaging and some documentation I do not really need :). And to
my surprise and pleasure, I'm still getting nice contacts out of these
simple publications! Moreover, my things being humble enough, I may
ignore what I do not like, without any real fear of impacting my users.

P.S. - I guess I could contribute more, and in other ways, if there were
not those damned bug trackers! :). I much prefer these UI failures with
those who enjoy them, knowing anyway that what I do not do, others will.
 
Y

Yves Piguet

Lothar said:
Hello i want to write a commerical small tool that must access a MySQL
database but i can't afford the License Fee for the original MySQL
driver. In the Ruby world there exist a small but working pure ruby
library that can be used without buying a license or putting your
application under the GPL.

Is there anything like this in the Python world ?

I've got the same problem, and I've tried to use the public-domain
client version found is MySQL until version 3.20. This seems to
work fine with MySQL 4 server, at least for basic functionality.

Get it at

http://www.nyctergatis.com/mysql/index.html

Enjoy!

Yves
 
V

Ville Vainio

Lothar> driver. In the Ruby world there exist a small but working
Lothar> pure ruby library that can be used without buying a
Lothar> license or putting your application under the GPL.

Lothar> Is there anything like this in the Python world ?

Why don't you do it yourself?

Create a trivial python server process that executes all the python
commands it receives from a TCP socket, and sends back the result as a
pickle over the same socket. The MySql client library is then
dynamically linked with the server process only, so only the server
process is infected by GPL.

Kinda sucks for large objects, but for some purposes it ought to be
enough.
 
V

Ville Vainio

Francois> Libraries are commodities, but so is a lot of
Francois> non-library software.

Yep, but you generally don't link with non-library software, you just
use it. "Using" a library is essentially linking with it, so a GPL'd
library sucks for the user, while a GPL'd program guarantees for the
user that it will remain free. The user of a GPL'd program is not
required to give anything back.

Francois> free software, there are other good free software
Francois> licenses too. But the GPL is not "wrong", and
Francois> developers are not "bad" because they choose it.

They are not "bad", they just want to profit through dual-licensing
the library with a commercial license. It's an entirely valid and
succesful business model. And, as always, the sucker is the one who's
paying, not the one who's asking.
 
P

Paul Rubin

Paramjit Oberoi said:
I can't claim to speak for others, but the few contributions that I have
made to open source software projects have been because the software
didn't do what I wanted it to do, and I was simply implementing that
functionality for myself. The exact license probably doesn't affect
people with this motivation... we do what we have to do, despite the
license.

If I can fix my problem with a simple patch, sure, I'll do it and send
it in whatever the license. If a real fix needs a substantial amount
of development effort, but my immediate requirement can be solved with
some kludgy workaround, I'm more likely to invest the development
effort in the case of a GPL program, but go with the workaround for a
BSD program.

Also, if I make a substantial improvement to a BSD program, I (or my
managers) now face the temptation of selling the improved version as a
proprietary product rather than contributing the improvement back to
the public distribution. There are several known cases of someone
inside some company extending a GPL'd program (e.g. retargeting GCC to
a new processor) and being allowed (by company management) to release
the improved version as free software ONLY because the GPL had removed
the option of releasing it as proprietary software.
 
D

David Fraser

Ville said:
Francois> Libraries are commodities, but so is a lot of
Francois> non-library software.

Yep, but you generally don't link with non-library software, you just
use it. "Using" a library is essentially linking with it, so a GPL'd
library sucks for the user, while a GPL'd program guarantees for the
user that it will remain free. The user of a GPL'd program is not
required to give anything back.

Francois> free software, there are other good free software
Francois> licenses too. But the GPL is not "wrong", and
Francois> developers are not "bad" because they choose it.

They are not "bad", they just want to profit through dual-licensing
the library with a commercial license. It's an entirely valid and
succesful business model. And, as always, the sucker is the one who's
paying, not the one who's asking.

Where it hurts with MySQL is those designing multi-database applications.

David
 
L

Lothar Scholz

Lothar> driver. In the Ruby world there exist a small but working
Lothar> pure ruby library that can be used without buying a
Lothar> license or putting your application under the GPL.

Lothar> Is there anything like this in the Python world ?

Why don't you do it yourself?

Create a trivial python server process that executes all the python
commands it receives from a TCP socket, and sends back the result as a
pickle over the same socket. The MySql client library is then
dynamically linked with the server process only, so only the server
process is infected by GPL.

Kinda sucks for large objects, but for some purposes it ought to be
enough.

This this is what i will do. Except that it is not failsafe if MySQL
AB wants to give some work to there lawyers. MySQL AB defines a socket
communication as linking. Just to forbid things like this, but on the
other hand they put there product under the GPL and the GPL does not
define this as linking.

But i hope i will make not so many sales that MySQL AB knows about my
existence :)
 
V

Ville Vainio

Lothar> On 01 Jul 2004 18:58:29 +0300, Ville Vainio <[email protected]>
Lothar> wrote:

Lothar> This this is what i will do. Except that it is not
Lothar> failsafe if MySQL AB wants to give some work to there
Lothar> lawyers. MySQL AB defines a socket communication as
Lothar> linking. Just to forbid things like this, but on the other
Lothar> hand they put there product under the GPL and the GPL does
Lothar> not define this as linking.

Yes - MySQL AB could as well define that playing Quake on the machine
that is running mysql client libraries is linking. Such definitions
might apply with their proprietary license (which they can write any
way to want), but they can't touch GPL :).
 
D

Daniel Dittmar

Ville said:
Lothar> lawyers. MySQL AB defines a socket communication as
Lothar> linking. Just to forbid things like this, but on the other
Lothar> hand they put there product under the GPL and the GPL does
Lothar> not define this as linking.

Yes - MySQL AB could as well define that playing Quake on the machine
that is running mysql client libraries is linking. Such definitions
might apply with their proprietary license (which they can write any
way to want), but they can't touch GPL :).

The GPL only talks about 'derived' work. The FAQ
http://www.gnu.org/licenses/gpl-faq.html#TOCMereAggregation says that
communication via pipes or sockets hint that two separate programs are
involved. But (quote) """if the semantics of the communication are intimate
enough, exchanging complex internal data structures, that too could be a
basis to consider the two parts as combined into a larger program."""

So the interpretation of the GPL by MySQL AB is not inconsistent with the
GPL or the GPL FAQ.

Daniel
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,202
Messages
2,571,057
Members
47,662
Latest member
sxarexu

Latest Threads

Top