Home > Databases > MySQL Addresses Open-Source License ProblemMySQL Addresses Open-Source License Problem Eugenia Loli 2004-03-14 Databases 37 CommentsMySQL has taken a step to mend a rift in the open-source world by updating a controversial licensing provision that had broken a close tie between the MySQL database and another software package.About The Author Eugenia LoliEx-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.Follow me on Twitter @EugeniaLoli 37 Comments 2004-03-14 3:04 am Maybe next MySQL will put some work into addressing the enormous performance gap between itself and PostgreSQL. I know that were I in the market for an enterprise-class RDBMS, I wouldn’t even consider MySQL at this point. 2004-03-14 3:08 am I agree, but I wouldn’t settle for an inferior open source database with a name I can’t even pronounce. If you’re going for enterprise, why not go all the way and get Oracle? 2004-03-14 8:21 am What’s so wrong with MySQL? It is the fastest of the databases I have tried on the Linux platform. It is the easiest SQL database I have used for my own humble purposes. I can do everything I need to do from the Shell. So why do some of you people hate MySQL. Please enlighten me and others as to why a database that is so prevalent is supposedly so crap. 2004-03-14 9:26 am Please .. don’t even get me started about Oracle. If you’re looking for the biggest of bloatware since Windows, then go waste your money on Oracle. Oracle’s quite good at doing things — which the application should be doing in the first place and not the DB — slowly and then showing off with its fancy billion types of constraints which no one in their right mind would ever use.Yuck.MySQL working together with SAP should produce some interesting results in the future..And hey .. who uses databases bigger than 5TB anyway? Not your average MySQL-using user. 2004-03-14 9:48 am If they keep gpl instead of lgpl client (gpl for the server is fine), they will go back to a niche market (embedded database, and so on).Postgresql will get a native port to Windows (v7.5 I believe), as Firebird already has. It will be harder and harder for MySQL to fight against more mature products with more liberal licenses even if they have 20 M€ in the bank. 2004-03-14 9:50 am Hione real reason is that mysql is dual licensed under gpl. that means that proprietary software people would have to pay. they want to use stuff without paying a dime which wont work that way using proprietary stuffits like gtk and qtAmen 2004-03-14 10:02 am http://www.firebirdsql.org/ (.org unlike mysql.com)Firebird is a RDBMS (relational database) and MySql’s currentstable production quality version is not RDBMS.Firebird is Open Source DB given by Borland, it used to be called Interbase.MySql’s licensing is confusing and you have to pay for license for commercial use. Firebird is free.Firebird has most and similar very advanced features that are present in Oracle and MSSQL.MySql supports only basic level of SQL queries.MySql’s ver 5 will be RDBMS but that will take a lot of time to become a production quality database.MySql is good for databases with very simple schemas.And its bugs bites(make you loose money). 2004-03-14 10:51 am Well, interesting responses. So it seems if you fall on the bloated side, you take Oracle. If you want speed and your databases are not complex(!) you can choose MySQL.Is it not a truth that most databases today are not well designed and therefore much more complicated than they need be to get the job done? Hence why the herd follow the bloated path? 2004-03-14 10:56 am Well, interesting responses. So it seems if you fall on the bloated side, you take Oracle. If you want speed and your databases are not complex(!) you can choose MySQL.Is it not a truth that most databases today are not well designed and therefore much more complicated than they need be to get the job done? Hence why the herd follow the bloated path.What’s this about MySQL not being relational, you can make links and have several tables, without any problems. Do I take it that some people commenting here do not know how to use MySQL? 2004-03-14 1:41 pm Until recently, mySQL missed some important features needed in a real database: stored procedures, transactions, …It’s the same with Access and SQL server, Access is much faster to develop with, but in the end, you run into its limits. And then you change anyway towards the big thing.SAP is doing good on mySQL, basing their maxdb on it. SAP saw clearly that mySQL, as it is now, is not sufficient to run a decent application on.MySQL is good for web, where you want to keep guestbooks, and download lists, but not for running your business on. 2004-03-14 2:12 pm We use MySQL at work. It really is a joke, as far as stability goes. Throughout a day, we issue well over several million transactions (we have whole RAIDs just for the DB tables). It crashes with regularity. Very frustrating. 2004-03-14 2:33 pm Himillions of transactions is what slashdot.org handles using mysql and they have been pretty fine with it. maybe its the way you have set it upregardsJess 2004-03-14 3:04 pm I agree … Firebird is a much better RDBMS. Not everyone needs a good RDBMS however.None of the open source Linux solutions are as good as Oracle or IBM DB2 … to say that they are is just outright FUD. Hey, I love OSS, and PostGreSQL and Firebird are both good Databases … they are just not as good as Oracle/DB2.Oracle 9i Database is rock solid stable on RHEL 3. The only problem is cost … if you can afford to run Oracle 9i on RHEL 3, then something else is going to be necessary.MySQL has procured the DBMAX capability and as they incorporate more of that into their product, it will become a good RDBMS system. If MySQL does what you need, great … it is fast (since it doesn’t do all the functions the other do).But all things considered, I like firebird best from the OSS solutions … although if you are looking for standard solutions you can download (ie php scripts already written), then MySQL has the most, followed by PostGreSQL, then Firebird…. 2004-03-14 3:10 pm Pronounce Post-Gress-Que-Ell. I’m fairly sure the site says that somewhere. 2004-03-14 3:41 pm HiThats true but lot of us dont need what oracle offers. we are pretty contend with what mysql,postgres and firebird does. In several categories competing solutions can win with a product that is “good enough”oracle doesnt target the same market segment that firebird does. I believe in certain market niches proprietary solutions will always existfor example1)games2)high end multimedia3)high end databasesfor other market segments like operating systems and office suites oss solutions are competitive. I am not saying that they are clear win but they are something that the competitors should keep an eye on and be worried aboutexample1)apache2)linux3)mozilla firefoxand so onregardsJess 2004-03-14 4:17 pm I’m a longtime PostgreSQL user, but I’d like to give Firebird a try. I’m hoping that the Firebird users here can help me out with something. Are there any docs for verison 1.5? All I can find on firebird.sourceforge.net are a bunch of ancient manuals for old versions of Interbase. The doc/ directory in the 1.5 source tarball isn’t much better.Where do I need to look? 2004-03-14 4:58 pm Hihttp://www.ibphoenix.com/downloads/60All.zipregardsJess 2004-03-14 6:42 pm Sorry forgot to mention PostgreSQL, they have recently improved its performance. It _used_ to have certain field size limit problem.I’m new to Firebird and trying to convert from our existing MySql database to Firebird 1.5. I wasn’t aware of Firebird as Open Source database until recently few weeks ago it was mentioned here on OSNews. The n-way Replication, Stored Procedures, Triggers, Domains and $0 licensing(currently we pay $’s to for MySql license) were good enough to convert to Firebird. MaxDB (mySap) have a much higher license fee even compared to MySql 4.0.x .Firebird 1.5 people needs to improve database security and permissions architecture.With Stored Procedures and Triggers I hope to move lot of our code/buisness-logic to database.The only thing Firebird lacks is popularity. 2004-03-14 6:51 pm HiIt will reach popularity as support improves. you dont need a popular piece of software to get your work done now. i use fairly obscure tools to get my work done. heard of ratpoison?😉regardsJess 2004-03-14 7:16 pm I have a really difficult time reading these discussions that occur every time there’s a database topic on OSNews because there seems to be nothing short of blind zealotry concerning each poster’s pet database, with no regard to the actual topic being presented (which in this case is MySQL’s licensing scheme).But, since the conversation has diverted paths, I might as well address what I see as the giant misunderstanding about what a *good* database can and should do. As a DBA for a data warehouse just shy of 2 terabytes (SQL Server), it’s really painful to read posts from people who don’t seem to really understand databases or the terminology. For example, referring to things like the “millions of *transactions*” slashdot.org handles. A transaction is a very specific database term which applies the principles of ACID to maintain database consistency for multiple actions against data – a process which is most certainly NOT necessary on most websites (including slashdot) but is rather more classically exemplified in advanced processing such as what banking databases achieve.As far as the comment about Oracle “showing off with its fancy billion types of constraints”, I can’t help but wonder if the poster has ever designed a database where data integrity is important.The point that I wish people could begin to understand is that – now read this carefully – the entire point of a database is to store data, to allow that data to be queried and manipulated (preferable FAST), AND to ensure the integrity of the data being stored! It’s the last part that seems to be misunderstood. It’s that part that makes people refer to certain RDBMS tools as “toy databases” because they miss key elements of what makes for good data storage.Tools like constraints, data types (I don’t care what the SQLite developer <a href=”http://www.sqlite.org/datatypes.html”>says, not enforcing datatypes is not a FEATURE – it allows the introduction of inconsistent data and is therefore a BUG), triggers (a sometimes yucky tool, but like anything else if used correctly it is sometimes the best way to solve a problem), and proper transaction handling are all EXTREMELY important aspects of a *good* RDBMS.I’ll take slow and correct over fast and wrong any day. That’s all. Rant off. Good to see MySQL is taking steps to widen its accessibility from a licensing standpoint. 2004-03-14 7:21 pm HiYou are simply ranting.Would the above poster kindly answer that questionregardsJess 2004-03-14 7:27 pm Easy enough…It works quite well, it is backed pretty good by many developers around the world, and there is a wealth og programs build upon it, which does not change their DBMS over night.A big plus is, that there is also a great administration interfaces to it..(PHPMyAdmin, MySQL Administrator).Some people may call MySQL users kiddies, but they get their job done, and get paid for it by the end of the day.Thank You, now who’s a kiddie now? 2004-03-14 7:27 pm I downloaded that zip file and found several PDFs for Interbase 6. The copyright on them was 1999. This is exactly what I referring to as ” a bunch of ancient manuals for old versions of Interbase.” Are there docs for Firebird 1.5 anywhere? 2004-03-14 7:32 pm SQLite as stated in the post. 2004-03-14 7:34 pm SQLite doesn’t. It’s “typeless.” See http://www.sqlite.org/datatypes.html for more on this.Also, MySQL does a pretty shady job of enforcing datatypes. It does practically no range checking on its DATE type. For instance, things like “02-31-0000” are accepted as valid, even though there is no February 31st and there was no year 0. It also mangles NULLs into a lot of other things (empty strings, 0 or the current time, depending on your column type). See http://sql-info.de/mysql/gotchas.html for more. 2004-03-14 7:38 pm HiI got it from the firebird site. It says they are looking for a technical writer. Unfortuntely I am too busy to help them outregardsJess 2004-03-14 7:41 pm I would put SQLite right above a simple HASH (DBM) type database. If you use it with that purpose in mind then SQLite is great. Please don’t try to make it into something it isn’t. 2004-03-14 7:47 pm Hisql-lite as its name implies is meant for light purposes where you dont need a true database. dont use it as an example. its very stupid to do so.http://sql-info.de/mysql/gotchas.htmlthe above link is used to deride mysql is several cases where the information doesnt apply to the later versions. do a check yourself. i am sure that you will not all gotchas are really gotchas. check in the mysql newsletters for more information.MySQL is used by millions of users and they are not fools. They use it because it servers their purposes very well.Understand the issues before sounding offregardsJess 2004-03-14 7:50 pm HiThe sql lite designers that type of data shouldnt be enforced at the database level. you do not agree with it. probably they want a layer over it that covers this enforcement. if you dont agree with them dont use the “database”regardsJess 2004-03-14 8:15 pm The point of my comment was not to deride SQLite, or MySQL, or any other database for that matter. The point of my comment was to point out (aka: rant about) the fact that many of the advocates for their various pet databases like to come out of the woodwork on topics like this and try to point out why their database is better, or defend why MySQL isn’t a “toy database” or whatever. And, it appears to me at least that many of the advocates don’t know the first thing about the various features or short-comings of databases they advocate or deride.No one winds up convinced of any one else’s argument, and the topic at hand ends up entirely derailed – as has happened here since the topic for discussion seems to be MySQL’s license.I’d be interested in hearing from anyone who has something to say about PHP’s position as it relates to including MySQL connectivity… any takers??? 2004-03-14 8:20 pm Well… Matt.No big thing about about it..Eventhough it is harder to get included than excluded, i am convinced that PHP will do the right thing and reintroduce MySQL connectivity. 2004-03-14 8:23 pm HiPHP is shipping with a sql lite database instead of mysql due to licensing issues since php license is incompatible with gpl and now that an php specific exception has been made by mysql thats no longer the problemhowever php developers do not want a copy of third party libraries within php anymore and hence they avoid that as much as possible. what the exception what help is companies like redhat and mandrake which can ship with the latest versions of mysql and php combined together from now on which in turn will drive adoption of new features of mysql better.regardsJess 2004-03-14 10:19 pm How is the information on the MySQL Gotchas site out of date or no longer applicable? The site claims that all of the gotchas have been tested on 4.0.x and 4.1-alpha. Do you have specific examples of which gotchas no longer apply to specific versions of MySQL ? 2004-03-15 5:07 am Matt,I didn’t think it was possible for a DBMS to be *worse* than MySQL at handling data integrity, but you have just enlightened me (http://www.sqlite.org/datatypes.html).Take this as a case in point:“SQLite always converts numbers into double-precision (64-bit) floats for comparison purposes. This means that a long sequence of digits that differ only in insignificant digits will compare equal if they are in a numeric column but will compare unequal if they are in a text column.”Arrgghh…And of course, the SQLLite argument that datatypes in a DBMS are a “misfeature” has to be the most blindly arrogant thing I have seen since MySQL’s old diatribe against foreign key constraints (now removed from their site, since MySQL finally sort of started supporting FKs)And, I concur in your other points completely.(Now, attempting to get back on-topic…)As to the buzz about the licence, MySQL plays these licensing games like it plays everything else: as a politician with a keen ear toward PR, rather than a firm commitment to clarity and uncompromising quality. They have been masters at playing the IT press (who are mainly clueless about their chosen field anyway).So, MySQL first yanks users around with their licensing, and then, they seed the headlines to look like heroes when they finally make an “exception” for public goodwill. Meanwhile much more capable and better-coded open source systems such as Firebird or PostgreSQL just keep their heads down and focus on quality. I’ll take the latter any day. 2004-03-15 12:16 pm As a PHP app developer MySQL just gets the job done. Yes, I would like to eventually look at using Postgres and using more db features to cut the code down in projects, but for now…mysql is just a nice light fast db. Sure it lacks some advanced features, but if a developer chooses to use a tool like MySQL the developer has to accept responsibility for things like verifying data and such. So you do it in the db, I do it in the app. Either way the job gets done. 2004-03-15 4:33 pm In the early 90’s I deployed, (the west/northeast in person), 166 interbase db’s running on DGUX scattered across 43 states. I and another guy wrote a repilication system in perl and C for them and managed the whole mess from my desk in Sacto. for close to 3 1/2 years until I quit. The performance was good, reliability was excellent and I see no reason why it is not the most popular open database on earth other than few seem to know it exists. This is the first time I’ve heard the name in years, spot of warm nostalgia there. 2004-03-16 12:57 am but if a developer chooses to use a tool like MySQL the developer has to accept responsibility for things like verifying data and such. So you do it in the db, I do it in the app. Either way the job gets done.That’s all well and good to do it “in the app” as you say if you only have 1 app touching the database and never plan on adding another. But, as soon as you decide to add a reporting tool or make an admin utility, or add anything else that doesn’t or can’t use your PHP encoded business logic – you all of a sudden really need to rely on the database to intimately know the data and the rules for quering, manipulating, and storing. If you put all the verification and business logic in your application instead of in the database, you’d better be darn sure everything that touches that data goes through your business logic or you’ll end up maintaining your verification logic in multiple separate places or you’ll end up trying to deal with data integrity issues.