[Mono-devel-list] ByteFX development

Jonathan Pryor jonpryor at vt.edu
Sun Oct 3 17:01:07 EDT 2004


On Sun, 2004-10-03 at 14:24, Reggie Burnett wrote:
<snip/>
> Obviously, the ByteFX code that was released as LGPL can be maintained
> further by someone however I think there are several reasons why this
> shouldn't happen.
> 
> 1.  As I am now the .NET face for MySQL and the maintainer of MySQL
> Connector/Net, I am in a position to maintain excellent compatibility
> between the connector and the database.

I don't believe this was ever in question

> 2.  I intend to maintain compatibility between the connector and Mono
> and intend to ship Mono binaries in certain packages.

Ditto.

> 3.  The connector now comes with a license exception that basically
> allows it to be used in any one of a number of compatible open source
> licenses.  I am not a lawyer, so anyone wanting to use this should
> review the exception before proceeding.

This was part of the debate, but a fairly minor part.  It's nice to know
there's an exception for open-source projects, in any event.

> 4.  Very soon, versions of the connector will come out that fully
> support the MySQL embedded server, SSL communications, Pocket PC, and
> IDE designers.
> 
> 5.  I really don't understand the issue with licensing.  As I
> understand, if you are developing an open source application, then using
> the connector costs you nothing.  If you are developing a commercial
> application, then you must pay a license fee to MySQL.  Trying to avoid
> paying this fee to a group of people (MySQL) who have worked so hard on
> a set of products that you will now use to make you money is just not
> the way to handle yourself.  If your commercial product does not make
> enough money to cover this (very low) license fee, I might suggest that
> you rethink either the product or the entire endeavor.  

And this is where the issue pops up.  The Mono class libraries are
MIT/X11.  The runtime libraries are LGPL.  Gnome's libraries are LGPL.

The basic idea behind Gnome and Mono is that there be a large number of
freely-licensable code which *proprietary* apps can use without worrying
about licensing.  This is one of the points that Qt/GTK+ debates
frequently brings up -- Qt requires a Trolltech license for proprietary
software, GTK+ doesn't.  That's just the entire world-view of Gnome and
Mono.

It's because Mono is trying to target proprietary vendors that the MySQL
connector license change generated so much debate.  Many people don't
want to pay a license fee to use MySQL.  Add to that MySQL's strange
interpretation of when you need to pay a license, and you get a lot of
people who'd rather avoid the issue.  (The "strange interpretation" is
that MySQL states that proprietary web sites need to pay a license fee,
even though the website's backend of isn't ever distributed -- as the
GPL interprets distribution -- and thus don't need to follow the GPL,
gaping loop-hole that this is.)

Then there's the question of borderline code -- if I only use the
System.Data interfaces and load the MySQL driver at runtime, in a way
that I'll never know that I'm using the MySQL driver (say the driver is
specified in a config file), should I have to pay the MySQL license?  Am
I really a "derivative work".  Thus starts the path toward lawyers...

The result is that developers would rather maintain an LGPL fork in
Mono's CVS repository than deal with MySQL's driver code.

Or use PostgreSQL.  I'm surprised PostgreSQL isn't mentioned  more
often...

> On another topic, while I am confident of the skills of the Mono crowd,
> it seems awkward to keep my companies name on a product that I am no
> longer involved with.  It may lead to support requests coming to me for
> work I have not done.  

This would be a good reason to revert to the Mono.Data.MySQL name and
not continue the ByteFX naming convention.  Sounds like a good reason to
me, though I'm not actually contributing to the code in any event...

 - Jon





More information about the Mono-devel-list mailing list