Is MySQL Planning a Change of Tune?
Iggy writes "After reading the article on 'The MySQL License Question' by Timothy R. Butler at Open for Business I just have to wonder, is this company's wording on the MySQL site indicating the company is backing away from Free Software, specifically, the GPL? Great reading and certainly thought provoking."
Like a lot of us are. Their interpretation is a bit off and I'm sure they'll correct it.
Consistency in licensing is important, whatever they choose I hope they stick with it.
This has been in the offing for sometime now, why would anyone chose MySQL over PostgreSQL if they had to pay for it? It may be faster but it does little more than can be done with a flat text file and Perl. Suicide.
People will switch to PostgreSQL faster than the MySQL folks can type GPL back into the license. They will be crazy.
Nothing to be concerned about here, folks. Move along. Move along.
If they change the license, can't we just fork from the last GPL release?
Couldn't anyone create their own fork from the last GPL'd source?
Shh.
I can't get to the article (/.), but assuming this is not FUD:
With all the "Postgres is so awesome" stuff I keep reading (well okay, mostly on here), if MySQL backs away from open source, it could be the beginning of the end for them with "the geeks" (ie. us).
I'm not that familiar with Postgres, but I just checked and their website says:
The above is the BSD license, the classic open-source license. It has no restrictions on how the source code may be used. We like it and have no intention of changing it.
Sounds good to me!
If a prorietary software vendor wants to package MySQL with their product I'm glad MySQL AG is getting a few bucks out of it.
It doesn't seem to negatively affect the free software developers.
I've always liked the idea that you could release a product under a Free license but keep the option to sell versions to companies as well.
I realize that this doesn't answer the question of whether the GPL itself allows this kind of dual license but it seems to me that TrollTech does something similar and that has never bothered me either.
Waltz, nymph, for quick jigs vex Bud.
If they wanted you to own it, they would have named it that way.
PostgreSQL gets another boost! :)
Seriously, if you haven't used PostgreSQL, consider it for your next project. I use both, but have ended up using PostgreSQL a lot more. It's a much more serious database, and really isn't any more difficult to setup and manage than mySQL.
8.0's introduction of point-in-time-recovery is going to be a huge boost to enterprise applications of PG!
TheirSQL
*snicker snicker*
Someone help me out, i've poked about in the GPL and *think* i understand what it means, but what happens when:
a package is released GPL style, then the devs decide that's not exactly what they wanted and decide to change the license....er, what happens then? Are the old versions still under GPL? Is the new code, regardless of the newly chosen license still bound to the GPL since it's based on the older code? What about re-writing all the code new - that wouldn't be covered, but how close is too close to the old code?
This article just made me wonder a few things, someone help me (others) out here.
Well, if MySQL decides they need to change the license, then fine...I am sure they will loose some users, but it will not be their downfall. Perhaps they could something like http://www.bb4.net/ has done, where they have a fairly functional free, version, which is still open source, and a "professional" version which has some additional features and support. Really not a bad idea...
MySQL is a great product, as well as Postgres, but a change in licensing for MySQL will not be as bad as it may sound...
Changing the license at this point will hurt mySQL bad. Postgres has some big backers now and is already more feature rich than mySQL. Take it form me, I was a mySQL addict and then my boss introducted me to Postgres. I look at mySQL as a kids toy now.
I can't wait till 8.0 when I can start writing my stored procedures in Java. W00t.
Wait, wait.
MySQL is licensed with a "dual licensing scheme":
1. If your product talks to MySQL, you must release it as GPL.
2. If you don't want to GPL your product, pay MySQL $450.
So... according to the GPL, can't I fork the GPL version of MySQL, not change a thing, and allow companies to use "HerSQL" for free, keeping "HerSQL" as GPL?
Further, don't a lot of web applications that are not GPL interface with MySQL? Doesn't this violate their license?
Now, I am not sure if this is true, but since MySQL is GPLed, doesn't that mean that they have some freelance programmers that contribute to the project? If they leave the GPL, that may encourage a devolper move to Postgre, helping it become a better DB.
That said, this statement made me chuckle a bit:
Let me get this straight. Because it allows linking with PHP and Apache -- two systems which incidentally are fundamental to MySQL's continued success -- this is proof of their love of free software and freedom? Call me cynical, but it sounds more like proof of their love of avoiding irrelevance.
Can you imagine?
MySQL AB: We are pure GPL!
Developer1: Isn't the GPL incompatible with the Apache/BSD style of license?
Developer2: According to the FSF it is.
Developer 1: Aren't the Apache web server and PHP under Apache/BSD styles of license?
Developer 2: PHP used to be GPL, but yeah, now they're both like that.
Developer 1: So if I sell a complete package with all three, I'm legally in trouble?
Developer 2: Looks like it.
Developer 1: Well, I guess I'll install PostgreSQL then.
MySQL AB: MySQL FOSS exception!
Developers 1 and 2: Wow! What nice guys. They're really sticking their neck out for us on that one. Thanks!
- I don't need to go outside, my CRT tan'll do me just fine.
the sky is falling
MySQL is going to screw everyone.
Just because one person's twist on that interview says that MySQL is about to turn evil, doesn;t mean it's true. Read the article, not just the /. headline
I actually think that the article is very fair, but it's considerably more in depth than most people who only read the /. headlines will know.
Nothing great was ever achieved without enthusiasm
Interviews
The MySQL License Question
By Timothy R. Butler
Editor-in-Chief, Open for Business
August 13, 2004, 11:15:53 EDT
MySQL AB's namesake database is a package that many would list among the crown jewels of Free Software. The Swedish company's database has been deployed over five million times by the company's own count. Yet, some, quite legitimately wondered if certain wording on the MySQL site might indicate the company is backing away from Free Software, and, more specifically, the GNU General Public License. We wanted to know if this was an actual concern or simply a misunderstanding, so OfB contacted MySQL AB to find out more information.
The whole question arose from the text MySQL AB publishes on its web site concerning why one would need to purchase a commercial license for its software. "When your application is not licensed under either the GPL-compatible Free Software License as defined by the Free Software Foundation or approved by OSI, and you intend to distribute MySQL software (be that externally to customers or internally within your organization), you must first obtain a commercial license to the MySQL product," the site explains. At press time, the remark concerning internal distribution had been removed after the commercial licensing page was revised based on user feedback, MySQL AB told OfB.
At first glance, this might not catch anyone's attention, but after considering it, it becomes apparent that this sounds like stricter requirements than those laid down by the General Public License. For example, the Free Software Foundation's documentation on the General Public License, which they wrote, explains that "[y]ou are free to make modifications and use them privately, without ever releasing them." The document then continues, "This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization." If this is the case, a company desiring to keep its code private would not need to purchase a commercial license as the MySQL site indicates.
The information on MySQL's commercial license page also seems to be a bit far reaching when it suggests that one's program must be licensed under the GPL or another Free Software license if MySQL is distributed with the product. A good analogy here is that it is legal for a proprietary web browser to communicate with a GPL licensed web server, and vise versa -- the programs are communicating to each other, but not actually combining code together. In the same way, it is theoretically possible to communicate with the MySQL server either using a third party Free Software tool that allows linking to proprietary packages, such as one licensed under the LGPL or BSD licenses or by developing a proprietary program that can communicate with MySQL through networking protocols. In plain English, this means there are ways that one could have a proprietary program communicate with a GPL licensed program without violating the GNU General Public License. Furthermore, simply distributing a proprietary product and GPL licensed product together is called "mere aggregation," something explicitly permitted by the GPL.
One developer from a small consulting firm who requested anonymity explained his concerns about the issue and how it had led the company he works for to have all of its clients purchase MySQL licenses out of fear of litigation. "MySQL AB has bent the intentions of the gpl to say that any proprietary application I write that causes my customer to have to install a copy of MySQL, whether or not it uses the MySQL client libraries, must be licensed under [the GPL]."
We wanted to know if this assertion was correct or if MySQL's site was simply a bit confusing on the point of when licensing is required, so we contacted them. Zack Urlocker, MySQL's vice president of marketing, agreed to answer our questions on the matter.
The big question we wanted to know was if
The article states that this doesn't effect free software at all. Only commerical software that links to MySQL requires a licence, as it always has been.
Maybe you should email the FSF. They're the gurus on all legalese GPL.
tasks(723) drafts(105) languages(484) examples(29106)
Let's not forget about the recent changes of the MySQL client to use the GPL instead of the LGPL, since such a change hardly suggests that they're looking to dump the GPL. This change was widely publicised, as it caused issues (which have now been resolved) with other non-GPL open source applications which previously shipped with the client software - PHP being the prime example.
On the other hand, I do think MySQL really wants to push their commercial license as they "recommend" it for everyone who use MySQL in a commercial environment, even though their dual licensing scheme only requires the purchase of a license if you plan to be distributing MySQL itself. It'll be interesting to see how this all unfolds, but I don't think the GPL version of MySQL is going to go anywhere, at least not for non-commercial users. While commercial users may face stronger "recommendations" to purchase licenses, I don't see any actual changes to the license requiring a license for commercial use without distribution. Doing this would shut out millions of entry level hosting providers, and it wouldn't be long until MySQL's massive market share fell to alternatives such as Postgres or SQLite.
you know nothing about programming I see...
The Blender community that bought the sourcecode to Blender was able to get exactly ONE developer that knew anything about it and they turned blender into a product that surpasses anything that NAN could have hoped that Blender could have become.
programmers with an itch and are pissed off by stupid corperate tricks can outprogram the highest paid code jockeys on this planet easily.
that's just one example, there are more out there I just can not think of them right now.
Do not look at laser with remaining good eye.
ill be happy if they change the license away from the GPL and it happens to run their marketshare to nothing.
Honestly I never understood what people saw in mySQL other than the FREE aspect, and if that was the only thing they were looking for Postgres, Oracle (for personal use), and MSDE (MS sql server free ver) are all much better tools for the same price.
?SYNTAX ERROR IN LINE 42
On my last project, I used OBCD specifically so I could use one DBMS today and I or my in-house customers could replace it with another one later with minimal effort.
There are other ways of doing the same task, such as using wrapper functions for your DB calls.
This approach isn't appropriate for every project, but before you start coding, you should ask yourself "will this ever be used on another DBMS, what can I do now to save myself work later, and what will it cost me in terms of schedule, functionality, performance, etc."
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
i'd rather everyone stop coding strictly towards one database api, and use abstracted interfaces like PEAR, ado.net, jdbc, odbc, etc.
- tristan
Commercial Software
a few guys then
a few products then
early success then
money! then
more guys then
a few more products then
more money!
then more products (some good some bad) then
more money! then
more guys then..
OSS:
a few guys then
a few products then
early success then
fame and glory for a few guys then
more guys then
a few more products then
some fame for more guys then
maybe some people will join here and there then
a few bug fixes and patches then
not really any fame for the new guys then
people just stop caring because..
it suddenly dawns the german dork who spent 3 months in his basement writing a slighly faster screen refresh algorithm for some OSS spreadsheet program that has 1% market and that is pretty much only due to some for-profit entity working to the letter but not the spirit of the GPL that a) deep down, nobody gives a damn about where their spreadsheet screen refresh algoritm comes from and b) that there is an outside, and that even chasing girls unsuccessfully is better than working for redhat/ibm/whatever without getting paid.
Communicating with a database via "TCP/IP or another protocol," such as ODBC, is not in any way a circumvention of the GPL. This is what ODBC is for, for heaven's sake, there's nothing sneaky about it.
Following MySQL's moronic licensing innuendo, you would be required to use GPLed software to talk to a GPLed web server. Unfortunately even the unixODBC guy who was quoted didn't make the point that connecting to a database server from a client program (on a remote machine or on the same machine) using ODBC is morally equivalent to connecting from a client program to a web server using HTTP, and so the same rules must apply. The FSF guy didn't make that point either. I can understand why these free software folks feel some need to stick up for each other but someone needs to drive a stake through the heart of all this licensing idiocy, it doesn't help anyone.
Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
This was fun! It kinda makes me want to write a timeline of when MySQL developers would publicly and loudly assert that certain features were not needed and compare it another timeline that proudly announces the formerly useless feature in their newest revision.
Might be as much fun as reading the MySQL gotchas pages. "Foreign keys only serve to slow database engines down." Wait a couple of years... "MySQL 4: Now with new enterprise features like foreign key support!" Wash. Rinse. Repeat.
Those who forget the past are doomed to extended use of a debugger.
- I don't need to go outside, my CRT tan'll do me just fine.
Funny that the article didn't mention the $19.5 million series B round of funding received in June 2003...
That's gotta do something...
This whole topic reminds me of question to which I've never gotten a good answer.
One of the supposed benefits of Open Source in general is that lots of people can contribute, add features, fix bugs. This includes the GPL.
GPLed code and GPLed contributions stay GPLed forever.
MySQL is GPLed. MySQL sells a commercial license. Do you really believe the commerical version of MySQL has ZERO GPLed contributions to it? No bug fixes from anyone outside AB? No feature additions from anyone outside AB? While I admit it's remotely possible, if there are no outside contributions to MySQL then what's the point of it being GPLed? If there are then it's illegal for them to redistribute a version of MySQL with the GPLed contributions in it under some other license.
Thanks for all the feedback!
Let me here present the background logic behind our licensing policy and software policy in general.
MySQL AB is probably the world's largest company that has published all its software under the GPL licence. Over the years we have expanded and developed the business that David Axmark and Michael "Monty" Widenius started in the 90's.
Thanks to our business model, we have been able to hire more developers and make more code available under GPL. For instance, last year we acquired a highly advanced clustered database from Ericsson which we made available under GPL for the free and open source software (FOSS) communities in the world. Monty and David continue to be in the driving seat in these issues.
While being fully committed to FOSS and to GPL, we get more and more enterprise customers who want us to provide commercial licences and commercial services. They also want easy guidelines on open source licensing and when to do what.
In our attempt to make open source licensing easy to understand for enterprise customers who know little about the topic, we clearly have stated things that have upset those who know the licensing in detail. My apologies for this.
I hope you will have understanding with this, and that you will appreciate that we listen to you and make changes as we go. For instance, a misfortunate wording regarding "distribution" and more specifically "internal distribution" has now been removed from our licensing pages.
But more feedback is welcome, because open source licensing just is not easy to explain. If you have a better wording than we have come up with, please let us know.
It is interesting to debate licensing issues, and we do want to do it right. At the same time, we continue to experience that most practical situations are for the most part clear. FOSS projects and use of MySQL clearly falls under the GPL, and enterprise customers invariably want a commercial relationship with us. There undoubtedly is some gray zone, but it is not enormous, and we do all we can to sort it out.
I'd say that our FOSS Exception (which admittely took time to author) is a great example of removing gray zones and impossible situations. Some open source licences are by definition incompatible with each other, but with our FOSS Exception we have made sure that MySQL under GPL can live side by side with open source software of other licences.
There is much more to write on the subject, but I will stop for now. Feedback continues to be very much welcome - publicly or directly to me (I am sure you can guess my email address).
Marten Mickos, CEO, MySQL AB
P.S. Sometimes I see comments about our VC financing and where that may lead us. Here is some info for the interested reader: We brought in some 13.5 million euros last year in venture funding. As of today, we have barely touched the money. We are growing fast, but we don't want to grow too fast and risk losing the unique culture of our company. Monty and David and the other founders continue to be the biggest owners in the company. And to be on the safe side, we have made sure through a shareholders agreement that all shareholders stay committed to our open source / free software philosophy. I would claim that MySQL AB could serve as an example of how open source and VC funding can work well together. And I hope the world will see a whole armada of successful open source businesses in the next years. The market is in need of disruptive technologies, and this community has them.
Well, for them to change the license, they must have the copyright on that code (or the consent of all those who do hold copyright on it).
From then on, they can license it however they please under any license they see fit.
However, what was GPL'd *stays* GPL'd, so you can restart a fork of it with all new developers if you so choose. Also, if you have many copyright holders (e.g. as with Linux), you effectively cannot change the license, because it would probably be impossible to get the consent of enough of the copyright holders.
IANAL, but I've spent a lot of time reading US copyright law and Groklaw.
I had thought about that, and the more I thought about it, the more it seemed like a bad idea. Why?
The bad habits people learned on MySQL would perpetuate. After all, why code for database abstraction if the two main OSS databases share the same API?
I'd much rather MySQL tightened things up a bit. Optionally of course as I understand they have a large installed base, but I'd like to see the MySQL version of Perl's "use strict". If MySQL did that, I hereby proclaim to all around me that I will no longer bash MySQL. I won't necessarily prefer it to PostgreSQL, Firebird, or SQLite, but I won't flat out trash talk it for being a loose piece of crap data trashcan that silently ignores obvious errors in the name of efficiency while blaming the programmer even though one of its primary selling points is that it's easy for beginners.
'The fuzzy elephant' is NOT a valid integer nor is it a valid timestamp nor is it appropriate for a varchar field constrained to 10 characters! NOT NULL means "I require a value," not "I'll put the non-specified default in there despite you passing a NULL." It's not like these checks require a great deal of processing power after all. If it made more than a blip on the speed of MySQL, I would be truly astonished.
Once MySQL's "use strict" is in there, I will accept the mantra that it's the programmer's fault for not using it.
- I don't need to go outside, my CRT tan'll do me just fine.
It appears that the folks building MySQL are even MORE pro GPL than a rabid /.er! I know it's hard to believe, but unlike the very bad description of the artcle given above (the sky is falling, the sky is falling) the actual text of the article shows that the company is pro GPL. It isn't backing away from the liscence, but tryng to be sure that users of GPL software uphold that very lisence.
Whats interesting is that this affects open source, but not necessarily GPL projects. Asterisk which use a different lisence have removed MySQL libraries because of this conflict.
From their documentation:
"We were recently contacted by MySQL and informed that the MySQL client
libraries are now under GPL license and not LGPL license as before.
Since Asterisk does allow exceptions to GPL, we are removing MySQL support
from standard Asterisk. We will, where appropriate, make it available via
a separate package which will only be usable when Asterisk is used completely
within GPL (i.e. not in conjunction with G.729, OpenH.323, etc). We
apologize for the confusion.
Is this a case of the GPL being a bad thing?
cluge
"Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
The counterpoint to that, though, is that the employee is working as an agent of the company, not as an agent of themselves. If they have been disallowed, as an agent of the company, from distributing the software outside the company, then the company has not "distributed" the software.
/.), but I'd imagine that would be the most likely counterpoint.
Not that I'm a lawyer, or even have an iota of a clue about this subject (hey, this is
Information wants to be free.
Entertainment wants to be paid.
You just want to be cheap.
ok the topic here should be mysql vs postgres but seeing as how it has been trolled to death I though I would add my .02 and a question.
I've been reviewing and making infrastructure architecture recommendations for > 6 years. My experience has been that the people who can demonstrate scale and efficiency tend to choose systems that do not bottleneck the database. I have used mysql, postgres, as well as oracle. Generally people say that mysql is limited in features, but is that a bad thing? When you have a "large system" and outgrow a 24 processor sun or IBM box you start to consider things like multiple database servers, moving cpu load onto the commodity hardware in the application layer, and data partitioning. DR for large system and the cost a site failure and full restore for such a large system are also valid concern. Most sites with the characteristics of a "large system" are Financial, Telco, Data Warehousing, and batch processing fit an Oracle, or DB2 profile very well. Generally internet sites that don't grow so big (>200GB data), or get Tons(>20Mb/s) traffic tend to do fairly well with anything, even M$ SQL.
Can someone with the deep experience (in both systems), and some spare time, please create a feature/fault matrix for both production and development versions of mysql and posgres and submit the link as a reply? It wouldn't hurt to throw in oracle/DB2 to see what repaying for your software every year gets you.
...if you already have the code base, which is mainly developed in-house. Simply require all contributions to be under dual licence/copyright waiver. Certainly, you're free to create your own GPL fork, but then you're on your own.
It is not considerably different from most other projects. If you don't like the rules of contributing, fork your own. That e.g. the kernel is GPL, doesn't mean I have any right to get my code in Linus' code tree.
Kjella
Live today, because you never know what tomorrow brings
I haven't RTFA yet, but I heard Brian Aker, MySQL's Director of Architecture speak at a local LUG meeting last weekend, and he sure didn't seem to think the company was backing away from the GPL. Quite the opposite. They're getting ready to release some really nice-looking new GUI admin tools, which will be GPL'd. He said (paraphrase), "If you're open source, we're open source, and we'll help you however we can. But if you're using our product in a closed-source way, we have no problem charging you for a commercial license." As I understand it, that's the way they've always been.
I know what I'm talking about.
e d patches [FSF-style or MySQL-style]) -- then he can do whatever he wants with the code, BECAUSE IT's its property. But if he accepted a lot of outside patches, whithout copyright weavers (linux-the-kernel style) he would need the authorization of the patch owners OR he would need to reverse all outside patches (if possible -- in the case of linux, for instance, this is not really practical), or else he would be bound by the GPL because the current work is a derivative work on the GPL'd patches.
1. are the old versions still under GPL?
A. yes.
2. is the new code still bound by the GPL?
A. this depends on who is the copyright owner of the last GPL'd version. if the original copyright owner (the original package owner) is the SOLE copyright owner of the last GPL'd version (as in: he did not accept any outside patches, or if he accepted only copyright-releasing-by-writing-signed-and-notariz
3. how close is too close?
A. to be completely untainted, he would have to write down the complete spec to the work (in English, for example) and would have to get another person -- who had not seen the source code previously -- to re-write it in some programming language. this is what is called clean-room reimplementation.
HTH,
Massa
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
That is not true. You can modify GPLed software any way you want for your own use. It is distribution (whether you modified it or not), not modification that makes your obligations under the GPL kick in.
MySQL's opinion on what constitutes derivative work has always been stricter than most though. Most database suppliers (Free or proprietary) would consider ODBC, JDBC and other ways of connecting to the database to be a standard interface, and a clean point of separation between the database and third party software. But MySQL claims that their interface libraries are GPL, and linking to them produces a derivative work. There is also an entry in their FAQ where they state that you need to buy a commercial license if you bundle MySQL on the same CD as your non-Free software, even if your software works without it, and you have bundled it merely for users' convenience so they can use it if they want. They are entitled to their opinion on this, and I personally would steer well clear of MySQL because of it, but on this last point, I don't think they should be calling their license GPL if they are serious about it.
First of all MySQL used to be the only choice for OSS developers when it comes to stable database software that could be used in a productive environment with a lot of demand. PostgreSQL used to be more damanding on hardware and hardware (as noone should forget) used to be much slower. Now we have 2 and 3 Ghz for 200 bucks. PostgreSQL also became more stable, robust and less demanding. There are also many new choices out there: MaxDB (formerly known as SAP-DB e.g. Adabas D) is now under the GPL and Interbase became OSS under the name Firebird to name just 2 very famous examples.
So if anyone has problems with the license for any reason they can choose among many other: BSD for PostgreSQL, GPL for MaxDB and the InterBase Public License for Firebird for the three mentioned examples.
Other than that all code released under the GPL can be used under the terms of the GPL and anyone can do whatever they feel like with it. That means that if I choose to take the current MySQL to write my world domination program (the source code to that would certainly remain secret) with it I can do it now or whenever I choose to do that.
Only when I want to distribute said program (what a dumb idea!) I have to make the source code available to anyone who I distribute this program to and I also have to inform that person that they can do anything they want with that code as long as they adhere to the GPL.
The LGPL is a different beast. If I link my program to LGPL libs I can withhold the source even if I choose to distribute my program. If I link to GPL libs I have to give out the source with the program. Only if I use code LGPL itself I need to put the result under the LGPL. But agains only if I distribute it. Many companies used to develope software only for in house purposes. Those could and still can use GPL and LGPL programs and source as much as they like and don't have to give anything back to the community.
There is absolutely no problem here, because anyone can still use existing code with the licenses they were distributed under, e.g. older or the current version of the MySQL client and even fork and patch those with appropriate security patches if necessary (the patches have to be the old license though). So if anyone created a program using the old MySQL then they don't have a problem. If they develope something new then they can choose among many OSS DB (s.a.) and their respective licenses.
So nothing to see here, move along please.