Sun May Begin Close Sourcing MySQL Features
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."
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.
OpenOffice.org - 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.
Colin Dean Go a year without DRM
Those guys are such dicks, they never give the community anything.
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.
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.
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
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?
Marten
previously CEO of MySQL, now SVP at Sun
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.
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
Random and weird software I've written.
Just one line for you...
http://phppgadmin.sourceforge.net/
This is a sig. This is only a sig. Had this been an actual sig you would have been informed where to tune for more sigs.
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.
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.
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.
SUN is not closing parts of MySQL, instead it is introducing new features in MySQL Enterprise, a product which always had extra features.
... for example at the conference I saw a presentation on Maria, a MyIsam-based storage engine that supports transactions.
...
Not to mention that SUN is not the only one doing interesting things with MySQL
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.
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.
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.
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.
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.
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.
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 the way, there is a WYSIWYG editors for both mysql and postgres that handles triggers..
http://www.navicat.com/
MABASPLOOM!