Is MySQL Planning a Change of Tune? 403
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."
First Useful Post (Score:3, Insightful)
Re:No, they're just confused by the legalese (Score:5, Insightful)
Strange really.... (Score:3, Insightful)
Re:Strange really.... (Score:3, Insightful)
If the F/OSS world loses MySQL, and there isn't a satisfactory fork of the GPLed version, why wouldn't we all switch over to the superior power of PostgreSQL?
PostgreSQL (Score:4, Insightful)
Re:Strange really.... (Score:3, Insightful)
We will just fork it (Score:4, Insightful)
Well... (Score:5, Insightful)
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!
Re:Please stop (Score:1, Insightful)
Plus the fact that for 98% of all websites, either option is equally acceptable, are really going to inhibit development of PostGre vs MySQL.
Re:Strange really.... (Score:3, Insightful)
Ah yes... you ask the question that can only be answered in a way that must be marked as Flamebait...
Because, unlike MySQL, PostgreSQL is a real RDBMS. It didn't kludge things into the main system like the InnoDB/MySQL fiasco. It supports a MUCH, MUCH more powerful, rich subset of SQL. It does, basically, what a RDBMS should do, whereas MySQL only does as much as it needs to get by.
Interestingly, this gave MySQL a niche in the small/medium website market. People who couldn't justify the complexity of earlier builds of Postgres jumped on MySQL because - although it makes the hard things impossible - it makes the most common tasks in a dynamic environment manageable for even the most clueless n00b. As people graduated to a more detailed understanding of things, MySQL offered them the power they needed to grow.
Unfortunately, eventually you will outgrow MySQL and hit the things where MySQL fails miserably at. Then, you need a "real" RDBMS. Alas, most folks using MySQL didn't need to do that, so they're used to the bizarre quirks of MySQL (18 nestings of SELECT anyone?) and struggle with PostgreSQL and other "real" RDBMSs as a result.
That's why.
Great! (Score:4, Insightful)
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!
License of MySQL (Score:2, Insightful)
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...
Re:Strange really.... (Score:2, Insightful)
Error in Logic? (Score:2, Insightful)
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?
Devs move to Postgre (Score:2, Insightful)
Read the article folks (Score:5, Insightful)
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!
Don't be such sheep (Score:5, Insightful)
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.
Re:Brings to mind a question.... (Score:3, Insightful)
Where this gets dicey, though, is if MySQL contains any code which is owned by someone else. For example, if I make an improvement to MySQL, and they incorporate it into a newer version, they could not release it under any license other than the GPL without my approval, unless they were to remove my code. Strange quirks like this are one of the reasons why the FSF asks people to give the copyright of code over to them rather than to have all of the individual programmers retain copyright.
Re:Strange really.... (Score:5, Insightful)
And you guys are yelling awful loud to have anything meaninful to say.
Recent Changes to Client License (Score:5, Insightful)
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.
Re:PostgreSQL (Score:5, Insightful)
I reckon that now that MySQL is dealing with one of the big boys (SAP) they think they're the shiznit. They think they have the PHP and web server-side arena sewn up, so now they're trying to assert themselves in the larger market.
Roughly put, they're setting themselves up for a fall. MySQL database might be owned by a company, but it was tested and supported by the wider community. If MySQL starts screwing with their supporters they'll lose them to Postgresql, Firebird, or whatever. Much of the software using MySQL is opensource, and it can be ported to another database just as soon as the need is there.
Re:Strange really.... (Score:1, Insightful)
Re:Error in Logic? (Score:3, Insightful)
Yep.
Further, don't a lot of web applications that are not GPL interface with MySQL? Doesn't this violate their license?
It's in the gray area. A bit closer to the "okay" side than, say, Java's dynamic binding (which is another 'can we combine GPL and nonGPL code). That's what the guy is talking about in the article about developers should abide by the GPL and not try to find loopholes.
Re:Brings to mind a question.... (Score:1, Insightful)
A project released under the GPL stays under the GPL. No retroactive licensing may be applied to the code. This does not prevent me (the author/copyright owner) from re-licensing the code under any other license that I deem useful.
In the situation that I released under GPL and then took the code back immediately before anyone had a chance to gain access to it, my GPL'ing of the code is essentially moot. It would be as if I had never released the code under the GPL.
Re:Recent Changes to Client License (Score:5, Insightful)
all the better (Score:2, Insightful)
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.
One more reason to use standard interfaces (Score:5, Insightful)
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."
Re:Please stop (Score:5, Insightful)
Re:Strange really.... (Score:2, Insightful)
Re:Strange really.... (Score:3, Insightful)
PostgreSQL also has support for Ruby (and Python) which is sufficient to write a lot of useful scripts.
ODBC is not "circumvention" (Score:5, Insightful)
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.
Re:Brings to mind a question.... (Score:5, Insightful)
Firstly, certainly all previous versions of the software licensed under the GPL can continue to be used under the GPL.
Secondly, if the copyrights to the software are all solely owned by one company or by a small group of people then they can re-release the software under as many different licensing schemes as they want. They own the copyrights to the code, so they could decide to make all future versions of the code closed-source, or whatever. Anyone in the free software community would be free to create a "forked" version of the software based on the last GPL version and continue to develop it independently and release it under the GPL.
Thirdly, if the developers have accepted contributions from GPL folks without also getting ownership of the copyrights to the contributed code, then they probably are not allowed to take the current code based and make a version of it with any license that's more restrictive than the GPL, since the only license they have to the other people's code is the GPL itself, which forbids adding restrictions.
Finally, this is all a red herring in this particular case because the MySQL folks are just publishing their take on what the GPL means on their web site - they're not actually adding any restrictions. Of course, any company that sells software for a living will bias the explanations of the GPL on their web site as far as they can towards making you think that you have to buy their software, but the real license is still the GPL, and their "interpretation" of the GPL holds little or no legal standing.
Re:"Distribute Interally" (Score:1, Insightful)
As far as leaked binaries are concerned, good luck. As far as the developing company or individual is concerned, they haven't released binaries, so they've no obligation to release sources either.
And I doubt any court would see binaries obtained illegitimately as forcing the release of source - you might well find yourself under attack for breach of copyright by possessing them.
Re:Strange really.... (Score:2, Insightful)
Re:Brings to mind a question.... (Score:5, Insightful)
Horse-puckey...
It's a conflict of interest that consistently leads to abuses.
In the present case MySQL is pretending that GPL software is basicly non-commercial use only. It's a straight out lie, no matter how they dance around the issue. The Free Software Foundation is being very kind in stating that MySQL "marketing literature" isn't their concern.
MySQL AB isn't alone though.... Trolltech advances the idea that software you create using the GPL version of QT can't be reused in a commercial product. Their wording is careful, but the idea is wrong. You own the code you write, regardless of what libraries you used. Remove those libraries and you can do whatever you want. Their dual-licensing has also resulted in Linux PDAs which can't be synced to Linux desktops. Way to go...
PHP-Nuke has tried to pretend that various bits of code and advertising constitute a license declaration under the GPL. Basicly, GPL == adware. It's nonsense. Moreover, the PHP-Nuke advertising makes no mention that PHP-Nuke is itself a fork of Thatware.
ReiserFS, like PHPNuke wants to pretend that GPL software is adware for commercial products. Hans flipped out when Debian trimmed the marketing spiel out of mkfs.reiserfs. It's obviously not the intent of the license text clause of the GPL to advertise the benefits of non-free versions of GPL software.
Dual licensing is a bad idea. The only way you sell the commercial version is to make the GPL version unfriendly to business. Since the GPL was intended as a business friendly license, you're forced to misrepresent the GPL to sell licenses. If you want a dual-licensing business, don't use the GPL as the free license. Pick something that lets everyone know, from the get-go, that you're a commercial house intent on selling commercial software.
What's GPL'd Stays GPL'd. (Score:3, Insightful)
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 [cornell.edu] and Groklaw [groklaw.net].
MySQL compatibility layer (Score:4, Insightful)
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.
Re:Strange really.... (Score:1, Insightful)
That's like saying that Linux can only do a little more than you can do with an abacus and a piece of chalk.
If you want to use Postgres, fine. Use it. But you make yourself look very small when you go out of your way to put down such a fine project as MySQL just because your Postgres can do
What I find really strange is the level of hate that Postgres users feel justified in showering on MySQL users. And then you wonder why you get it back. Personally I don't give a flying fuck what database you use, but once you say you are a Postgres user, my estimation of you automatically goes down a couple of notches because of the number of noxious posts by your clan.
Re:"New Offerings on the Horizon" (Score:5, Insightful)
Then I worked for a company that required Oracle for its database, because nothing else on the market could possibly handle what they needed done. And they put me to work on some of their stored procedures. ouch.
I learned what I needed about database normalization, and I realized just how much of a toy MySQL was.
That they added essential features is great, but that they still think they're unnecessary shows they have NO CLUE what challenges you get in big developments. And if they flip-flopped on the features, will they change the license?
The most promising db right now for people like me is obviously PostgreSQL. No license hassles is just gravy.
Re:Strange really.... (Score:3, Insightful)
If you have to rewrite 250,000 lines of code just to change to a real RDBMS, your code must particularly aweful. We typically isolate all database specific code in appropriate classes and stored procedures (after all, that's one of the things stored procedures are for... to help abstract the database specific code from the rest of your code) and it isn't bad at all to port to a new RDBMS, as long as it has the features we need (referential integrity, transactions, etc.)
In fact, in most cases, we can port to a new RDBMS without recompiling our source, just by providing the appropriate stored procedures on the new system.
Re:Question about the GPL (Score:2, Insightful)
Not that I'm a lawyer, or even have an iota of a clue about this subject (hey, this is
Re:No, they're just confused by the legalese (Score:3, Insightful)
Re:Brings to mind a question.... (Score:4, Insightful)
Isn't FSF's asking people to give them the copyright just the same as MySQL does, the only difference being thar MySQL is a commercial entity?
The reason why GPL alienates professionals (Score:1, Insightful)
Well you're right about that, the GPL hasn't changed. It has always taken away the ability of original developers to make money from developing original software, forcing them to either make money by offering support or by flipping burgers during the day to fund their open source coding at night. Nothing new there, it has always slanted the playing field away from original developers and in favour of redevelopers.
What's new however is that PHBs have now discovered open source, and so companies that previously employed talented original programmers to develop new inhouse products from scratch now realize that they can hire fewer people than before because there is so much great code out there available for free. Furthermore, the quality of the people they hire can be lower because they only need to be relatively inexperienced redevelopers instead of original designers. All of this translates into paying less money for development. They love it.
Meanwhile, professional developers are getting screwed left, right and center, their earning potential and careers going right down the pan. After all, code hackers for redevelopment are two-a-penny, and there is little extra benefit from hiring a highly educated and experienced professional when all that an inhouse project needs is some existing open sources to be hacked around a little.
And it gets worse. Small software businesses used to be very common, able to survive the hardships of birth and early growth because software development scaled very well, ie. a small group of developers could create a novel product and sell a huge number of copies, with near-zero incremental cost per copy sold. In contrast, making money from support doesn't scale, because support requires people-time to handle every additional customer needing support, and those people require salaries --- the incremental cost is very high unless you're outsourcing support overseas. It's pretty much impossible to launch a professional software business from your garage in these circumstances, unless you abandon open source.
The sad thing is that those professionals were the grassroots developers who helped open source spread in the first place, but who now find themselves shafted by it. It's not surprising that some are changing their views now, when faced with mounting bills and no income.
Re:Strange really.... (Score:3, Insightful)
(1) triggers
(2) constraint triggers
(3) functional indexes using a user-defined function, or indexing a user-defined data type
(4) user-defined aggregate function
(5) user-defined data types
Those are very difficult problems to simply work around. For #3 you just have to take the performance hit and not use the index. For #4 you have to read the entire amount of data into the application and post-process it to get the data you actually need. #1, 2, and 5 all speak for themselves, being basic principles of an RDBMS.
And PostgreSQL 8.0.0beta1 has PITR (point in time recovery) meaning that it should be reasonably simple to revert to a previous state. Hopefully that makes it easier for you to fix it when someone screws it up.
I'd also like to point out that a very advanced replication system, Slony-I [slony.info], was developed for PostgreSQL using triggers and stored procedures (to work with the replication daemon). So I'm not speaking in abstract terms about potential usefulness, but real-world business needs. What would you do to implement such a replication engine in MySQL? Write some code in the MySQL server and recompile I suppose. Slony actually works across PostgreSQL versions and works on versions of PostgreSQL that were released before Slony was ever conceived. That's the power of stored procedures.
I understand that these features need to be used with care. I understand that some people don't need these features (unfortunately, some people realize they are needed too late). What I don't understand is how software can be missing these features and still call itself an RDBMS. What surprises me even more is when people make a blanket statement condemning these features with absolutely no acknowledgement of their actual uses.