Ok now here's a question to ponder...
As you probably don't know, I run a site (http://www.vbmysql.com) that
houses a pretty distincy community: as a site for Windows developers
most of my users are writing commercial applications. Now this group is
pretty confused about MySQL licensing, and some who have read the MySQL
license documentation are trying to authoritatively state that they are
ok to distribute their apps without a commercial license because their
app talks to the ODBC manager, which talks to MyODBC, and there is a
license exception for the ODBC manager. An interesting argument which
even the FSF seems to favor.
Now that was actually me on a tangent, lets get to the real question: I
run Google Adsense on my site and I notice a lot of tools and libraries
advertised. For example, I have ads for a product called MySQL X, a
custom COM library for connecting to MySQL wia a C API wrapper rather
than ODBC. Another ad lists a backup tool for MySQL. Both of these sell
for less than $100 so obviously they are not paying a license fee to
MySQL AB.
So lets say I buy/sell a tool for others to use with MySQL: who pays the
license fee? Me for using a commercial app with MySQL or them for
selling it? This becomes interesting to me because the software in
question is not an application built against MySQL but a tool to manage
and/or interface with MySQL.
So here's another thing to think about: how does MySQL deal with the
small-time commercial developer? Lets say Joe Student develops a nice
app with embedded MySQL and wants to sell it. Now it's an end-consumer
application and he expects to only be able to charge $19 for it, which
leaves him a little short when it comes to the MySQL license fees (And I
don't want to hear that he should just release it as Open Source, this
is not the point of the question and besides, if he goes that road MySQL
AB gets nothing. Of course without a proper license solution MySQL AB
gets nothing, since Joe just switched to using and Access .mdb file as
much as he doesn't want to).
And while we I am throwing out things to think about, lets consider a
company that is thinking of adding MySQL support to their existing
application that already runs on MS SQL Server: do they pay a licensing
fee when they sell a copy? Why should they? When they sell a copy of
their application to a customer who uses SQL Server, it is the customer
who is responsible for ensuring that they have proper licenses for SQL
Server, not the software vendor. Microsoft gives them free reign to use
the drivers, because this means more applications will support SQL
Server, and the customers of the ISVs will buy more copies of SQL Server
as they buy more copies of the ISV produced software.
Developers and end users need less ambiguity. If I choose to develop an
application that is based on MySQL and wish to sell it commercially I
need to know who needs to pay: me of the buyer of my software. If it's
me I need to know how many licenses I need to buy: One for my office,
one for each copy of my app I sell, one for each customer's server, one
for each of my servers? I need to know what happens if I develop a
server tool that could concievably be used with hundreds of customer
servers. Finally, I need to know how I can use MySQL to power an
application that costs significantly less than a MySQL server license.
I hope this gets you thinking. Commercial developers want to use MySQL.
I know, I have talked to plenty of them. The biggest barrier they have
to using MySQL is their understanding of licensing, so lets smash this
barrier!
Regards,
Mike Hillyer