Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Databases Programming Software GNU is Not Unix

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."
This discussion has been archived. No new comments can be posted.

Is MySQL Planning a Change of Tune?

Comments Filter:
  • by rokzy ( 687636 ) on Monday August 16, 2004 @09:06PM (#9986712)
    did Xfree/X.org teach (or even remind) them nothing?

    fools! those who do not learn from history.... etc.
  • Forking? (Score:5, Interesting)

    by headkase ( 533448 ) on Monday August 16, 2004 @09:07PM (#9986716)
    Couldn't anyone create their own fork from the last GPL'd source?
  • Good for them... (Score:5, Interesting)

    by SnapShot ( 171582 ) on Monday August 16, 2004 @09:07PM (#9986721)
    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.
  • Re:It's MySQL (Score:5, Interesting)

    by Tokerat ( 150341 ) on Monday August 16, 2004 @09:13PM (#9986759) Journal

    You just named the fork.
  • by hot_Karls_bad_cavern ( 759797 ) on Monday August 16, 2004 @09:17PM (#9986782) Journal
    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.
  • Re:Forking? (Score:3, Interesting)

    by gl4ss ( 559668 ) on Monday August 16, 2004 @09:20PM (#9986794) Homepage Journal
    patented as in how? and what difference would it make then, to keep using the older version, or keep it under gpl and make everyone pay to them 'for the patent'?

    really, I'd like to know.

  • Re:Good for them... (Score:5, Interesting)

    by AKAImBatman ( 238306 ) <akaimbatman@g m a i l . c om> on Monday August 16, 2004 @09:23PM (#9986811) Homepage Journal
    See, here's the problem. MySQL AG seems to have reinterpreted the GPL to mean that any use of their software means that your software should be open source. Run a small website with the MySQL database? If all the source to that site is not GPLed, you're in violation. That's despite the fact that your site should be a clear and separate product from MySQL.

    MySQL has made sure to cement their interpretation in two ways:

    1. They "purchased" the LGPL JDBC driver and relicensed it as GPL. This ensures that physical linking will occur with their software (and thus the warning in the article about "circumventing" the drivers).

    2. They keep their own variation of SQL (with the #$^@ing backticks) so that software must be designed for use with MySQL. While some of us use config files on a per driver basis, many software developers have fallen for the bait and tied their software to MySQL. Doing so invalidates certain GPL clauses that may allow you to get around the "linking" issue.
  • by YOU LIKEWISE FAIL IT ( 651184 ) on Monday August 16, 2004 @09:29PM (#9986851) Homepage Journal

    I'll give you my reading, because the other followup didn't catch all your questions:

    You are welcome to license your new versions or the same version under licenses other than the GPL, because the GPL is non-exclusive. You can re-license the original code to yourself, if you feel like getting that far into it, under any license you like. What you cannot do is revoke the GPL rights on copies already distributed. This parallel licensing, where projects are released under the GPL and then sublicensed to private entities under non free licenses in exchange for bling is probably ( imho ) the best way to make money on a free software project.

    Anyone else have a better grasp of the issues?

    YLFI
  • by Lumpy ( 12016 ) on Monday August 16, 2004 @09:36PM (#9986892) Homepage
    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.
  • by ttfkam ( 37064 ) on Monday August 16, 2004 @10:08PM (#9987114) Homepage Journal
    Speaking of the new releases made possible by MySQL's dual licensing business model [as though they would stop all development otherwise], Urlocker pointed out that MySQL 4.1 is presently in beta and "should be released for production" within four to five weeks. According to information provided by the company, the new release will feature OpenGIS geographical data support [just like PostgreSQL and Oracle have done for some time now?] and the ability to send multiple SQL statements via a C language MySQL API call and receive the results back at once [yup, even though batch SQL processing isn't all that new, just use our proprietary C API and leave that nasty old ODBC behind], among other additions and enhancements [which by and large have been done by every other database vendor before us].

    MySQL 5.0, the first major update to the product since the MySQL 4.0 "production" release was announced in early 2003, is presently in the alpha stage of development. "New stored procedures and views" are among the features that this upcoming release will include [even though they publicly made a point of telling developers how little you needed them just a short while ago]. Some other interesting features may also make it into the code before the release, but Urlocker said that his company prefers to "under promise and over deliver." [Well they've certainly delivered on the under promise part.]

    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. ...to get the stink off.

    Those who forget the past are doomed to extended use of a debugger.
  • Re:Free software (Score:5, Interesting)

    by Bastian ( 66383 ) on Monday August 16, 2004 @10:37PM (#9987340)
    The issue is that the information MySQL AB puts on their site advising people about which license to choose isn't entirely in sync with what the GPL really states. Basically, MySQL AB is trying to scare businesses who weren't planning on violating the GPL into purchasing a commercial license of MySQL just incase.

    This even comes out in the article when they talk about applications that talk to a MySQL database but don't actually link against any MySQL (or other GPL) libraries being a gray area. There is no gray area in sight on this issue - if there is no mixing of code, the license is not applicable and there cannot be a GPL violation.

    MySQL AB's assertion here is akin to their claiming that you're running dangerously close to violating the GPL when you develop commercial software that runs on GNU/Linux. Yes, your app speaks to GNU software constantly, depends fundamentally on it, and is completely useless without said GNU software, but nobody is claiming you're anywhere near violationg the GPL. It's a pretty damn hypocritical argument for them to make, too, since there is a build of their software that runs on (works closely with) GNU/Linux that they do not release under the GPL. (I consider the GPL and commercial versions of MySQL to be different products because they admit there are minor differences between the two due to licensing issues with the libraries MySQL depends on.)

    I understand that MySQL is trying to secure a profit for themselves, but doing it by scaring folks away isn't going to help very much. They'll get more chance of a profit from me by putting out an effort to implement all of the features a lot of corporate users have come to expect from a bunch of their competitors and being a bit more well-behaved in terms of SQL standards compliance, thus making potential business customers more interested in tightly coupling applications with MySQL in the first place.
  • by Dr.Dubious DDQ ( 11968 ) on Monday August 16, 2004 @10:39PM (#9987362) Homepage

    In fairness to MySQL AB, I think they still feel that, for example, foreign keys are unnecessary. I just think they've put them in because they kept hearing "your program sucks 'cuz it doesn't support foreign keys" and (more importantly) "Gee, we'd like to use your product, but we insist that we must have foreign keys so we can't", so they gave in and added them.

    I wonder, though. Any chance PostgreSQL might add a "MySQL-compatible" client library? There seem to be quite a few programs that currently only support MySQL as a database server - often programs that don't NEED more than basic database support (e.g. GPSDrive [kraftvoll.at]'s use of MySQL to store its list of waypoints and Kismet-detected WAP's...) If there were a compatibility layer for PostgreSQL such that it could "fill in" for a MySQL server without re-writing the client side program that would be handy. If MySQL continues to expand to the point where it is no longer "leaner" than more heavily-featured database servers then backwards-compatibility will be the main reason left to stick with MySQL...

  • Comment removed (Score:5, Interesting)

    by account_deleted ( 4530225 ) on Monday August 16, 2004 @10:54PM (#9987457)
    Comment removed based on user account deletion
  • by maxpublic ( 450413 ) on Tuesday August 17, 2004 @02:43AM (#9988572) Homepage
    No retroactive licensing may be applied to the code.

    That's true of anything copyrighted, not just computer code under the GPL. Once you release it under copyright X, you can't further restrict that release in the future - although you can relax restrctions, if you so desire.

    Unless, of course, you're Disney and can buy congress critters to grandfather whatever inane copyright schemes your lawyer-weasels have dreamed up during their luncheon crack sessions.

    Max
  • Re:MySQL AB Comments (Score:5, Interesting)

    by jadavis ( 473492 ) on Tuesday August 17, 2004 @03:02AM (#9988634)
    Correct me if I'm wrong, but aren't the client libraries licensed as GPL?

    This makes it difficult to develop an application with MySQL support, even under a FOSS license like the BSD license, without paying for a commercial MySQL license. Merely providing a MySQL database driver seems to violate the GPL if the application is not GPL.

    As I understand it, this is more restrictive than even proprietary databases. As evidence I point out that PHP includes many database drivers (proprietary and FOSS), but does not bundle the MySQL one anymore.

    Also, it creates a significant "grey area" when your language of choice (e.g. PHP) provides a driver. Must the PHP app then be GPL as well?

    Am I being confused by FUD or are these real points of confusion and concern?

    I am really only concerned with the client libraries. I'm certainly comfortable with the server itself being GPL, and I am grateful to MySQL AB for contributing so much code in a FOSS license. Client libraries are often LGPL, and it confuses me when MySQL AB does not follow that norm.
  • Trust my answers. (Score:2, Interesting)

    by hummassa ( 157160 ) on Tuesday August 17, 2004 @05:38AM (#9989025) Homepage Journal
    I know what I'm talking about.

    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-notarize 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.

    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
  • by Daniel Dvorkin ( 106857 ) * on Tuesday August 17, 2004 @09:38AM (#9990312) Homepage Journal
    Would you be so gracious as to say why?

    Since yours is the only non-flame response I've received in the thread, sure, I'll be glad to. ;)

    1. Documentation. MySQL's documentation is so much better than PostgreSQL's, there's just no comparison. If there's something I want to do in MySQL that I don't know how to do (which doesn't happen very often these days; I will certainly grant that there's less to learn with MySQL than with a fuller-featured DBMS) I can almost always find out with a few minutes of searching. PostgreSQL's docs seem to have been written by people who take positive joy in making things as obscure as possible. Most commercial DBMS documentation seems to have been written by people who were getting paid by the word.

    2. I like MySQL's command-line tool better than everyone else's. [shrug] This is a matter purely of personal preference, I admit.

    3. There's no shortage of host language support for either MySQL or PostgreSQL; both have it better than most commercial systems seem to.

    4. Speed. Many, many people will tell you that MySQL isn't "really" faster than other DBMS's, and come up with elaborate justifications for why this is so. As far as I'm concerned, they're akin to those who insist that [Linux | BSD | OS X] isn't "really" more secure than Windows: real-world performance proves them wrong.

    Do the limitations of MySQL bother me? Sure; every once in a while I grit my teeth at having to write multiple queries, using temp tables and the like, to have to simulate nested queries and views. The lack of stored procedures and transactions can be dealt with in host language apps, but again, it can be a pain in the ass. But for me, the advantages I listed above outweigh all of these problems. Also, I'm willing to wait for the MySQL team to add in the missing features, one at a time, because based on past performance, I have faith that they'll do it right.

    Roughly speaking, it seems to me, MySQL and PostgreSQL have followed opposite but converging development paths. The MySQL approach was to start with a very limited feature set, make it fast and easy to use and capable of running on a wide range of systems, and then add features in one at a time, making sure nothing breaks as they go along. The PostgreSQL approach was to start with everything and the kitchen sink, and then work on problems with speed, interface, and cross-platform compatibility.

    For F/OSS projects in general, with limited resources to throw at the problem, I don't claim that either approach is better -- just different, is all. And like I said, at this point they seem to be converging ... but twenty years from now, you'll probably have /.ers hashing it out over these competing memes.
  • by bucknuggets ( 749594 ) on Tuesday August 17, 2004 @09:39AM (#9990324)
    > 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?

    Well, first off I think most complaints about msyql aren't about performance. It has fine read performance, though concurrent write performance seems poor. Haven't been able to run any benchmarks to prove that, just what I'm observing and hearing. MySQL is strangely silent on TCP-Cs. But for many small apps - the performance is good enough. The real problems are licensing, silent errors, non-compatible sql, etc.

    yes it's a bad thing - since they aren't complaining about features - like a cup-holder in a car. They're complaining about features like a standard 12v electrical system in the car:
    - least portable sql of any common database
    - lack of support for basic, 20 year old database features like views
    - transactions only available thru third-party product, not seamlessly integrated in mysql, often fails to work silently (!)

    mysql ab has often stated that transactions (!), views, subselects, triggers, stored procs are unnecessary for 90% of the users out there. This is deliberate misinformation. Sure, you can live without stored procs, and sometimes triggers. But subselects? views? transactions? Heck, even a simple bowling-score hobby database should use transactions - implementing transactions in your application is *far* simpler than dealing with corrupt data!

    > 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.

    Please, doing that for postgresql, mysql, oracle, and db2 (and for both dev & prod versions) at any level of detail would be extremely time-consuming. The ideal technique here is to score the solutions based upon very low-level critieria (support for super-groups in sql, etc) then roll it up. Since each product does some things a little differently you're looking at 200 hours to pull this off.

    This kind of task, along with performance benchmarks (tpc-c & tpc-h) are often done for very large projects. Maybe we'll see at least some benchmarks come from a hardware manufucturer one of these days. Or mysql if it felt that it was mature enough to compete with the commercial databasees - then it would spend some of that investor money to prove it.

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...