From http://www.gnu-pascal.de/contrib/eike/ I downloaded GPC interfaces to mySQL, contributed by Eike Lange - thanks Eike for contributing them. With some necessary changes, I got things working on Mac OS X.
{ This unit interfaces MySQL libs. Copyright (C) 2003 by Eike Lange Author: Eike Lange eike@g-n-u.de
This unit is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation, version 2.
I don't think full copyright can be claimed, because the Pascal interfaces are based on C-headers, copyrighted by mySQL AB.
/* Copyright (C) 2000-2003 MySQL AB
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Now, we have an "original work" copyrighted by MySQL AB and licensed under the GPL, plus a "new work" based on the "original work" copyrighted partly by Eike Lange and licensed under the LGPL.
(sigh)
From a lawyers point of view - I don't think that this is all correct.
From a programmer's point of view - Please (!) don't introduce unneeded copyright claims in interface files, except as needed to respect the original works. With all respect for the GPL and the LGPL, I would argue strongly that Pascal interface files be left uncopyrighted.
Regards,
Adriaan van Os
Hi Adrian and List!
On Thu, Jul 15, 2004 at 05:37:01PM +0200, Adriaan van Os wrote:
From http://www.gnu-pascal.de/contrib/eike/ I downloaded GPC interfaces to mySQL, contributed by Eike Lange - thanks Eike for contributing them. With some necessary changes, I got things working on Mac OS X.
Would you like to contribute these changes?
Now, we have an "original work" copyrighted by MySQL AB and licensed under the GPL, plus a "new work" based on the "original work" copyrighted partly by Eike Lange and licensed under the LGPL. From a lawyers point of view - I don't think that this is all correct.
Well, _I_ have done all this, with help from Frank and some other mailing list members. This is more than a derived work, so I can choose the license of this work. All units coming along with GNU-Pascal have this header on top, so why shouldn't my unit?
From a programmer's point of view - Please (!) don't introduce unneeded copyright claims in interface files, except as needed to respect the original works. With all respect for the GPL and the LGPL, I would argue strongly that Pascal interface files be left uncopyrighted.
I can't. This is LGPL and if someone needs a different license, feel free to write a unit by your own.
Eike
Eike Lange wrote:
This is more than a derived work, so I can choose the license of this work.
No, by copyright law *any* work based on another work is a derived work.
All units coming along with GNU-Pascal have this header on top, so why shouldn't my unit?
No, most of the GPC runtime comes with the following statement:
GNU Pascal is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
GNU Pascal is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GNU Pascal; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, if you link this file with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. }
Would you like to contribute these changes?
No, not with the current license !
I can't. This is LGPL and if someone needs a different license, feel free to write a unit by your own.
I certainly will !
Regards,
Adriaan van Os
Eike Lange wrote:
Hi Adrian and List!
On Thu, Jul 15, 2004 at 05:37:01PM +0200, Adriaan van Os wrote:
From http://www.gnu-pascal.de/contrib/eike/ I downloaded GPC interfaces to mySQL, contributed by Eike Lange - thanks Eike for contributing them. With some necessary changes, I got things working on Mac OS X.
Would you like to contribute these changes?
Now, we have an "original work" copyrighted by MySQL AB and licensed under the GPL, plus a "new work" based on the "original work" copyrighted partly by Eike Lange and licensed under the LGPL. From a lawyers point of view - I don't think that this is all correct.
At least in my MySQL version (3.23.x), which I think also Eike's work was based upon, mysql.h is under the LGPL, not GPL.
Adriaan van Os wrote:
All units coming along with GNU-Pascal have this header on top, so why shouldn't my unit?
No, most of the GPC runtime comes with the following statement:
GNU Pascal is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
GNU Pascal is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GNU Pascal; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, if you link this file with files compiled with a GNU compiler to produce an executable, this does not cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License. }
Adding this last restriction would not be allowed, I suppose, since it's a derived work.
Since the original work (mysql.h) is under LGPL, the derived work (mysql.pas) must be under the LGPL as well or under the GPL without exceptions (which the LGPL explictly permits).
Frank
Frank Heckenbach wrote:
Eike Lange wrote:
Hi Adrian and List!
On Thu, Jul 15, 2004 at 05:37:01PM +0200, Adriaan van Os wrote:
From http://www.gnu-pascal.de/contrib/eike/ I downloaded GPC interfaces to mySQL, contributed by Eike Lange - thanks Eike for contributing them. With some necessary changes, I got things working on Mac OS X.
Would you like to contribute these changes?
Now, we have an "original work" copyrighted by MySQL AB and licensed under the GPL, plus a "new work" based on the "original work" copyrighted partly by Eike Lange and licensed under the LGPL. From a lawyers point of view - I don't think that this is all correct.
At least in my MySQL version (3.23.x), which I think also Eike's work was based upon, mysql.h is under the LGPL, not GPL.
This is very remarkable, to say the least. Here is a copy of the header of mysql.h (version 4)
/* Copyright (C) 2000-2003 MySQL AB
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
This is confirmed by the MySQL website, see http://www.mysql.com/products/licensing/opensource-license.html.
You mention version 3.23.x. According to the MySQL website "versions of the MySQL database server prior to 3.23.19 were licensed under the MySQL FREE PUBLIC LICENSE (Version 4, March 5, 1995)", see http://www.mysql.com/products/licensing/mypl.html. It further states "The license was changed to the GNU GPL as of version 3.23.19, and commercial licenses are also available."
Since the original work (mysql.h) is under LGPL, the derived work (mysql.pas) must be under the LGPL as well or under the GPL without exceptions (which the LGPL explictly permits).
MySQL being licensed under LGPL can not possibly be correct. Someone must have changed the header.
Also, I asked MySQL AB. They are perfectly happy if a Pascal MySQL unit would state that "the rights of MySQL AB have to be respected as outlined on http://www.mysql.com/products/licensing/faq.html".
Regards,
Adriaan van Os
Adriaan van Os wrote:
Frank Heckenbach wrote:
Eike Lange wrote:
Hi Adrian and List!
On Thu, Jul 15, 2004 at 05:37:01PM +0200, Adriaan van Os wrote:
From http://www.gnu-pascal.de/contrib/eike/ I downloaded GPC interfaces to mySQL, contributed by Eike Lange - thanks Eike for contributing them. With some necessary changes, I got things working on Mac OS X.
Would you like to contribute these changes?
Now, we have an "original work" copyrighted by MySQL AB and licensed under the GPL, plus a "new work" based on the "original work" copyrighted partly by Eike Lange and licensed under the LGPL. From a lawyers point of view - I don't think that this is all correct.
At least in my MySQL version (3.23.x), which I think also Eike's work was based upon, mysql.h is under the LGPL, not GPL.
This is very remarkable, to say the least. Here is a copy of the header of mysql.h (version 4)
I heard they changed the license in version 4. Of course they can do it.
You mention version 3.23.x. According to the MySQL website "versions of the MySQL database server prior to 3.23.19 were licensed under the MySQL FREE PUBLIC LICENSE (Version 4, March 5, 1995)", see http://www.mysql.com/products/licensing/mypl.html. It further states "The license was changed to the GNU GPL as of version 3.23.19, and commercial licenses are also available."
I think in 3.23.>=19 (or so) the server (and perhaps client programs) were GPL, but the client libraries LGPL.
Since the original work (mysql.h) is under LGPL, the derived work (mysql.pas) must be under the LGPL as well or under the GPL without exceptions (which the LGPL explictly permits).
MySQL being licensed under LGPL can not possibly be correct. Someone must have changed the header.
Not MySQL as a whole, but the client libraries.
Also, I asked MySQL AB. They are perfectly happy if a Pascal MySQL unit would state that "the rights of MySQL AB have to be respected as outlined on http://www.mysql.com/products/licensing/faq.html".
You might want to search for LGPL on that page.
Frank
Frank Heckenbach wrote:
You might want to search for LGPL on that page.
OK, this explains why older headers had the LGPL license:
"' 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. Previously there were people that were misusing the GPL by distributing the MySQL server tightly coupled with their applications and claiming that the GPL doesn't affect them because the client libraries were free to use. "
Regards,
Adriaan van Os
Adriaan van Os wrote:
Frank Heckenbach wrote:
You might want to search for LGPL on that page.
OK, this explains why older headers had the LGPL license:
"' 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. Previously there were people that were misusing the GPL by distributing the MySQL server tightly coupled with their applications and claiming that the GPL doesn't affect them because the client libraries were free to use. "
Yes, and when using 3.23.>=19 (and works based on it), the LGPL can still be used. We could also use GPL (for these versions as well as 4.x), but we can never use GPL+exception or make the Pascal interface "uncopyrighted"(*) as you suggested, unless we get a special permission or do a clean-room reimplementation.
(*) which would mean public domain in the USA, and is not even possible in continental Europe AFAIK.
IANAL. Frank
Frank Heckenbach wrote:
Yes, and when using 3.23.>=19 (and works based on it), the LGPL can still be used.
The MySQL units that initiated this thread, bear the following note:
Date: 2003-04-04
Welcome to the wonderful world of mysql.pas, a unit for accessing mysql.
Note, that this unit is for mysql version 4 and above only!
So, this is MySQL 4, not the three-year old MySQL 3.23.x.
but we can never use GPL+exception
I didn't suggest to release them under GPL+exception. Someone said that "all units coming along with GNU-Pascal have this header" (theLGPL) so I cited the header of (most units of) the runtime library.
or make the Pascal interface "uncopyrighted"(*) as you suggested;
Read the thread. I said "except as needed to respect the original works".
Regards,
Adriaan van Os
Adriaan van Os wrote:
Frank Heckenbach wrote:
Yes, and when using 3.23.>=19 (and works based on it), the LGPL can still be used.
The MySQL units that initiated this thread, bear the following note:
Date: 2003-04-04
Welcome to the wonderful world of mysql.pas, a unit for accessing mysql.
Note, that this unit is for mysql version 4 and above only!
So, this is MySQL 4, not the three-year old MySQL 3.23.x.
OK, this is another version than the one I'm using. If it's infact based on MySQL 4 headers, using the LGPL would be wrong, Eike.
If it was written without using MySQL 4 headers directly, it could be possible to use the LGPL, but it would in fact be useless, since a program that has to link to the MySQL 4 libraries would fall under the GPL anyway. So you can (and perhaps have to) use the GPL for the unit anyway.
or make the Pascal interface "uncopyrighted"(*) as you suggested;
Read the thread. I said "except as needed to respect the original works".
You said:
: With all respect for the GPL and the LGPL, I would : argue strongly that Pascal interface files be left uncopyrighted.
Frank
Frank Heckenbach wrote:
or make the Pascal interface "uncopyrighted"(*) as you suggested;
Read the thread. I said "except as needed to respect the original works".
You said:
: With all respect for the GPL and the LGPL, I would : argue strongly that Pascal interface files be left uncopyrighted.
OK, I will try to clarify the idea behind what I said (or at least tried to say). When I wrote the message, I were rather irritated finding software that can not be used because the wrong license is attached. In retrospect, I think this is caused by MySQL AB, changing the license from version 3 to version 4.
There is a piece of software that we want to use with Pascal. Most of the time, C-headers are supplied with the software. The C-headers are the "original work". Now, someone translates the C-headers into Pascal. The Pascal interface units are a "derived work". Now, the Pascal interface units have two copyright owners, the author of the original work and the author of the translation - both have contributed to the new work.
My approach to this is -- with the predominance of C, we should be glad that somewhere we can find Pascal interfaces. So, we only make things unnecessary difficult if the C-to-Pascal translator attaches extra restrictions, extra licensing terms or even the wrong license. So, the idea is to just add a sentence to the Pascal units that (a) the Pascal-translation-part of it as-such doesn't add anything to the licensing terms and as-such is "uncopyrighted" and (b) the copyrights of the original work (the C-headers) have to be respected -- but they will vary or may even change in time.
This is what Peter, Gale and I do with the Mac OS X Pascal Interfaces -- I am open to suggestions as to what would be the best way to say this in terms of copyright law.
Regards,
Adriaan van Os
Adriaan van Os wrote:
Frank Heckenbach wrote:
or make the Pascal interface "uncopyrighted"(*) as you suggested;
Read the thread. I said "except as needed to respect the original works".
You said:
: With all respect for the GPL and the LGPL, I would : argue strongly that Pascal interface files be left uncopyrighted.
OK, I will try to clarify the idea behind what I said (or at least tried to say). When I wrote the message, I were rather irritated finding software that can not be used because the wrong license is attached. In retrospect, I think this is caused by MySQL AB, changing the license from version 3 to version 4.
There is a piece of software that we want to use with Pascal. Most of the time, C-headers are supplied with the software. The C-headers are the "original work". Now, someone translates the C-headers into Pascal. The Pascal interface units are a "derived work". Now, the Pascal interface units have two copyright owners, the author of the original work and the author of the translation - both have contributed to the new work.
My approach to this is -- with the predominance of C, we should be glad that somewhere we can find Pascal interfaces. So, we only make things unnecessary difficult if the C-to-Pascal translator attaches extra restrictions, extra licensing terms or even the wrong license. So, the idea is to just add a sentence to the Pascal units that (a) the Pascal-translation-part of it as-such doesn't add anything to the licensing terms and as-such is "uncopyrighted" and (b) the copyrights of the original work (the C-headers) have to be respected --
I agree in principle, but I suppose the wording "uncopyrighted" is questionable (in particular in continental Europe) and could, in the worst case, mean that the derived work is not licensed at all and cannot be used. Therefore I suggest to put the derived work explicitly under the same license as the original work (provided the license allows that which all of the common free software licenses do). That's what Eike did with MySQL 3.23.x.
but they will vary or may even change in time.
In this case, if the derived version is updated to the new version, the authors of the derived work can (and should) re-check the license. I suppose Eike forgot to do this (probably unintentionally) when updating to MySQL 4.x.
This is what Peter, Gale and I do with the Mac OS X Pascal Interfaces -- I am open to suggestions as to what would be the best way to say this in terms of copyright law.
Since Peter and Gala are from Australia and USA, they can put their works in the public domain, but you cannot. (AFAIK.) You can release it without any extra conditions (such as: "Copyright ... The author gives unlimited permission to copy and/or distribute [it], with or without modifications, as long as this notice is preserved."), or use the license of the original work.
IANAL. Frank
Dixitur illum ih8mj@fjf.gnu.de scribere...
I agree in principle, but I suppose the wording "uncopyrighted" is questionable (in particular in continental Europe) and could, in the
Yes - if porting the headers is an original work of authorship, which it surely is.
worst case, mean that the derived work is not licensed at all and cannot be used. Therefore I suggest to put the derived work explicitly under the same license as the original work (provided the
You could just add a comment "Pascal translation by foo. foo grants you to use the Pascal headers under the same licence as the C headers." so future users can adopt it to future mysql versions IF they change the licence again. If you just add a "(c) foo" to the header licence block, they have to contact you - this is what's usually done.
//Thorsten
Frank Heckenbach wrote:
Since Peter and Gala are from Australia and USA, they can put their works in the public domain, but you cannot. (AFAIK.) You can release it without any extra conditions (such as: "Copyright ... The author gives unlimited permission to copy and/or distribute [it], with or without modifications, as long as this notice is preserved."), or use the license of the original work.
Good to know.
Regards,
Adriaan van Os