Slashdot is powered by your submissions, so send in your scoop


Forgot your password?
Databases Programming Software Sun Microsystems IT

Sun May Begin Close Sourcing MySQL Features 509

An anonymous reader writes "From the MySQL User's Conference, Sun has announced, and former CEO Marten Mickos has confirmed, that Sun will be close sourcing sections of the MySQL code base. Sun will begin with close sourcing the backup solutions to MySQL, and will continue with more advanced features. With Oracle owning Innodb, and it being GPL, does this mean that MySQL will be removing it to introduce these features? Sun has had a very poor history of actually open sourcing anything."
This discussion has been archived. No new comments can be posted.

Sun May Begin Close Sourcing MySQL Features

Comments Filter:
  • by andersbergh ( 884714 ) on Wednesday April 16, 2008 @08:42PM (#23098344)
    That's not what the linked blog post says, basically what they're doing is developing new features to be put in MySQL 6.0 enterprise, and these _new_ features won't show up in community.
  • Last part a Joke? (Score:5, Informative)

    by gQuigs ( 913879 ) on Wednesday April 16, 2008 @08:46PM (#23098386) Homepage - no mention eh. :P
    Java - I am running the IcedTea free software version right now
    OpenSolaris - might not be GPL, but it still qualifies as free software... right?

    Of course I'm hoping the first part is a joke too.
  • Comment (Score:5, Informative)

    by Rinisari ( 521266 ) on Wednesday April 16, 2008 @08:46PM (#23098388) Homepage Journal
    Marten replied already:

    Marten Mickos Says:
    April 16th, 2008 at 17:28:26

    Thanks for all your comments on our business model. I wanted to present here the quick facts around this to avoid misunderstandings:

    In 6.0 there will be native backup functionality in the server available for anyone and all (Community, Enterprise) under GPL.

    Additionally we will develop high-end add-ons (such as encryption, native storage engine-specific drivers) that we will deliver to customers in the MySQL Enterprise product only. We have not yet decided under what licence we will release those add-ons (GPL, some other FOSS licence, and/or commercial).

    Because the main backup functionality goes into the main server under GPL, anyone can of course use the api and build their own add-ons or other modifications.

  • What the hell? (Score:5, Informative)

    by joe_bruin ( 266648 ) on Wednesday April 16, 2008 @08:55PM (#23098486) Homepage Journal

    Sun has had a very poor history of actually open sourcing anything
    Yes, let's forget about Java, that was recently GPL'd. Or Open Solaris, including ZFS. Or Open Office. Or OpenSPARC (you can download and implement their latest processors). Or Netbeans (and Forte before that, though it was lousy). Or being a patron of the FSF [].

    Those guys are such dicks, they never give the community anything.
  • by larry bagina ( 561269 ) on Wednesday April 16, 2008 @08:59PM (#23098528) Journal
    Sure, you can fork it, but almost all MySQL development is done by paid MySQL engineers (or paid InnoDB engineers). I think Google might have some engineers working on it, and I think Slashdot/VA Linux/Whatever they're called now might have had 1 at one point. The GCC/EGCS fork worked because most of the developers went with the EGCS. The XFree86/ fork worked because most of the developers went with the Lucid probably spent 250-500k in producing the XEmacs fork. How many other big projects have successfully forked?
  • by randomnote1 ( 1273964 ) on Wednesday April 16, 2008 @09:00PM (#23098544)
    Thank you for pointing this out. Sun is not close sourcing existing portions of MYSQL. Just adding new features for the customers who will pay an arm and a leg for it. It may not be the smartest move in scoring points with the open source community, but it gives them more leverage with their high end customers.
  • by SL Baur ( 19540 ) <> on Wednesday April 16, 2008 @09:07PM (#23098584) Homepage Journal
    Yes, it's sensationalistic. They will be close sourcing portions of the source, but not the database core itself. The only piece mentioned in TFA is the online backup utility.

    I've never understood the reluctance towards PostgreSQL. It's been quite good for quite a long time now.
  • by spun ( 1352 ) <loverevolutionar ... m ['oo.' in gap]> on Wednesday April 16, 2008 @09:07PM (#23098592) Journal
    Sun will only develop and release certain features in the Enterprise version, specifically relating to online backup, management, and other advanced features. What's in the current version stays in the current version, but they will phase out those features in the community branch. Someone can still port them from the old version, but even then, we won't get the benefit of Sun's new developments.
  • Comments from MySQL (Score:5, Informative)

    by martenmickos ( 467191 ) on Wednesday April 16, 2008 @09:09PM (#23098626)
    Thanks for all the comments on this. We are listening attentively. Let me clarify some facts:

    * The business decision on this was made by MySQL AB (by me as the then CEO) prior to the acquisition by Sun, so this has nothing to do with Sun. On the contrary, Sun is more likely to influence this decision the other way.

    * It is not a quesiton of close sourcing any existing code, nor anything in the core server. Everything we have released under GPL continues to be under GPL, and the core server will always be under GPL (or some other FOSS licence).

    * We will introduce backup functionality for all users (Community and Enterprise) under GPL in version 6.0.

    * Additionally we will develop high-end add-ons (such as encryption, native storage engine-specific drivers) that we will deliver to customers in the MySQL Enterprise product only. We have not yet decided under what licence we will release those add-ons (GPL, some other FOSS licence, and/or commercial).

    * At all times, because the main backup functionality goes into the core server under GPL, anyone can of course use the api and build their own add-ons or other modifications.

    Those are the facts on this. The interesting topic is of course the one of the business model and what the best business model for FOSS software is. I hope to cover that in a separate posting.

    In all of this, you have our undivided continued commitment to providing a fantastic and complete MySQL server under GPL for anyone to download and use. If we for whatever reason would not do that, we would risk losing users to other open source databases or risk seeing a fork of our own product. This is the power of open source.

    Make sense?

    previously CEO of MySQL, now SVP at Sun
  • Re:Comment (Score:2, Informative)

    by Ai Olor-Wile ( 997427 ) on Wednesday April 16, 2008 @09:13PM (#23098656) Homepage
    Sounds like the story may need a "troll" tag!
  • by CastrTroy ( 595695 ) on Wednesday April 16, 2008 @09:26PM (#23098786) Homepage
    Works much better than MS's famous "the default sa password is empty string".
  • by SL Baur ( 19540 ) <> on Wednesday April 16, 2008 @09:27PM (#23098790) Homepage Journal

    The GCC/EGCS fork worked because most of the developers went with the EGCS.
    That fork worked because the GCC mainline was dead *and* the people doing all the real work were the ones who created EGCS. Indeed, what is now called "GCC" is the offspring of EGCS, the orignal GCC was killed.

    No comment regarding XFree86/Xorg.

    No comment regarding the Emacs/XEmacs fork, except to point out that there was an earlier fork called Epoch made in the version 18 days and that didn't go anywhere. I used it for a time in 1990 and preferred it to straight Emacs 18.

    The only other major fork I can think of would be the *BSD forks, Open, Net and Free.

    Successful forking is very rare and requires a truly dedicated developer community or large corporate backing to pull it off. Out of the few examples listed one of them was not a fork at all, but a coup and resulted in the death of the parent.
  • by Cecil ( 37810 ) on Wednesday April 16, 2008 @09:50PM (#23098978) Homepage
    Having a good bit of experience with both, I'd say that the documentation and overall support structure for PG is about the same as MySQL these days.

    The only caveat that typically hangs up new users (especially ones coming from a MySQL background) and is not particularly clearly documented is the default authentication mechanism.

    By default (at least on many distributions), Postgres uses "ident" authentication, which means no password is required for database logins on a local socket. What *is* required, on the other hand, is that you must be logged in/running as the UNIX user of same name. Obviously this poses problems for webapps that want their own database user and is generally just very confusing for users who are used to the database having its own independent set of usernames and passwords (which Postgres still does, for remote connections... causing further confusion)

    Of course, like any good database Postgres will be more than happy to handle its own user authentication entirely natively, you simply have to use md5 instead of ident in pg_hba.conf []
  • by Chaos Incarnate ( 772793 ) on Wednesday April 16, 2008 @09:51PM (#23098980) Homepage
    It's not that they're phasing them out of the GPL'd branch; these are new features that were never GPL'd in the first place.
  • Who Needs MySQL? (Score:3, Informative)

    by Anarchysoft ( 1100393 ) <anarchy@anarchy s o f t .com> on Wednesday April 16, 2008 @10:17PM (#23099196) Homepage
    When there are so many good alternatives! [] Check it out.
  • by penix1 ( 722987 ) on Wednesday April 16, 2008 @10:23PM (#23099250) Homepage
    Just one line for you... []
  • by debrain ( 29228 ) on Wednesday April 16, 2008 @10:47PM (#23099462) Journal
    I'm very happy to concur. I just tried to put triggers on MySQL databases, admittedly a relatively new feature for the little database that could, and it was a nightmare to manage them. phpMySql didn't have any interface to it, nor did any of the other tools for Mac OS X (which I'm using primarily). I'm not averse to the command line, but there are times when it's just nicer to have a visual interface. I've switched over to PostgreSQL, and its' web-management tool phpPgAdmin allows me to quickly view and edit triggers and many other nuances to my heart's content. Further, the documentation answered all of my questions in very short order.

    I'm sincerely impressed with what PostgreSQL has done. I hope they continue working, and hope they are never picked clean by those who "don't get it", ala. what appears to be happening to MySQL.

  • by Orange Crush ( 934731 ) on Wednesday April 16, 2008 @11:17PM (#23099678)

    No. That's the key difference between the GPL and permissive licenses like BSD and MIT. You cannot take GPL code, modify it, and re-release it as a closed source product. The terms of the license explicitly state that you must provide source code with any modified or derived version you distribute.

    *UNLESS* you are the sole copyright holder to the GPLed work and any outside contributors have assigned copyright to you, in which case you can re-release it under whatever license you please (of course, the most recent GPLed version remains in the wild and can be forked by the community).

  • by arodland ( 127775 ) on Wednesday April 16, 2008 @11:58PM (#23099962)

    I guess it's time to see if PostgreSQL's documentation and tools have managed to get any less user-hostile over the years.
    Buh? Postgres had some really quality documentation before MySQL had much of anything, and a summarized version of it is even available live in the client. Yeah, it's slightly less verbose than MySQL's has gotten to be, but it's certainly not incomplete. It just isn't "SQL for Dummies". (Side note: that's one of the better "Dummies" books ever printed).

    As to tools, I'm not sure what you're after, as postgres has less need for addon tools than mysql, doing more via SQL instead. The only thing that's especially tricky in configuration is pg_hba.conf -- but comparison with mysql's user auth shows the complexity to be worthwhile.
  • by paulthomas ( 685756 ) on Thursday April 17, 2008 @12:36AM (#23100256) Journal
    Post / Grez / Queue /El

    Because it is such a common question (and such an odd name), it is aptly an entry in the PostgreSQL FAQ [].

    If you don't like my phonetic spelling and prefer IPA, Wikipedia has you covered. []

    Many people, myself included, simply call it Postgrez.
  • by bonefry ( 979930 ) on Thursday April 17, 2008 @01:05AM (#23100468)
    SUN is not closing parts of MySQL, instead it is introducing new features in MySQL Enterprise, a product which always had extra features.

    Not to mention that SUN is not the only one doing interesting things with MySQL ... for example at the conference I saw a presentation on Maria, a MyIsam-based storage engine that supports transactions.

    Also, the features in MySQL Enterprise can (at least currently) be enjoyed by most developers using alternatives ...

    1) the hot backup of myisam tables will be available in the open-source version
    2) the smart load balancer is a MySQL Proxy configured with filtering scripts that you can write yourself in Lua
    3) profiling can be done efficiently with Sun's DTrace

    Disclaimer: I am currently attending the MySQL conference, but I am not affiliated with Sun in any way.
  • by sxpert ( 139117 ) on Thursday April 17, 2008 @01:29AM (#23100610)
    as long as you use the same versions of postgres (well, really this should read "the versions you use are using the same disk format)) it should be a simple rsyncing the data directory to the laptop.
  • by Anonymous Coward on Thursday April 17, 2008 @01:31AM (#23100628)

    A relational database is a time-varying collection of data, all of which can be accessed and updated as if they were organized as a collection of tabular time-varying tabular (nonhierarchic) relations of assorted degrees defined on a given set of simple domains.
    (emphasis mine)

    That is where MySQL has problems. It does not enforce the database schema correctly by design, as opposed to other RDBMSs that simply lack a feature or fail to do so due to a bug. Thus it it is only a time-varying collection of data, and fails the rest.

    There used to be truckloads of examples, but these days it's 'only' down to some incorrect null handling, silent errors, and transactions succeeding even if they should fail due to the prior.

  • by burnin1965 ( 535071 ) on Thursday April 17, 2008 @01:52AM (#23100740) Homepage
    I wouldn't know about windows clients, haven't used them for years. Table name completion does work, column completion is basically worthless as it lists every column available in every table, not just the table you listed in the FROM portion of the statement. And there is no completion for any of the SQL commands.

    At least that is the case in mysql 5.0.45-6

  • by TheVoice900 ( 467327 ) <kamil@kamilkisie ... inus threevowels> on Thursday April 17, 2008 @02:24AM (#23100898)
    I would say I'm fairly new to Postgres, at least from an administration standpoint. I was just going through their online documentation the other day (which, by the way, is excellent!) and they explained the authentication mechanisms quite well.
  • Re:Very insightful (Score:4, Informative)

    by Antique Geekmeister ( 740220 ) on Thursday April 17, 2008 @02:48AM (#23101014)
    This is frequently, though not always, true for RedHat. Some of their clustering systems are closed source, and available on RHEL and not Fedora. But it's generally true.

    There are companies that use the 'closed first, GPL later' approach: Xensource did with Xen virtualization softwre, and Citrix is allegedly doing the same now that they bought Xen. AFPL does this with Ghostscript, and at last look Zmanda was doing this with Amanda.
  • by Beefpatrol ( 1080553 ) on Thursday April 17, 2008 @02:51AM (#23101028)

    I've been using PostgreSQL pretty heavily for the last year or so, and since the version of Gentoo I was originally using had 8.0.12 as the default version, and I am now using 8.2.6, I can say that it has improved tremendously just through those two minor releases. I have also not found the documentation to be significantly lacking. It is well organized and covers everything you need for even a fairly heavily used system.

    I haven't tried doing any of the more esoteric things with it that the documentation suggests can be done; one thing that I have not tried is installing any of the alternative languages that can be used to write embedded functions. (The list of available languages is pretty impressive, including some that do not initially seem to be semantically even remotely similar to PL/PgSQL.)

    I've currently got a database running whose data takes up about 25 GB on disk, and queries that involve using a good portion of this data seem to have scaled well versus queries that use only a tiny fraction. In moving from one machine to another, I've used the utilities that come with it to dump and restore the database, (and I use them regularly to do backups), and they work well.

    The only thing that ever makes me covet MySQL is the ability to use different storage types for tables. PostgreSQL only has one type of table storage, but any performance issues I have had have been curable in a way other than changing table types.

    #postgresql on freenode is quite useful; fairly frequently, there are representatives of the core development group hanging around, and they have always been willing to answer questions and explain how stuff works.

    One bit of performance advice: if you can get 3 drives, one for the data, one for the indexes, and one for the write-ahead logs, performance will improve drastically. Also, the default settings for the tweakable operational variables are not really set well for speed or efficiency. I'm not sure what kind of system they would be good for, but if you read the documentation, you can glean reasonable settings fairly easily and they make a huge difference. Overall, I have found it to be very reliable. I have never had any problems with this system that were related to the system itself; everything that I have had to deal with has been because I initially didn't know what I was doing and had created some fairly awful database designs.

  • Bad summary (Score:5, Informative)

    by headLITE ( 171240 ) on Thursday April 17, 2008 @03:14AM (#23101136)
    The /. summary is misleading. It isn't MySQL that is going to be closed-sourced, it's just that Sun will develop additional products that MySQL customers will be able to buy and use with their GPL MySQL server if they so choose. This isn't really news, MySQL AB has done so before, for example with the most excellent MySQL Enterprise Monitor.
  • by Anonymous Coward on Thursday April 17, 2008 @04:40AM (#23101508)
    Mirroring is nowhere near as easy to set up in PG, but it is a lot more robust and scalable than MySQL's. Unfortunately, though, PG mirroring is achieved by using 3rd party tools such as Slony-I.

    I've had experience with Slony-I in the past. Once working, it's very solid, but the installation was a nightmare. The documentation and install guide are incomplete, and the helper scripts packaged with it are buggy and semi-functional.

    I'm told you can now do mirroring and action replays in PG using the binary logs (which is similar to the method MySQL uses). This is good news because I wasn't too happy relying totally on triggers, which is how Slony-I was written.
  • by bhtooefr ( 649901 ) <bhtooefr@bhtooefr. o r g> on Thursday April 17, 2008 @06:24AM (#23101904) Homepage Journal
    What about StarOffice, which they bought, and later forked into OpenOffice?
  • by headLITE ( 171240 ) on Thursday April 17, 2008 @07:41AM (#23102234)
    There are close to no free coders involved. 99.999% of all MySQL code is currently being written by the more than 400 employees that joined Sun by way of being acquired along with MySQL AB.

    The architecture that is being suggested for backup here is in fact open source friendly, as Sun could just as easily have decided to NOT implement the provisions for it in the GPL code base. As it is now, there will be plenty of opportunity to hook up your own backup stuff, which is a good thing.
  • by Tony Hoyle ( 11698 ) <> on Thursday April 17, 2008 @07:46AM (#23102276) Homepage
    sqlite is a very simple single user db. It's easy to integrate and because it doesn't need a server, works extremely well where you'd like to use SQL but don't need a heavy database. It's not even in the same target application space as MySql.

    MySql is a full fledged client/server database and *should* support referential integrity properly. Of course its biggest problem is licensing - you can only use mysql with 100% GPL applications (unless you're prepared to pay $200/user for the client licenses, or stick to the 3.23 client which is the last free to use version), which limits it somewhat.. TBH given that restriction I'm really surprised web hosts still ship it, as they're opening themselves up to all sorts of liability issues if one of their customers uses/builds a non-gpl app using it.

    Postgresql is basically mysql without all the silly politics.
  • by ta bu shi da yu ( 687699 ) * on Thursday April 17, 2008 @07:52AM (#23102316) Homepage
    I'm wondering what part of "I'm not averse to the command line, but there are times when it's just nicer to have a visual interface" you didn't get.

    The guy isn't complaining, he's just saying that PG does it better. And it's true.
  • by MobyDisk ( 75490 ) on Thursday April 17, 2008 @09:05AM (#23103006) Homepage
    Perhaps the only problem with PostgreSql is that it has so many mirroring options, depending on your needs. For your purposes, Slony is probably what you want. Either that, or just use pg_dump or a file copy to copy the entire database in one big chunk.

    Postgres 8.4 will have Postgres-R built-in, which is really just the existing "Mammoth" replication tool, but integrated in.
  • by Anonymous Coward on Thursday April 17, 2008 @09:34AM (#23103386)
    Right now there's zero demand for postgresql, I've got thousands and thousands of mysql sites but only a handful of postgresql ones. The instant that starts to change I'll start including postgresql in the entry level packages because I know my competitors be will too.

    Those of us who desire PostgreSQL usually start with the list over at PostgreSQL's site.

  • by neoform ( 551705 ) <> on Thursday April 17, 2008 @09:41AM (#23103484) Homepage
    By the way, there is a WYSIWYG editors for both mysql and postgres that handles triggers.. []
  • Apples and Oranges (Score:3, Informative)

    by ttfkam ( 37064 ) on Thursday April 17, 2008 @10:02PM (#23113266) Homepage Journal
    If your referential integrity is in your application then your database engine is broken. His professor had it right. He wasn't writing to a product, he was writing to just about any modern relational database management system *except* for MySQL and SQLite. At least SQLite never pretended to have a complete feature set. MySQL lacked and blamed its lack on "avoiding bloat."

    And constraints in MySQL? Is that why CHECK constraints were silently ignored for so many years? What you call "constraints," I call "the vast subset of constraints that MySQL managed to support in a timely fashion." Big difference.

    You can simulate 3NF with application patches, but without actual DB support, it's smoke and mirrors. Without enforced foreign keys, it's not an ACID database. A database engine missing ACID is like an operating system with cooperative multitasking. Sure you can have multiple apps running at the same time, but don't for a second pretend that it's the same thing as preemptive multitasking as long as you have proper application support. To assert as much is missing the underlying point altogether.

Never buy from a rich salesman. -- Goldenstern