Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#287862 - 06/10/2006 07:11 MySQL licensing question.
sn00p
addict

Registered: 24/07/2002
Posts: 618
Loc: South London
Ok. I have a question, I can't seem to find the answer specificially, but as it applies to the GPL (aka viral w**k) in general, somebody here might be able to answer.

I have added a feature to our software which allows datasheets to be looked up with a keypress, this is done by storing an "attribute" which contains an id for the datasheet, i.e "MCP23016" or "AT91SAM7S", this value is looked up in a database and the filename is retrieved. As customers have their own structures and naming conventions for datasheets, we decided this was the best method - we're not forcing a particular naming convention or structure on them.

To accomplish this, I'm just supplying a simple dll which has a function which takes the value of the datasheet to look up and the "root datasheet folder" path, filenames in the database are stored relative to this location, so the dll concatenates the two names and then launches the file.

Now, internally to our organisation I have the dll so that it uses a mysql database on one of our machines here, but I can't distribute this plugin because it would require us to buy a MySQL license for every copy of our software sold, overkill for a simple small feature like this.

So for general users I'm going to supply a version of the dll which uses a simple tab delimited file ("attribute" \ t"filename"), one "database entry" per line, obviously this is pretty nasty, but it's simple and it'll works, maybe very slowly though!

We are going to supply the source code for this simple dll so that if our customers want to make use of a proper database system they can modify and do that.

Now....

What if I were to supply ONLY (in addition to the other simple dll) the source code to the MySQL version, no binary, no mysql files, just my source code which calls the client library, what is the licensing issue here? I'm not supplying any MySQL code in any form whatsoever, only calls to their database client library (which i've not supplied). Our end users would need to download MySQL themselves (and the developer libraries) and Visual Studio Express and set it all up and compile the dll themselves.

Is this in violation of the GPL or the MySQL license?

Thanks.

Adrian


Edited by sn00p (06/10/2006 07:13)

Top
#287863 - 06/10/2006 08:18 Re: MySQL licensing question. [Re: sn00p]
JBjorgen
carpal tunnel

Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
Quote:
Now, internally to our organisation I have the dll so that it uses a mysql database on one of our machines here, but I can't distribute this plugin...


Why? Is this dll part of the mysql package? ie...libmysql.dll? Or does it use some of their code?

What language is your product in? Could you use an alternative like this one?
http://www.microolap.com/products/connectivity/dbx4mysql/
_________________________
~ John

Top
#287864 - 06/10/2006 08:52 Re: MySQL licensing question. [Re: JBjorgen]
sn00p
addict

Registered: 24/07/2002
Posts: 618
Loc: South London
The dll is ours and contains a couple of functions:

int LaunchDatasheet(char *datasheet, char *path);
int Configure(void);

Our internal version (what we use in house) of the dll uses the mysql libraries to look the datasheet up in a database and launch that file, because it's fast. Obviously I cannot distribute this dll because it would violate the GPL as the application that uses it is commerical and closed source.

I plan to distribute a version of this DLL that uses a simple text based database with our software, the source code to this dll would be available so that end users could link it to their own database system with a little bit of programming, the "simple text based" database is not going to fast (or robust with multiple users).

My question is whether or not I can distribute the source code to the MySQL version of the DLL without violating the GPL, I would only be supplying our (single 'C') source file (with the visual studio project) and would not be distributing any mysql code, our code contains calls to mysql library functions but what we supply would not contain any mysql code in either source or binary form.

I would supply instructions on how to build the DLL.

Obviously I cannot supply the binary of the DLL because that would violate the GPL even though I would be supplying the source for it, because the application that makes use of the DLL is closed source and commercial.

Thanks.

Adrian

Top
#287865 - 06/10/2006 09:13 Re: MySQL licensing question. [Re: sn00p]
JBjorgen
carpal tunnel

Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
As far as I know, you should be free to distribute your library in binary format without source and tell the end user to acquire their own copy of libmysql. As long as you don't distribute libmysql, you should be free to make calls to it without any licensing issues. IANAL, but that has been my experience.
_________________________
~ John

Top
#287866 - 06/10/2006 10:28 Re: MySQL licensing question. [Re: sn00p]
peter
carpal tunnel

Registered: 13/07/2000
Posts: 4180
Loc: Cambridge, England
Quote:
Is this in violation of the GPL or the MySQL license?

It might technically be OK under the letter of the GPL (in the same vein as those bricks of dried grape extract people sold during Prohibition, the ones with labels saying "Do not mix with five gallons of water and store in a dark place for three months or an illegal alcoholic beverage may result"), but it's certainly against the spirit of the GPL. You could just use SQLite instead.

Peter

Top
#287867 - 06/10/2006 10:47 Re: MySQL licensing question. [Re: sn00p]
tman
carpal tunnel

Registered: 24/12/2001
Posts: 5528
Quote:
Ok. I have a question, I can't seem to find the answer specificially, but as it applies to the GPL (aka viral w**k) in general, somebody here might be able to answer.

*cough* If the GPL is such a problem then don't use any GPL licensed software. Nobody is forcing you...

Top
#287868 - 06/10/2006 11:02 Re: MySQL licensing question. [Re: sn00p]
BAKup
addict

Registered: 11/11/2001
Posts: 552
Loc: Houston, TX
Why not use MS SQL Server Express 2005?
http://msdn.microsoft.com/vstudio/express/sql/
_________________________
--Ben
78GB MkIIa, Dead tuner.

Top
#287869 - 06/10/2006 11:40 Re: MySQL licensing question. [Re: tman]
sn00p
addict

Registered: 24/07/2002
Posts: 618
Loc: South London
Quote:
*cough* If the GPL is such a problem then don't use any GPL licensed software. Nobody is forcing you...


It's not a problem and nobody is forcing us to supply it. I have no problem with not supplying this DLL, infact I had no intention of supplying it because we're supplying a simple text database version, but I figured as I've already written it (and it works), then it might be of use and convenience to our users. We're supplying the source of the basic text version so that they can write their own interface to a database if they so choose.....

Imho MySQL have got this licensing seriously wrong, the client library should have remained under the LPGL and the only reason I can see for them moving license is $$$$$ related.


Edited by sn00p (06/10/2006 11:41)

Top
#287870 - 06/10/2006 15:50 Re: MySQL licensing question. [Re: sn00p]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
Any reason you can't distribute the binary that's linked to the MySQL library, but tell the users to get their own copy of the library?

Sounds like something that should be done via ODBC anyway.
_________________________
Bitt Faulk

Top
#287871 - 06/10/2006 15:54 Re: MySQL licensing question. [Re: wfaulk]
sn00p
addict

Registered: 24/07/2002
Posts: 618
Loc: South London
Quote:
Any reason you can't distribute the binary that's linked to the MySQL library, but tell the users to get their own copy of the library?

Sounds like something that should be done via ODBC anyway.


This is my issue, I still don't know if that violates the GPL. I guess I'll have to write them an email and ask if that is a violation.

I've not looked at ODBC for a long time, I've not had any reason to. I assume in true Microsoft style it is based around some horrific COM style interface which makes for a very messy "Win32 SDK" implementation.

Adrian

Top
#287872 - 06/10/2006 16:08 Re: MySQL licensing question. [Re: sn00p]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
Hmm. I guess you're right. From the FSF licensing FAQ:
Quote:
If a library is released under the GPL (not the LGPL), does that mean that any program which uses it has to be under the GPL?

Yes, because the program as it is actually run includes the library.


However, if it's only the one small program, you can distribute it as a binary as long as you make the source code available. As long as it's just a utility, and not part of the main application, you should be fine.
_________________________
Bitt Faulk

Top
#287873 - 06/10/2006 19:01 Re: MySQL licensing question. [Re: wfaulk]
JBjorgen
carpal tunnel

Registered: 19/01/2002
Posts: 3584
Loc: Columbus, OH
After more looking about, it appears that my post above is incorrect. For some reason I didn't bother to take notice when MySQL changed their libraries to the GPL from the LGPL in 2001 to try to force more vendors to buy the commercial version.
_________________________
~ John

Top
#287874 - 06/10/2006 19:04 Re: MySQL licensing question. [Re: JBjorgen]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14491
Loc: Canada
Quote:
After more looking about, it appears that my post above is incorrect. For some reason I didn't bother to take notice when MySQL changed their libraries to the GPL from the LGPL in 2001 to try to force more vendors to buy the commercial version.


Well, if that's actually the case, then you can redistribute code that uses it, so long as you do so in a relinkable form. Source is not necessary, just re-linkable object files.

Cheers

Top
#287875 - 06/10/2006 21:25 Re: MySQL licensing question. [Re: mlord]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
All of this discussion takes me back to a project I did a couple of years ago. I wrote a booking and scheduling system than ran (and as far as I know still does) a big TV screen in the middle of Manchester. I consisted of a WAMP (Windows, Apache, MySQL, PHP) server which we built that talked to our proprietry broadcast control system. The users created/edited bookings via a web interface which then told our control system to route sources to the screen, control DVD players, switch GPIO's etc.

The bit that got us all confused was because the Apache, MySQL and PHP where all licensed open source and free to obtain, where did we stand with charging them for it all.

I don't think lawyers were ever consulted, but basically I think we charged them for our proprietry software, the cost of the hardware and the effort involved of writing the PHP scripts and configuring web server. As far as anyone was concerned the customer downloaded the 'AMP' portion themselves.

To this day I'm unsure as to how legal this whole situation was and I'd be interested to know.
_________________________
Cheers,

Andy M

Top
#287876 - 06/10/2006 21:34 Re: MySQL licensing question. [Re: andym]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
Well, there's nothing preventing you from charging for GPL'd software. The only question is whether you allowed them to have the source code, and the fact that they could then redistribute it if they wanted.
_________________________
Bitt Faulk

Top
#287877 - 06/10/2006 21:50 Re: MySQL licensing question. [Re: wfaulk]
andym
carpal tunnel

Registered: 17/01/2002
Posts: 3996
Loc: Manchester UK
Quote:
Well, there's nothing preventing you from charging for GPL'd software. The only question is whether you allowed them to have the source code


To the PHP scripts we wrote, or Apache etc.?

Quote:
and the fact that they could then redistribute it if they wanted.


Think they would've had a problem with that. Mind you, the BBC owned the rights to the control system. The PHP scripts are human readable and the mySQL schema could've been copied.
_________________________
Cheers,

Andy M

Top
#287878 - 06/10/2006 22:36 Re: MySQL licensing question. [Re: andym]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
Obviously, anyone can get their hands on Apache, etc. Your addons may or may not have been GPL'd as a result of being addons to the AMP stuff. Depends on exactly how they were implemented, most likely. If they were, you would not be required to distribute them to anyone, but anyone you distributed them to would have the right to see the source code to anything you gave them that was licensed via the GPL and wouldn't be prevented from distributing them further. And you couldn't write a new license preventing them from doing so without violating the GPL.
_________________________
Bitt Faulk

Top
#287879 - 07/10/2006 06:10 Re: MySQL licensing question. [Re: mlord]
sn00p
addict

Registered: 24/07/2002
Posts: 618
Loc: South London
Quote:
Quote:
After more looking about, it appears that my post above is incorrect. For some reason I didn't bother to take notice when MySQL changed their libraries to the GPL from the LGPL in 2001 to try to force more vendors to buy the commercial version.


Well, if that's actually the case, then you can redistribute code that uses it, so long as you do so in a relinkable form. Source is not necessary, just re-linkable object files.

Cheers


I don't know about that bit of history but in version 4.1 (iirc - I've read so much stuff over the past few days!) they switched the client libraries from LGPL to GPL, this is where the problem starts and things get fuzzy.

I'm unclear of whether a DLL consititutes the main program, certainly in my case it's absurd to say that a 70 line dll makes our 1,000,000+ line of code program a derivative of MySQL!

In all of this, I'm not even remotely interested in supplying the binary, I was wondering if I could supply the source code to the MySQL version out of courtesy to our end users so that they could use that if they so liked. (Obviously they'd have to go through all the pain of setting up MySQL).

Given that I'm not supplying any MySQL code, only our short 70 line dll source, does the GPL apply to a program in source form, even if it doesn't include any of the library code, only "function" names exist in the source?

Thanks.

Adrian

Top
#287880 - 08/10/2006 23:18 Re: MySQL licensing question. [Re: sn00p]
music
addict

Registered: 25/06/2002
Posts: 456
Quote:
Quote:
Quote:
After more looking about, it appears that my post above is incorrect. For some reason I didn't bother to take notice when MySQL changed their libraries to the GPL from the LGPL in 2001 to try to force more vendors to buy the commercial version.


Well, if that's actually the case, then you can redistribute code that uses it, so long as you do so in a relinkable form. Source is not necessary, just re-linkable object files.

Cheers


I don't know about that bit of history but in version 4.1 (iirc - I've read so much stuff over the past few days!) they switched the client libraries from LGPL to GPL, this is where the problem starts and things get fuzzy


OK, I don't know anything about this stuff, but I will pose the following question anyway.

If the switch to 4.1 in 2001 is the issue, why not just ship it with a much older version of MySQL ?

It sounds like the functionality you need is so basic that version 0.1 of the program probably supported it.
Then if people happen to already have a more modern version installed, they can just use that instead.

Top