MySQL Writes Exception for PHP in License
ryanjensen writes "According to an article on News.com, MySQL wrote an exception into its license to allow PHP to use its libraries. From the article: 'Because MySQL owns copyright to all the MySQL code, it can include additional license provisions to its software. The new provision, called the Free and Open Source Software License Exception, enables people to use MySQL client libraries with other open-source projects under other open-source licenses other than the GPL.'"
This is good news for all those PHP kids out there. It is nice to see some licenses being made specifically more lenient, and I don't doubt this has had something to do with the recent change in the XFree86 license and how people reacted to that. Well done MySQL, your domination is secured :)
Or, in this case no quids were involved (a quid is UK slang for a British pound...)
:-))
It restores my faith in people when something like this happens - MySQL and PHP are the joint foundations on which a huge number of OS projects depend. Way to go MySQL
Simon
Physicists get Hadrons!
I'm a Python guy and I feel fucked over.
...but I'm sure some GPL zealots might.
To me, it looks like an issue of pragmatism and the MySQL folks apparently aren't hung up on religious adherence to GPL principles.
It's an issue of maximum applicability, to me.
PHP and MySQL are very close. One can't really thrive without the other, so if one adopts a more restrictive license, both lose out. And considering the massive penetration of PHP and MySQL, neither can risk this kind of thing.
So how is it that people were not allowed to bundle/redistribute the libraries with their own GPL/LGPL'd projects? I read through the article but don't have any of this back information. Could anyone post for me and any others curious about what these revisions were over exactly?
( o ) one could say I'm rather baked
Why do people still keep using MySQL, in spite of their atrocious license changes? Or does everyone insist to keep on using the old version?
Postgresql is there, and is as free as can be.
BTW, why can't people just fork the old version of MySQL and use any license they want? Lack of skills?
Save your wrists today - switch to Dvorak
This license exception is BS. It requires that "The Derivative Work does not include or aggregate any part of the MySQL Server" where "the term 'include or aggregate' means to embed, integrate, bundle, aggregate, link, distribute on the same media or in the same packaging, provide with instructions to download or automate any of the preceding processes." This effectively means that any non-GPL program that links to MySQL client libraries cannot be distributed in an operating system distribution with the MySQL server. It also means that the documentation for such packages can't even mention "www.MySQL.com" because that would count as "provid[ing] with instructions to download".
If your intent is to foster contributions to your project, then aren't you in danger of losing that by allowing more liberal (and potentially, more closed) licenses to be used with your project?
MySQL seems to be working well with perl, I don't see why they should encourage PHP (unless the developers of PHP want to play source with us in OSS land)
It's companies like this that really have the confidence and trust of the 'mass' market. By openly supporting and helping people that will for the most part not give them any return they really show up the likes of SCO with all the crap they have been shovelling out of their head office.
And of course, even though they don't see any actual profit or return of investment by this good will gesture it makes people like me have a greater desire to support the company by buying their products over their rivals.
If at first you DON'T succeed, Skydiving is NOT for YOU!!
Kinda makes me think they should have stuck with the LGPL. Not that I don't understand why they went to GPL (it's all about the Benjamin's).
--
If I actually could spell I'd have spelled it right in the first place.
I really enjoy using PHP for web development. I find that you can't beat scripting languages for ease of maintenance, quick turnaround time, and tweakability.
One of the big reasons I chose PHP was the availability of "LAMP": Linux, Apache, MySQL, PHP. I know these technologies have been around for years and will be around for many more years, so it's an easy sell to management. There's plenty of talk on the newgroups if you ever get stuck and PHP's online documentation with user comments is priceless. I think more documentation should follow this example.
That aside, the pure performance and reliability of the above is excellent. These technologies were made to work together, and from what I hear the teams even collaborate to make sure their stuff stays working together. It really shows.
Years ago I worked on ASP/SQL Server solutions and where you had to go with native code for high-performance with ASP, I find that with PHP it is high performance on its own.
Great job to everyone who has helped put together these technology solutions. A shining example of the high quality that can come out of the collaborative efforts of many.
Im sure i saw this within the Mysql license over 2 months ago. Its good to see mysql making exceptions for other opensource projects, and acknowledging that there are other non gpl licenses. I wonder if the PHP crew will reevaluate the decision to remove mysql client from php5?
FOSS license Exception. Scroll down for the table.
Will Debian now remove MySQL or move it to non-free?
~Darl
I have no problem with the making such a license change per se--they have the right to do it and it doesn't limit the existing license in any wqy.
But, the approach itself strikes me as unnecessarily complex and short-sighted. There is a growing list of compatible licenses in there--who is going to keep that up to date? What's going to happen when MySQL disappears and nobody can make such little changes to the license anymore?
A fairly straightforward compromise would be to put them under the LGPL license. I think that would also make sense because it would get vendors of commercial tools to incorporate the client libraries into their software. But it seems like MySQL's business strategy is getting into the way there because they appear to want to make money from licensing even the MySQL client libraries that way.
This situation seems vaguely analogous to Qt's GPL license: in both cases, a commercial owner of an OSS project is choosing the GPL license as an encumbrance in order to be able to get money from some class of commercial users. In the case of MySQL, they are trying to limit the "collateral damage" to non-GPL compatible OSS projects by making exceptions. But in both cases, I suspect that having these libraries under the GPL is itself a suboptimal strategy because it limits the adoption of OSS. For things like GUI toolkits and database client libraries, it seems best for OSS if companies incorporate them into their commercial software as much as possible, and that means choosing a license more liberal than the GPL. But, again, commercial interests prevent that in these cases.
Well, I personally had just assume that the MySQL client libraries were LGPL or BSD. Thanks for bringing this up. Not the license change itself, but the fact that it has brought the MySQL license situation to my attention, is a reason for me to think about using SQLite and PostgreSQL more seriously.
The moral of the story is clear: don't contribute to dual licensed projects, or any project where there is a clear single copyright owner. They have the ability to re-license at will, profiting from your work as you please and not having to offer in return what the original distribution license intended (e.g. GPL).
MYSQL just received $19.5 million in venture capital funding.
While this could and should be great, it remains to be seen what impact the influx will have.
What heavy programming? After all, can't you just take it, change a few lines and call it OurSQL?
Here's what I do: Bitty Browser & Andromeda
The RH enterprise 3, releases has all MySQL v3.
The MySQL changelog says:
* Thu Jul 03 2003 Patrick Macdonald 3.23.57-1
- revert to prior version of MySQL due to license incompatibilities
with packages that link against the client. The MySQL folks are
looking into the issue.
So, suppose I work on a community website using PHP/MySQL and I'd like to sell this, what are my options? Could I go with the GPL license, be sure to include all source code in the package (hey! PHP is a interpreted language anyway!) and get paid for installation support and distribution? What if I didn't sell it, but only used it on my own homepage?
What exactly is better about it? I'm just starting out with database programming and I was considering going with MySQL and PHP... Why would I choose PostgreSQL instead? PHP seems to favor MySQL as the database of choice.
Where did the poster say that installing Linux was hard or didn't work? It sounds like you are suffering from a spontaneous auto-wedgie.
Since the first example you reached for was Microsoft that makes me wonder if there really are better choices in the OSS/database world.
You actually think thats the real Darl McBride of SCO?
It'd better be. He's been charging overtime for making some of these posts.
The real Ralph Yarro posts as Anonymous Coward. Anyone else is an impostor.
If your intent is to foster contributions to your project, then aren't you in danger of losing that by allowing more liberal (and potentially, more closed) licenses to be used with your project?
Umm... no. For example, if the client libs were LGPL, any improvements to them would need to be public, but any program using those libs wouldn't need to be. Obviously, even with the new clause, improvements to client libs would need to be public.
Licensing a library as GPL is motivated purely by the prospect of profiting from dual-licensing the library to companies that can't release their code under GPL.
Save your wrists today - switch to Dvorak
I think the phrase you're looking for is "GNU Dogma." Correct?
Years ago I worked on ASP/SQL Server solutions and where you had to go with native code for high-performance
Let's not forget that oh so common feature of Formatting Dates in ASP, you need to link native code for the "Format" function in VB (since FormatDate gives you a whopping 4 options) to get some even remotely as close to the power of the simple "date" function in PHP. Pretty shitty. God I hate ASP.
How could I say to men: "Speak louder, shout! For I am deaf!"? -Ludwig van Beethoven
As much as there are some FSF fans wish that the GPL was the only software license, it's not the one-size-fits-all solution for everybody. That's why the LGPL exists. That's why Creative Commons exists. That's why many common open-source programs have forked the GPL to make it their own.
We can debate the finer points of whether such changes should be made or not, but let's not treat the GPL like it's a religion. It's not perfect.
It's really a good thing to know what you are on about before posting you know. Reading the article can help.
:)
This is not about PHP not working with MySQL and certainly not about any restrictive license on PHP's part.
MySQL enjoyed a special status with PHP as being bundled with PHP by default. MySQL changed the license for their libraries from LGPL to GPL. As a result the PHP people felt they could no longer bundle the libraries with PHP.
MySQL now added a clause to their license so that they can retain their 'preferred' status.
unless the developers of PHP want to play source with us in OSS land
Well I'm not a PHP developer, but I'll play source with you any day
Cheers
What a rotten party, have we run out of beer or something?
Last I checked (which probably has changed somewhat by now)...
3
MySQL does not support views, stored procedures, transactions (InnoDB does, but this is an additional product) and a bunch of other developer's friends. Check out the comparison at www.sql-info.de.
I also seem to remember replication was superior on PgSQL. Feel free to correct me.
MySQL's big draw was simplicity and speed. Not sure if that's really relevant, in the big picture, since PG has sped up quite a bit recently, and adding InnoDB kills the speed advantage, from what I've heard.
Also check this awesome comparison. This guy is amazing: http://www.phpbuilder.com/columns/tim20000705.php
SYS 64738 NO CARRIER
Lots of reasons.
Scales better with large numbers of simultaneous connections, larger tables, etc.
Mature transactions. MySQL just gained these, but they aren't in heavy use. For applications where consistency matters, you need either transactions or locks. In MySQL you spend a lot more time coming up with locks and resolving deadlocks.
Stored procedures. Sometimes it's useful to put code right in the database that can abort an invalid transaction or perform some other automated action. With MySQL you have to put this code in your PHP application, everywhere you access the database, rather than just once in the database. Much more code, much more debugging, and often much less efficient. The primary procedural language (PostgreSQL supports several) is Pl/PgSQL, essentially the same as Oracle's Pl/SQL. If you learn Postgres, you're well on your way to learning Oracle.
Multi version concurrency, like the big commercial databases.
A query optimizer that gets much better performance as your queries get complex. MySQL often can't do the same complex queries at all, and when it can does them naively at unusable speeds.
Rule system, implementing views and other big-iron features, allowing applications to be simpler.
Correct behavior under crash scenarios or disk full. I've never had PostgreSQL corrupt a database. MySQL will occaisionally, so your backups will get more exercise, and you'll have lost some data.
subselects. You can often contort your MySQL queries to work around the lack of full subselects, but again, you do more work, and there isn't always a workaround.
Foreign keys (implemented using triggers). These allow you to ensure that your data follows certain relationship rules (every sale points to a valid buyer for instance) at the database level. In MySQL you just have to make sure in PHP (outside the database) that you always generate good data.
Mistakes happen, Postgres lets you program more defensively.
Temporary tables. Very useful when building a complex operation inside a transaction.
Security and authentication. Postgres has a very wide array of authentication methods, ranging from allow these IPs to do anything to local sockets, with SSL available to use to encrypt and authenticate as well.
postgres is not as good at altering tables in production, especially if you've used the advanced features like triggers and rules (you may end up copying the data, deleting the tables, and reloading them, all inside a transaction of course).
MySQL client libraries have been included/bundled with PHP for a long time now, and MySQL support was enabled by default. As of PHP 5, these client libraries are no longer bundled, and MySQL is not enabled by default. This essentially makes MySQL support like any other PHP extension, nothing special. To install, simply download MySQL and configure PHP with --with-mysql. Not a big deal. You do the same for PgSQL, CURL, TIDY, GD, etc.
q .databases.mysql.php5
An official FAQ on this issue can be seen here:
http://us2.php.net/manual/en/faq.databases.php#fa
You'll notice that the license issue isn't the only reason PHP 5 stopped bundling these MySQL libraries so I assume despite this license change PHP 5 will not bundle MySQL by default. One might say the marriage continues to exist...but that it's no longer "forced" onto people.
Well for those of you that don't like MySQL's restrictive licenses and want a quick little SQL db, PHP 5 is shipping with SQLite.
An interesting little database to say the least.
How could I say to men: "Speak louder, shout! For I am deaf!"? -Ludwig van Beethoven
Just because it's *possible* to do some jobs with MySQL, doesn't mean that it's a good idea. Anything that can be done with MySQL could be done as well or better with MS-Access. No one in their right mind would consider building a serious web application around Access, but people think using MySQL is ok for some bizarre reason.
MS-Acces (Jet) is a P.O.S. If MySQL is really that bad, it is screwed. Access has quality problems up down and all around, many that MS refused to fix because they had no competition.
Table-ized A.I.
There is a new LAMP: Linux, Apache, Magic, PostgreSQL
;-)
By my expirience PgSQL helps to scale your magic while MySQL rather prevents it from happening.
So does this mean we could see an embedded version of MySQL in PHP? With PHP 5 embedding SQLLite MySQL stands to lose a good market share.
You say things that offend me and I can deal with it. Can you?
Yes, it is truly a sad day in the history of ./ when personal opinions affect the otherwise-unbiased moderators. It may be contagious. Should we call Tom Ridge?
Anyway, ROOOOBY ROXXXORZ!!1
Marxist evolution is just N generations away!
or, you might want to check out an even more superior combo: mod_ruby and eruby which does the same thing as mod_python but it isn't as crappy of a langauge as python.
- tristan
Writing good HTML -especially XHTML & CSS- is entirely different from writing code. HTML is a markup language, not a programming language, and excelling in it requires an entirely different skillset -it's more akin to designing a database than coding.
Being able to write a hashing algorithm doesn't make you suitable for all coding jobs.. in my experience, there are high-level coders and low-level coders and both are necessary.
This is not to say there aren't a lot of completely useless people out there -probably more doing ASP, VB and such than anything else, but a lot of PHP users, too. However, many if not most of the incompetent PHP coders are not making a career of it, unlike the ASP/MCSE people, but rather making their hobby/personal sites.
Marxist evolution is just N generations away!
I think he was alluding to neither being suitable for any real DB work.
:).
Untill fairly recently MySQL lacked most basic RDBMS features that even MS-Access has, and it still lacks a lot of them. I would imagine that MySQL does hold up a little better then Access in a heavy production environment though
I have some hope for MySQL however. They are getting there in their own timeframe. They are a company and obviously listen to their customers and take care of their bottom line first. But they do share the results with the wider community and for that they have my sympathy.
For now however, the parent post is right. Don't use it if you can avoid it.
What a rotten party, have we run out of beer or something?
I don't quite see how this is about My Rights Online. Sounds like mySQL is just making useful allowances for open source software...
Perhaps I'm just used to the normal bad "Your Rights Online" articles. =p
-------
"In times of universal deceit, telling the truth becomes a revolutionary act."
-- George Orwell
Indeed, and PHP users caring about GPL should worry about the tight coupling with a database server that has restrictions on binary distribution.
PHP users caring about GPL should worry about the fact that PHP is not licensed under the GPL. In fact, if it was, then MySQL AB wouldn't have had to grant an exception to allow use of MySQL with PHP.
GPL vs. Apache/MIT/whatever license wars aside, MySQL AB's license exception appears to be a Good Thing.
For me the situation with MySQL's licensing shenanigans is quite sad. For small commercial software development shops who have been loyal to MySQL over the past few years, it's sad to have to say goodbye.
It's fine that I have to pay money for a database server and all, but the GPL-licensed client library makes light usage of MySQL impossible for small software vendors. Even Microsoft SQL server has LGPL client libraries available (like freetds)! I can't see how MySQL can compete with other commerical software vendors that have less restrictive client-library licensing.
For the MySQL folks to claim that the GPL is binding through a regular socket connection is quite a strech at best, and a slap in the face to those of us who write [L]GPL-licensed software.
I can also quote. From the GPL, this time:
However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
This quite clearly states that core operating system functionality provided by the vendor is exempt from the GPL's linking clause, provided it's a de-facto part of the vendor's operating system. So, you can use all Win32 calls and all system DLLs on Windows in GPL software. You can compile and link against Solaris's non-free libc without worry.
Does my bum look big in this?
Postgresql is underdocumented, the MySQL online documentation simply excels.
Complete and utter bullshit. How is this for documentation? There are also excellent books about it.
There is no readily available workforce that has actual Postgresql knowledge. There are on the other hand buttloads of people available that can drive average sized MySQL installations for cheap money.
That's a circular argument: everybody uses MySQL because everyone else does. (I can name a certain OS that benefits from this situation...) A good DBA would have no problem picking up PostgreSQL in a matter of days. I don't care about trained monkeys.
There is no readily available workforce that has actual Postgresql knowledge. There are on the other hand buttloads of people available that can drive average sized MySQL installations for cheap money.
Again bullshit. PostgreSQL supports multiple databases per server very well, including separate access controls for each db.
Postgresql replication is regarded mostly experimental and is not properly integrated with the server. In larger MySQL deployments, replication is often used for load sharing (direct read only queries against any replica), and for backups.
Replication (in both MySQL and PostgreSQL) is mostly useless since it is asynchronous. That is, when you commit a transaction you can not be sure if/when it gets propagated to the slaves. Therefore, if you read from a slave you can never be sure that it's up to date. I'll grant you that there are certain situations where this can be tolerated, but for high availability mission critical sites, it's useless. For that you need distributed transactions. The only open source DB that supports them is firebird.
BTW, I'm glad you mentioned backups. PostgreSQL , just like any real database, can do on-line backups. However, to back up MySQL, you need to read-lock all the tables! The only way to get around that is by setting up replication and backing up the slave.
Postgresql already has many features MySQL either just got with 4.1 or is planned to get in 5.x. That is useless, though, if you do not need these features, but need to deploy in a hosted standard environment, relying on the available workforce.
Yeah, I'm sure you don't need transactions, subselects, triggers, stored procedures, or even *gasp* correct and predictable behaviour.
But you are right about one thing: everybody uses MySQL because everybody else does.
___
If you think big enough, you'll never have to do it.
-Rob
Marriage doesn't have to suck!
While I don't think Fyodor has made his case, he claims that SCO's public assault on the GPL constitutes a refusal to accept its terms, which is a prerequisite to enjoying its grants.
So, MySQL is distributed under the GPL, and PHP is distributed under a license incompatible with the GPL.
How is this MySQL's problem?
Slashdot is jumping the shark. I'm just driving the boat.
He can think whatever he wants, but I wish he should stop assuming most other free software developers have a political agenda. Most people release free software because they wrote something for their own use, have no plans to make money off it (one has to be disturbed to try making money of everything he or she does) and don't want good work to go to waste. GPL and LGPL help to enforce respect for the original author - if I have a free game on my home page, I don't want other people to sell a trivial modification as their own.
But with the way things are going, I am tempted to use another license next time I release a free program. If anything I don't want to write that my program can be used under "GPL version 2 or later", because I am scared of what RMS might put in version 3.
I am looking for an existing license that lets a closed-source project take my code, use it for some fixed time (say 5 years) and then they have to release their changes to the public. This would be an equivalent of the original copyright law, modified for specific requirements/development speed of software.
First off, almost all those things you mention aren't an issue in MySQL anymore. Maybe back in 3.23, but as far as 5.0 and 4.1 go, they've disappeared. MySQL has always been built with speed in mind. It deviates from the SQL standard when necessary and has been slower to implement all of the standard, but! Everything that's implemented is done with speed in mind. So it has a huge speed advantage over almost every database out there.
Also consider this, historically postgre supporters have had a history of omiting problems with it. There have been a lot of Postgre limitations in the past that the postgre crowd has n't exactly been forthcoming with. I compare it to the FreeBSD crowd, many of them are quick to bash Linux, but are also quick to omit their own limitations. Not to say that FreeBSD or Postgre are bad, but don't make your decision of what to use based on slashdot posts.
Not saying just use MySQL either. It really depends on what you need. The reason MySQL has become so popular for the web is it's speed. Each connection also has a very tiny footprint so you can have many connections without a huge penality (for comparasion Oracle uses almost 10 times as much ram for each connection that MySQL).
I'd like to compile a list of what Postgre has omitted over the years to show you why so many people have been burnt by it! The random data corruption was enough to piss off many!
So that explains all those exceptions I see on articles linked from here.... And all this time I just thought they were slashdotted!
Yeah I know this is off-topic from an already off-topic post but if you're going to make wisecracks using references to psychological diseases, at least one of which by the way is possessed by roughly 17% of us, use the fucking correct terminology.
Also, be thankful you don't have a major personality or mood disorder like Schizophrenia, Schizoaffective Disorder, Bipolar, and so on. It's a real pain in the ass, having one of those, and you don't get nailed with it for sharing needles or banging a cheap hooker. You're born with it, and it's likely your children will be too.
Insensitive clod.
What about for those of us who don't know what 'support views, stored procedures, transactions (InnoDB does, but this is an additional product) and a bunch of other developer's friends.' are?
:)
:)
Don't write DB apps! Simple huh?
Seriously though, db theory is not at all hard to comprehend and if you can learn to program you can learn it easily.
Do yourself a favor and learn, or if you don't want to, do everyone else a favor and stay away from databases.
What a rotten party, have we run out of beer or something?
Is anyone tempted to release some cool software/music/stuff/work with a default restrictive licenses (must pay etc etc), but have some exceptions like:
You are free to distribute Derivative/Identical Works as long as:
1) Every Feb 1st and August 17th you go to a public area with at least 20 strangers present, stand on one leg and yell "foobar bubble bubble!" including the double quotes.
Or
2) Every full moon you infringe the MySQL and Microsoft software licenses, and email them a goatse.cx/tubgirl pic.
Or
3) You do an anonymous, random (and different) quirky good deed to a random (and different) stranger every month - only counts if the target will likely think it is good.
AND you claim that Al Gore is the actual author of the works.
Sheesh.
What are you talking about? MySQL AB changed the client libs from LGPL to GPL. That messed up a lot of things but it theoretically generates more commerical licenses for MySQL AB.
Add in the unusual gpl interpetation by MySQL AB where programs that use mysql for commericial use are required to get the commericial license and where distribution is interpeted to be copying the program between servers even within the same company and you have a company that is doing it's best to create FUD and force companies into buying commericial mysql licenses.
Oh yeah, the developers made vague noises about how people reverse engineering the client/server protocol and creating an alternate license may get sued by MySQL AB.
How's that for good company policy?
"When you sit with a nice girl for two hours, it seems like two minutes. When you sit on a hot stove for two minutes, it
If you keep learning, you'll see why these things are absolutely necessary. If the integrity of your data is a must, and you have to update multiple tables, you'll see why transactions are a must. And then you'll see why stored procedures make life so much easier.
Do a little reading about transactions. When you have to start using them, then you'll see how powerful a real DBMS is, and why MySQL stinks.
By the way, bipolar disorder has a mortality rate of 20% which is higher than those of most heart diseases and cancer. In other words, if you have a bipolar kid and a kid with cancer, it is likely that the crazy kid will outlive the cancer boy. And manic depression is a much easier disorder to deal with than schizophrenia, despite what you may have deduced from watching A Beautiful Mind. If you're schizo, you're basically fucked.
"Anything that can be done with MySQL could be done as well or better with MS-Access." Uh, I have SQL queries that don't run correctly in Access...
Comparing anything to perfection is unproductive; it serves to reinforce our biases by presenting us with a false dichotomy (you can have whatever argument is being proposed or you can have perfection, which is never available). Let's look at specific claims.
Please name who these people are and cite the evidence that gives you this impression.
That explanation barely gets into why the LGPL exists. The Creative Commons doesn't recommend their licenses for software. The GNU project started over a decade before the open source movement began and the GNU project was founded to talk about software freedom, not a development methodology. I'd also be interested to learn who, besides the Affero General Public License has "forked" the GNU GPL. The Creative Commons has listed the GNU GPL, not forked it.
Who, exactly, is doing this and what, exactly, are they saying?
Digital Citizen
"With MySQL it was a bit more then just an abstraction problem. Untill fairly recently MySQL did not support foreign keys and it still doesn't by default."
unfinished: (adj.)
> Also check this awesome comparison. This guy is amazing: http://www.phpbuilder.com/columns/tim20000705.php3 [phpbuilder.com]
Good review, but almost four years old; take with a grain of salt since a comparison of current versions of both DBs would give different results. The methodology is worth reusing, though, for doing such an updated test.
Yeah I know, salt-shaker is handy. I thought the heavy load response aspect of this was very telling, and possibly still valid...
SYS 64738 NO CARRIER
OK, I realize this is 80% Flamebait and 15% troll, but the 5% truth hiding in there is what prompts me to reply.
You mention PostGreSQL as an alternative to MySQL. That's fine. But then you bash PHP without mentioning an alternative. What's a good, easy-to-use open source tool to make dynamic web pages besides PHP? No other language I've used is so simple to use and well documented, so I'm curious if you (or someone else) has a decent PHP replacement in mind..
I'd give my right arm to be ambidextrous...
I think they want you to think they are being magnanimous but they really aren't. You won't see the same thing applying to MaxDB (the *real* db :) ).
That was the big stink when SAP turned SAPDB over to MySql. SAP originally had the libraries under LGPL but when turned over to MySql, they are now GPL which means for continued use, either stay with the original SAPDB or use MaxDB and open source your project.
Personally I have nothing against then making money off of MySql. I just think in thier case, the whole GPL thing is a pretense.
I don't know why everyone still insists MySQL doesn't support transactions. BDB and InnoDB tables have supported them for awhile, and myisam tables now have transaction support. BDB is more mature though and has been supported by MySQL for quite awhile.
MySQL does not suport views or stored procedures. It does support transactions and replication.
PostgreSQL does not support replication[1]. It does support transactions, views and stored procedures.
Both are fine tools. Both have been used by many people that have achieved their goals.
robert
[1] There are 3rd party tools that provide PostgreSQL with transactions.
Or words to that effect?
The basic quality of English in the postings is routinely so poor that I think I am going to give up reading the feedback and just scan the headlines (which are often riddled with flaws to but at least in most cases you can follow the link!)
All those who say it isn't important are idiots, the simple example being computers and ambiguity. If you don't write the code to do exactly what you want (understanding all those areas that are "undefined") whose fault is it?
Can the machine be expected to understand what you meant rather than what you said. Now apply that to the less predictable realm of humans in their individual vagueness and variance attempting to understand each others writing. Clarity and precision is essential.
isnt the bsd license opensource?
because.. this could be a loophole in the license.. since a company can take bsd source code and close source it.. thus using mysql libraries in their proprietary works.. right?
correct me if I'm wrong.. I dont focus on licensing issues much.
Python and Perl users would argue that those languages are just as "well documented" as PHP, and have a better set of client libraries to boot, and are GPL'd so don't suffer from the licensing problems. I suppose that "simple to use" is a debatable point, but in my experience, Perl at least is no harder to integrate with Apache to get the same "embedded code" functionality as PHP is. I suspect that people who have tried it with Python would agree.
I'd like to avoid a language war here. PHP definitely hits a "sweet spot" on the web backend language tradeoff curves. Particularly if your web application doesn't need much "business logic", and only needs to use the specific bindings that PHP supports, using PHP can often make your rapid application development more rapid than with Python or Perl. I would hardly say that it has no adequate replacements, however.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
You know, I was nodding my head as I read your comment, and wondered if perhaps I had given up on Perl too quickly... then I read your signature and went back to my PHP code ;-).
I'd give my right arm to be ambidextrous...
I'm sorry, I'm really confused, they are granting an additional privilege.
I recognize that the GNU GPL itself has value. However, this additional privilege has much less value than some make it out to have. Distributions of GNU/Linux could not distribute both MySQL and a GPL incompatible app linked to MySQL. In fact, the only way anybody can distribute a GPL incompatible app linked to MySQL under this license exception is if that person never mentions the MySQL web site at all, as the exception prohibits redistributors who rely on it from "provid[ing users] with instructions to download" the MySQL server. Heck, even mentioning MySQL at all might violate this privilege because anybody can use Google.com to transform the name "MySQL" into "instructions to download" the database server.
I don't understand how you can complain about them granting additional privileges.
MySQL AB granted a license exception that applies in no case in practice. I don't complain about that grant per se. Rather, I'm complaining about those who advertise that this additional privilege has any appreciable value.
I don't know if I'd call MySQL a beginner's DB... It's just not feature complete yet. Neither is Postrgres, but it's heading in a better direction (IMHO, of course).
Really, neither of them are where it's at. Oracle and DB2 are where it's at.
Someone explain to me how this all works.
One of the big supposedly pluses to GPLed code is that many people can contibute. So, if I GPL the code AND try to release it under another license then the non-GPLed version can not have any of the benefits of contributions, bug fixes, etc from the GPLed version since those contributions are GPLed and not available under the other license. Those contributions belong to the individual contributors, not the person or team that made the original code.
> Not only that, because MySQL lacks essential
> features like triggers and stored procedures
False. I am running MySQL 5.0 and using stored procedures and user functions right now, and have been since the first of the year.
It can be argued that triggers are not necessary, but whether you agree that they are or not, they're coming in 5.1.
> As relational databases go, MySQL is utter crap.
Also false. MySQL is in many cases faster than any other RDBMS in common use, including Postgreas and Oracle. And it complies with SQL-99 better than either Oracle or SQL Server.
> Even in the realm of open-source databases,
> there are better choices.
That's entirely subjective (at best, since you're offered no evidence to back up this claim).
And comparing MySQL with Access is like comparing a jet fighter with a kids' model of one.
Il n'y a pas de Planet B.
I the face of the fact that I have SQL queries that don't run correctly on MySQL, it's obvious that your argument is fatuous.
Anecdotes make extemely poor arguments.
YAW.
Your head of state is a corrupt weasel, I hope you're happy.
Amazing?
"Anyway, foreign-key support is now in Postgres 7.0+, which means that when you insert a row, the database can do some fairly impressive validation checks. Same if you delete a row - it just plain won't let you delete a row if another table is depending on it. I love this idea and can envision rewriting entire websites just to take advantage of this feature."
That's it. The interview's over. He's not got the job.
He can envision _rewriting entire databases_?
Sorry, we wanted someone in the real world.
YAW.
Your head of state is a corrupt weasel, I hope you're happy.
Okay, how's this, I can't get 12 tables to join correctly in Access. Worse yet, it returns a subset of the actual results and throws no error--so it looks like I got a legit result set, and it takes major debuging to findout that I don't have one.
Yep, this is yet another plagarism by this troll. You can find the original here.
Sapere aude!
I've been running 5.0.0 nonstop (with a few reboots not related to MySQL) for the last 3.5 months and I've found it quite stable. It handles the crash-me's pretty well, too.
Postgres is a general pain to install and configure, and requires the Big "V" as well.
MySQL is also faster and has less resource requirements.
And, as I mentioned previously, the usefulness of triggers is debatable in any case.
Il n'y a pas de Planet B.
I think an important thing to remember is that each database has a particular target market - Access, MySQL, MS SQL Server, Oracle, DB2, etc.
I'd consider myself an amateur web developer - I develop ASP, PHP with MySQL in my spare time as a hobby and run the servers off my SDSL connection (yes I do know how to secure my box) and it's perfect for someone like me who just needs a simple DB server without the bells and whistles which make the likes of Oracle etc expensive.
As for the PHP/Perl "argument" mentioned on other threads - as a full time employee in a non-IT role, I don't have the time to learn C or Perl. PHP/ASP are easier for me to learn, and suit me just fine as a hobbiest.
Backup not found: (A)bort (R)etry (P)anic
I asked multiple questions. I don't understand which question you're responding to nor do I see a specific quote to indicate what was said. It's not reasonable to drop a name someone might recognize and expect them to fill in all the blanks for you.
Digital Citizen