Chris Angelico <ros...@gmail.com> writes: > On Sat, Jan 19, 2013 at 7:24 AM, Ben Finney <ben+pyt...@benfinney.id.au> > 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: http://www.mysql.com/about/legal/licensing/foss-exception/ > 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: - https://github.com/petehunt/PyMySQL (MIT license) - https://launchpad.net/myconnpy (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). > -- regards, kushal -- http://mail.python.org/mailman/listinfo/python-list