[Mono-devel-list] ByteFX development

Luis Fernandez luifer at onetel.com
Sat Sep 18 12:46:06 EDT 2004

Warning: I'm also not a layer ;)

I think that the problem is not just about what protocol you use to talk to
the database... this can be odbc, oledb, whatever... I believe the issue is
more whether your app can work or not withouth the DB backend. You are not
just talking to a database... the database needs to have specific
information about your app in the form of tables/primary keys/foreign keys,
stored procedures, etc... it's all of this components that makes the
database an "extension" to your program...  I remember having read about
this somewhere... and the final conclusion I believe it was that people
should go and consult with a lawyer... ;)

But lets say that using a database, not just talking its "language", is not
enough to force you to use the GPL or any other open source licence... in
the specific case of MySql, the licence specifies that if you create a
commercial app, then you can not use the GPL version... I don't know whether
the MySql owners can enforce this or not, but until someone challenges them
and proves them wrong, that is what will stand unfortunately.


-----Original Message-----
From: mono-devel-list-admin at lists.ximian.com
[mailto:mono-devel-list-admin at lists.ximian.com]On Behalf Of Jonathan
Sent: 18 September 2004 13:40
To: Michael J. Ryan
Cc: Mono Development List
Subject: Re: [Mono-devel-list] ByteFX development

Warning: I am not a lawyer (but I've read the FAQ!). :-)

On Fri, 2004-09-17 at 19:19, Michael J. Ryan wrote:
> Is the bytefx driver using the mysql connector library, also, is using
> an assembly in .net considered a static linking under GPL?

The GPL doesn't differentiate between static or dynamic linking.  It
only cares about linking -- does the GPL'd code exist within your
process?  If so, then your code *must* be GPL.  Period.

See: http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins

Just to make things "interesting", using some form of IPC (CORBA,
sockets, etc.) between separate processes doesn't necessarily avoid a
GPL violation: http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

        if the semantics of the communication are intimate enough,
        exchanging complex internal data structures, that too could be a
        basis to consider the two parts as combined into a larger

Which begs the question: could communicating with a GPL program over a
publicly documented protocol be interpreted as "combining two modules
into one program"?  I imagine that it depends on the protocol -- if it's
a standardized protocol such as ODBC, probably not.  If only one program
uses it --  the GPL program -- then maybe.

You'd certainly have to ask a lawyer about it.

I also have no idea what protocols MySQL supports for IPC.

I can say this: if the MySQL protocol is *only* used by MySQL, and the
protocol requires "intimate" semantics, a non-GPL client library may not
be possible.  (Of course, a definition of "intimate semantics" would
require the involvement of a lawyer.  And possibly a court of law.)

However, I imagine that MySQL supports ODBC, so if you used ODBC to
communicate with MySQL the ODBC client library could be LGPL or MIT/X11.

 - Jon

Mono-devel-list mailing list
Mono-devel-list at lists.ximian.com

More information about the Mono-devel-list mailing list