Vote tallying...

Kushal Kumaran kushal.kumaran+python at
Sat Jan 19 02:25:15 CET 2013

Chris Angelico <rosuav at> writes:

> On Sat, Jan 19, 2013 at 7:24 AM, Ben Finney <ben+python at> wrote:
>> * MySQL's development has suffered under Sun, and become virtually
>>   moribund under Oracle. They operate as a closed shop, occasionally
>>   tossing GPL-licensed releases over the wall, with very little input
>>   accepted from the community.
> I don't know whether it's a legit concern or pure FUD, but it's been
> suggested that since the MySQL license is GPL and not LGPL, any code
> that links against it is forced to be GPL too. I'm not sure how far
> that goes (eg if you're using it from Python, at what point does it
> stop being "code linked to GPL code" and start being a discrete
> system), and IANAL, but I prefer to work with systems with more
> freedom in their licensing. PostgreSQL is under a BSD-like license, so
> it can be used without issues.

Oracle have a page about this:

> Also, and a completely irrelevant point but maybe of curiosity: It's
> perfectly possible to use PostgreSQL without linking against libpq (by
> reimplementing the wire protocol - Pike's pgsql module does that), but
> I've never heard of anyone doing that with MySQL. Perhaps if someone
> cared, they could release a non-GPL equivalent to libmysql and that
> would solve this problem. Not gonna be me, though, I'm quite happy
> with PG 9.1.

As far as python goes, there are at least two pure-python
implementations of the mysql protocol available:

- (MIT license)

- (GPL)

The second one is an "official" Oracle project.  Both of them support
python 3 as well.

> MySQL works very nicely with PHP. They each have certain sloppinesses
> that work well together to make it easy for an idiot to create a
> dynamic web site. PostgreSQL works equally nicely with stricter
> languages, where if you make a mistake, you get an error. MySQL gives
> your script a place to store data; PostgreSQL lets you set up a
> database and have application(s) manipulate it. The assumption in
> MySQL is that the script is always right; the assumption in PostgreSQL
> is that the database is always right. It's a philosophical
> distinction, and you just have to take your choice. For me, that's an
> easy choice, partly since I grew up with IBM DB2 on OS/2, with
> extremely strict rules (and, by the way, nothing *like* the
> performance of a modern database - old 200MB IDE hard drives didn't
> give quite the same TPS as a modern SATA).


More information about the Python-list mailing list