Vote tallying...

Chris Angelico rosuav at
Fri Jan 18 22:57:12 CET 2013

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.

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.

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