November 24, 2006

MySQL, InterBase, FireBird, SQL Server: Prices and Licences

Yesterday I hosted an InterBase 2007 seminar, today I read a very odd description of MySQL... so here are my thoughts on database licensing and prices.

Yesterday I hosted an InterBase 2007 seminar. Some of the new features of this database are quite interesting. The price of InterBase is also interesting if you compare it with Microsoft's SQL Server and other closed-source databases, once you've decided you don't want to pick an open source database like FireBird. During the seminar we discussed the various database pricing strategies, along with open source alternatives.

Today, I was reading the December issue of Dr. Dobbs's Journal and found the following statement: "The MySQL open-source database is widely used to manage corporate data, handle transactions, and run e-commerce and warehousing applications". I know this is a fact. But the article that showed how to recompile MySQL with an optimized compiler failed to mention the MySQL license, which keeps spreading the misconceptions about it. MySQL is free only for GPL projects (plus some other FLOSS licences, if you want to be precise). This means you have to release the source code of your application if you don't want to pay for the DB. Now how many of those "corporate" applications come with open source code? MySQL AB claims "over 4 thousand paying customers who have chosen the commercial license and over 4 million who have chosen the open source GPL license". I wonder how many of the 4 million are using it legally.

Now, if you look at the price, it seems (I'm not sure because the MySQL is quite confusing on this respect) that the starting cost is 595 US dollars/a server/a year. I've not been able to find a flat license, only the yearly license with the support fee included. At this price, if you keep your InterBase running a few years, the price seems similar, although having to buy license for the number of clients it is hard to do a comparison (you can get InterBase with 4 users for about that price (595 USD), but this is for unlimited time... while an InterBase server with unlimited clients should cost 4,200 USD). By comparison, Microsoft's SQL Server costs 3,899 per processor in the Worksgroup edition, 5,999 per processor in the Standard edition, and a whopping 24,999 USD in the Enterprise edition.

The real comparison for MySQL should be with open source offerings, though. For example with FireBird. This is an open-source database with a MPL license. It is free as in "free speech" and also free as in "free beer". You download it, and use it. Period. No one is even going to ask you for money for a license, although some companies do offer services and support. (Maybe CodeGear should offer support for FireBird as well, but that is a different story I don't want to get in now).

The moral of the story? A seemingly free database that doesn't even clearly list its license price on its site is taking a huge market share only because of a misconception about its price. And notice, it takes some effort to find their license (and figure out it is not totally free) when visiting their web site, which (for me) means they are spreading the misconception as well. A different moral? FireBird needs some marketing to let people know... it is the only really open source DB. InterBase needs a lot of marketing as well, as its own company downplays it technical qualities and should let everyone know about the relevant price difference with other closed-source database vendors.





 

24 Comments

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Hi Marco,

Great post! You are absolutely right about MySQL,
almost none of the (PHP) web developers I talked about
the license issue weren't aware of the difference
between free and open source.

Also, I am a Firebird user and really appreciate this
database.

However, I think that you overlooked the Microsoft SQL
Server Express edition which, according to
http://msdn.microsoft.com/vstudio/express/default.aspx,
is free as in "free beer" ;) It has some limitations,
but still, it should be considered as a Windows
alternative to other free databases.
Comment by Marius Popescu [http://mapopescu.blogsome.com] on November 24, 14:43

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

 Marco,

> It is the only really open source DB.

Uh... 

PostGreSQL.
http://www.postgresql.org/

Ingres Community Edition
http://www.ingres.com/products/Prod_Download_Portal.html

SAPDB (née Adabas), version before version 7.5 (i.e.
before it became MySQL Corp's MaxDB)?
http://www.sapdb.org/7.4/sap_db_cd.htm

All three are also open source DBs, AFAIKT... /Ph.





Comment by Filofel on November 24, 15:19

not the "only" really open source database... 

Filofel,

my fault, I used the wrong wording. PostGreSQL is
indeed as open as FireBird. I'm not so sure about the
others (Ingress looks a lot like MySQL). But there are
certainly many other open databases, more or less
powerful and well-known. 

For sure, FireBird and (probably) PostGreSQL, which
I've never used, and maybe some others I'm forgetting,
are much more powerful and well-established than most
other "really" open source databases out there.

***

Marius, 

as far as the entry level SQL Server, it might be OK
for a local DB, but would you run a complex
client/server application or a web site on it? There
are similar free entry-level offerings by DB2 and
Oracle and many others... but in a way or another
they've build-in limitations so you'll have to upgrade
to a costly license to move/scale the application from
the developer machine to the real deployment server.
Comment by Marco Cantù [http://www.marcocantu.com] on November 24, 15:48

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

 Why wouldn't you run a web server on SQL Server? The
only restriction is that it's limited to 4GB
Comment by A developer on November 24, 16:26

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Marco,
I think you're a little bit wrong about MySQL license.
From their web site,
http://www.mysql.com/company/legal/licensing/index.html
it seems that commercial license is required only if
you are going to re-distribute MySQL. If you're using
it for "For Web Sites, Enterprise IT, and Government
IT" (quote from the web site) you can use it under GPL
license - free (and no need to open up your sources if
used in-house only).

So commercial license is needed only if you are going
to re-distribute your application bundled with MySQL.
Comment by HaimG on November 24, 18:16

MySQL license 

HaimG,

your quote is not in the page you refer to. If you   
read their FAQ with care, it is very clear it is not free:

(http://www.mysql.com/company/legal/licensing/faq.html) 

"MySQL AB offers a commercial license for
organizations that do not want to release the source
code for their application."

"The change from the LGPL to the GPL for the client
libraries was made in 2001 during the development of
MySQL 4.0 to help MySQL AB more easily differentiate
between a proprietary user who should buy a commercial
license and a free software user who should use the
GPL license."

So, I think the blog post is correct.
Comment by Marco Cantù [http://www.marcocantu.com] on November 24, 18:42

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Some points on the MICROSOFT SQL SERVER 2005 EXPRESS
EDITION EULA
(http://www.microsoft.com/sql/editions/express/redistregister.mspx):
"4.1 (...)You may not (...) disclose the results of
any benchmark tests of the software to any third party
without Microsoft’s prior written approval;"

In the Spanish version says:
"4.7 (...)Usted no podrá (...) utilizar el software
para prestar servicios de alojamiento de software
comercial"

this DOES NOT appear in the English version, but
translated it says:
"4.7 (...)You may not (...) use the program for a
hosting service of commercial software"

My English is not better than my Chinesse so maybe its
not 100% accurate, please some one can ask why this
note appear in the Spanish version of the EULA but not
in the English one? Is this a limitation to use the
software in my commercial site?
Comment by Daniel Luyo on November 24, 19:00

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

You cannot compare SQL Server (or Oracle or DB2) 
against MySQL, IB, FB or PostGres. SQL Server 
scalability and feature set is fairly larger. DB2 
and Oracle even more. And their prices too.
As long as you have a relatively simple single site 
with a database backend the lower-end database can 
accomplish their task. When applications get larger, 
and database load heavier, that's a very different 
story.
Comment by Luigi D. Sandon on November 24, 19:23

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

When Interbase was first acquired (was it when 
Borland purchased DBIV from Ashton-Tate?  boy am I 
old), some hints of it's under the covers 
technological benefits were heard, but I think 
Borland has not done a good job touting this product.
Comment by Steve on November 24, 20:32

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Firebird does indeed rock, I can't see paying for 
Interbase frankly.  The license for Firebird is 
definitely attractive!

MS Sql Server's express (previously MSDE) is used 
frequently to host websites using dotnetnuke, and 
works very well for that role.

Now, presuming that your website is getting enough 
traffic to grow past the limitations of SQL Express, 
you can afford the next server level up (or hosting 
from someone with it).  Makes sense to me, and it 
probably will to you once you think about the 
restrictions in SQL Express and how website traffic 
works.

I've never took to MySql, perhaps because my main 
experience with it involved poorly written php apps 
by people with very poor grasp of SQL, or perhaps 
because it considers things like transaction support 
to be an unneeded option you could get from someone 
else if you REALLY needed a stable database.  The 
license for MySQL was never even a factor.
Comment by Xepol on November 25, 01:02

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Hi Marco,

First, I agree that Interbase and Firebird are under
appreciated.

I'm not sure about your interpretation of the GPL. My
understanding is that it's only necessary to
distribute source code if the source code is modified
and the result of the source code is distributed
externally.

The standard example is the GCC compiler that is
licensed using the GPL. Any modifications of the
compiler (for example, to add support for a new
processor) would (if distributed externally to the
organisation making the changes) require the new
compiler to also be licensed under the GPL, with the
appropriate availablity of the source code. However, a
new application (e.g. HelloWorld) that is simply
compiled using GCC is not a derivative work and would
not require to be licensed under the GPL, so source
code for the application need not be made available to
others (including customers) and can be licensed in
any way the author wishes.

Now consider MySQL. First consider where it is used as
a database for an internal system. If this is the
case, internal use of unmodified MySQL would be
possible under the GPL and not require distribution of
source code on two conditions. First, there would be
no modifications to the code so it isn't considered a
derivative work according to the GPL. Secondly, even
if a modified version of MySQL were created this would
still be ok because it's only for internal use and not
redistributed.

There's an interesting discussion at
http://www.oreillynet.com/onlamp/blog/2004/04/why_mysql_grew_so_fast_news_fr.html#licensing_free_software.
This suggests that even public facing web servers
could use a modified MySQL since the web server to
database server link is internal.

The use of an unmodified MySQL (i.e. a standard)
release as a backend for a commercial web server would
seem to be supported by the MySQL license page
(http://www.mysql.com/company/legal/licensing/opensource-license.html).
It states that "Free use for those who never copy,
modify or distribute. As long as you never distribute
the MySQL Software in any way, you are free to use it
for powering your application, irrespective of whether
your application is under GPL license or not."

However, usual caveats apply - I am not a lawyer.

Hope this helps.
Comment by Bruce J Clark [] on November 25, 02:16

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Actually, HaimG is correct.  On the page you linked to at:

http://www.mysql.com/company/legal/licensing/faq.html

the sentence before the one you quoted was:

"However, GPL users must abide by the rules of the
GPL, which stipulate that if a MySQL-based application
is redistributed, the complete source code for this
application must also be open and available for
redistribution."

Therefore, MySQL is free if you:

1) are not redistributing it 
2) are redistributing it in a GPL open source application

You ONLY have to pay if you:
1) are redistributing it in hardware (ie, embedded
systems)
2) redistribute MySQL in an application that is closed
source and not under GPL.

So yes, most people don't know about what you're
talking about because it's not completely accurate. 
You only have to pay if you are redistributing it AND
what you're redistributing isn't GPL.
Comment by Sheeri Kritzer [http://www.sheeri.com] on November 25, 06:57

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

 You are missing te point.

The question is not about price but on signing deals.

I have sold over 4000 interbase user seats and the 
customer is generally not concerned about the price 
as such but rather;

TCO - Total cost of ownership, if you have 1000+ 
customers on SQL Server and spen on average 2 hours/
year per cusomer on support - you have at least a 
cost of 200 000 a year.
Upgrades - Microsoft have an undisclosed policy on 
future cost of upgrade.

Vendor support - and this is where Borland must 
improve if they wish to win the race - an OEM 
dedicated support center would be very good.
Comment by eilef@ccg.no on November 27, 15:26

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

as an addition to the Distribution of NON GPL
application, which definitly requires a commercial
MySQL License:

http://www.mysql.com/company/legal/licensing/commercial-license.html

"Typical examples of MySQL distribution include:
-Selling software that includes MySQL to customers who
install the software on their own machines.
-Selling software that requires customers to install
MySQL themselves on their own machines.
-Building a hardware system that includes MySQL and
selling that hardware system to customers for
installation at their own locations."

From the point of view that marco´s site typical
readers are often working for software companies, most
of these cases will definitly define their handling as
distribution in the mysql sense. When a customers buys
your software, he do not want to compile the database
server himself. But not all binaries version (4.0 for
example) are available on mysqls website and it is not
allowed to distribute them in older versions in any
way without a license.  So when your software is
developed and tested with mysql 3.x or 4.0, you are
forced to change it to version 4.1 or 5 and accept
their license changes or buy licenses. Otherwise your
customer has to compile the version himself, but i
think most of the firebird or postgresql (and also
mysql) users never compiled the sourcecode, they just
download the postgresql/Firbeird binaries in whatever
version from whereever they want and put it whereever
they want, on a cd, on their website or anywhere else. 

I think the mysql model is not a model for the future,
they tell more and more users now already that they
have to buy licenses, since mysql ab has to pay back
several million US$ back to the venture capital
companies, who spend money on that. And Internet Hype
2.0 is already over after there are already the first
complaints againts youtube and other companies who
have no real business model, but burned a lot of
money. Firebird and Postgresql do not have this
problem and pay back money to anybody, so especially
not the users of postgresql and firebird do not have
to pay for anybody. MySQL has to pay for their about
350 worldwide employees. this will not work in the
future when nobody buys a license, so they are forced
to get more and more money from their existing users.
I do not expect that everybody will follow, especially
when they are real powerful and real free alternatives.


Holger
www.ibexpert.com
Comment by Holger Klemt [http://www.ibexpert.com] on November 27, 21:24

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Please, correct me if I'm wrong, but GPL does not
preclude you from using any program _internally_. This
is a case for most DBMS users. Only minority of
enterprise users distribute DB applications, for most
of  corporate users the application stays in the
house. The same goes for most of web applications.
Therefore your statement about price of MySQL for
unsuspecting users is wrong.

It does not mean, however that I do not prefer
Firebird. I do! :)

Comment by xxx-bad on November 27, 22:55

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

 Why the discussion?
 Firebird is free
Firebird is very fast
Firebird works
Firebird is free
Comment by John le Roux on November 30, 23:39

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

 Firebird has security problems and has not full text
search index.
Mysql is table based database like advantage db or
paradox. It has only one advantage . it s free. 
But i prefer firebird. İt s very fast more than mssql
and other db. 
Comment by Murat on December 5, 14:00

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

I've used SQL Server for over 9 years and firebird 
for only 2, MySQL for 1/2. Needless to say every 
product I've ever built sadly used SQL server and 
would have been much better using Firebird, cost and 
performance wise. But ignorance is bliss?!

These include finicial apps pushing more than 2 Bill 
USD per month. And currently an "accounting / all in 
one" application that competes with SAP. Our 
internal Firebird version totally out competes SQL 
including the lastest ;(. Ironically I'm a trained 
SQL server DBA too. Avg DB size 20GB and history or 
OLAP db of 140GB. We ran into MySQL licensing issues 
and also feature set cannot compare to FB - not yet 
atleast.

Firebird is top notch and only lacks a nice client 
tool...couldn't see a performance advantage on linux 
tho ;(.
Comment by FBRocks on December 11, 15:24

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

 Hi all,

Another free DBMS from IBM - DB2 UDB Express C. Runs 
on Linux and Windows (up to 2 CPU's). 
Comment by Erol Mutlu [] on December 14, 16:35

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

 Hi all,
 I've another study case.
 I'm working in a Java based application. The
application works with spring+hibernate. These two
libraries are LGPL so I can use them directly bundling
them with my software o by linking indirectly with
them in the Tomcat's classpath.
 So my application don't uses or needs any kind or
driver to manage persistence. Is Hibernate that needs
a mysql driver to persist data.
 Am I correct if I don't license the Mysql server, nor
the jdbc driver? I think yes because my application
needs a determinated persistent layer (in this case
hibernate) and is this layer, not distributed by my,
that uses my sql.

 What do you think?
Comment by oliver on January 9, 10:16

MySQL, InterBase, FireBird, SQL Server: Prices and Licences 

Oliver,

  I have no idea. Looks like one of this verge case.
If you are not distributing MySQL yourselves and not
even the components using it directly, you might be on
the save side. By the "viral" nature of the GPL might
not protect you, as by using a library that use a
GPL-licensed library the intermediate one becomes a
GPL-licensed library as well!

You should try to contact MySQL, but I guess they'll
more than like to sell you something, if possible. I
might be wrong, though.
Comment by Marco Cantù [http://www.marcocantu.com] on January 9, 10:50

MySQL, InterBase, FireBird, SQL Server Prices and Licences 

 Oliver, the driver is GPL, hibernate links to that
making it GPL, you link to that making your work GPL.

It's not hard to switch to postgres from MySQL if
you're using hibernate though.  I did it recently for
the same reason.
Comment by Joe on July 26, 21:31

MySQL, InterBase, FireBird, SQL Server Prices and Licences 

You see the endless confusion over the MySQL license?
Marco is right even if he's wrong, if you know what I
mean.

Stuff MySQL, Firebird is the dogs brollies, the ducks
nuts, the vicars knickers etc... (that means good)

I would also like to point out to one of the previous
posters MySQL only has full text searching with MyIsam
tables (i.e. no transactions!)
Comment by Steve on September 12, 16:40

MySQL, InterBase, FireBird, SQL Server Prices and Licences 

SURELY you only need to distribute the source of the
GPL licenced application that you have modified.

If you modify the MySQL source code, and create a
"derived" product, then your derived product is also
GPL licenced and the source must be made available. 

This is in the true spirit of FOSS and makes 100% sense.

If you use a GPL licenced library at part of your app,
your app may be commercial, just give due credit.

If you modify that library, let everyone else benefit!

If you have modified the GPL library but don't want
others to benefit from your changes (thus you are
outside of the spirit of the GPL), you'll have to give
credit FINANCIALLY to the licence holders according to
their terms when you don't want to GPL your code. This
makes 100% sense since you are benefitting from work
that others have done.

Is it not as simple as that?

Comment by Donald Klopper on February 26, 10:15


Post Your Comment

Click here for posting your feedback to this blog.

There are currently 0 pending (unapproved) messages.