absolutely not a problem. xboard/winboard fit this _exactly_ and both are GPL codes that run a chess engine that may or may not be GPL'ed...F.Huber wrote:Hi,
although the problem I´m describing here arised in one of my other
hobbies (astronomy), it could well happen exactly the same way in
computer chess, so I´ll just translate it 1:1 into a chess scenario to
make it on-topic here:
Let´s assume that there exists a chess engine, which is released under
the GNU-GPL license, including the full source code (of course) and an
´Engine.dll´.
I´ve written a GUI especially for this engine with all usual features like
e.g. a graphical chess board, some functions for analyzing etc...
Now consider the following 4 facts:
1) I release my GUI program as FREEWARE (like all my other programs)
but WITHOUT my source-code (what I never do)
2) my GUI is working only for (and with) this special ´Engine.dll´, i.e. if
it doesn´t find this DLL in the current folder the program just quits with
an error message (about the missing DLL)
3) my released program package does NOT include this ´Engine.dll´ (or
any other file of the original GNU-GPL engine distribution) - instead of it
the included readme-file says that this DLL is required, and gives the link
from where this DLL can be downloaded
4) my GUI program does NOT include a SINGLE line of the original code of
the engine (or any other files of its package) - it´s just using function calls
to this ´Engine.dll´ (i.e. names of some of its functions or procedures)
and using the results of these calls for further processing
And finally now my question:
Is the release of my GUI program under the above conditions in any way
violating the GNU-GPL license or any other copyright law?
Well, my common sense would definitely answer: NO - no problem at all,
because it´s just a free addon to this engine, which is not directly using
any code of it (see point 3+4 above).
But since legislation doesn´t always (or should I better say: never)
correspond with the common sense, I would really like to see qualified
answers of GNU-GPL experts for this special case that I´ve described.
Regards,
Franz.
Question for GNU-GPL experts
Moderator: Ras
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Question for GNU-GPL experts
-
F.Huber
- Posts: 869
- Joined: Thu Mar 09, 2006 4:50 pm
- Location: Austria
- Full name: Franz Huber
Re: Question for GNU-GPL experts
Thanks, this are really interesting links!Aleks Peshkov wrote:http://www.gnu.org/licenses/gpl-faq.htm ... tarySystemA system incorporating a GPL-covered program is an extended version of that program. The GPL says that any extended version of the program must be released under the GPL if it is released at all.However, in many cases you can distribute the GPL-covered software alongside your proprietary system. To do this validly, you must make sure that the free and non-free programs communicate at arms length, that they are not combined in a way that would make them effectively a single program.
But the question is: did I really ´incorporate´ anything of this GPL-covered
DLL?
I would definitely say NO - I´ve not used a single byte of it!
And a few lines later in your 2nd quote you can read:
"If the two programs remain well separated, like the compiler and the kernel, or like an editor and a shell, then you can treat them as two separate programs..."
What else is my GUI program than just a ´shell´ for the ´kernel´ DLL?
-
F.Huber
- Posts: 869
- Joined: Thu Mar 09, 2006 4:50 pm
- Location: Austria
- Full name: Franz Huber
Re: Question for GNU-GPL experts
Thanks, but I´m not sure if this example is suitable!?bob wrote: absolutely not a problem. xboard/winboard fit this _exactly_ and both are GPL codes that run a chess engine that may or may not be GPL'ed...
The problem is that my program (contrary to winboard) is NOT a GPL program, but it is in fact calling (or better: is _able_ to call) a GPL´ed library DLL.
So has the DLL-author now the right to force me making my own program open-sorce too or not, that´s here the question.
(it seems indeed to need a true lawyer for a safe answer ...
-
rhollay
- Posts: 150
- Joined: Wed Mar 08, 2006 8:26 pm
Re: Question for GNU-GPL experts
Dlls depend on a host program or an interface. Also, many engines (although .exe) cannot be run separately, outside a GUI.Aleks Peshkov wrote:IMO it all depends whether 'Engine.dll' is an independent program or an utility library. Chess engine can be treated as separate program (like Rybka) or library (like Fritz).
As was noted, programs usually licensed under GPL and libraries under LGPL.
In a case the library was licensed under GPL you cannot legally use this library in your own non-GPL code.
IIRC, Arena existed before Fruit, like a closed-source GUI. So after Fabien released Fruit under GPL, Arena automatically
became illegal and should be open-sourced also? This would be just insane...
Or maybe the user is responsible? I legally own Arena and Fruit. But if I run Fruit under Arena, I make a violation of the law?
-
jdart
- Posts: 4420
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Question for GNU-GPL experts
Socket communication to a GPL program (as in Winboard/xboard) is considered a different case from linking.
--Jon
--Jon
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Question for GNU-GPL experts
There is a ton of commercial software that executes normal system commands. And every system command in Linux is GPL'ed. I think the sticking point here is the word "incorporate" which means "include". One doesn't "include" a program if you fork()/exec() to execute an existing executable. You are "using it" to be sure, but not incorporating it into your program. For example, I have seen commercial software execute the unix "dump" command to backup files. or use "gzip" to compress old log files. Etc.F.Huber wrote:Thanks, but I´m not sure if this example is suitable!?bob wrote: absolutely not a problem. xboard/winboard fit this _exactly_ and both are GPL codes that run a chess engine that may or may not be GPL'ed...
The problem is that my program (contrary to winboard) is NOT a GPL program, but it is in fact calling (or better: is _able_ to call) a GPL´ed library DLL.
So has the DLL-author now the right to force me making my own program open-sorce too or not, that´s here the question.
(it seems indeed to need a true lawyer for a safe answer ...)
for the other direction, last time I looked, to run a commercial (non-GPL) program on unix, the shell has to fork()/exec() the executable, which is a GPL program executing a non-GPL program. So either way works just fine as the programs are distinct and separate.
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Question for GNU-GPL experts
If that were an issue, how could one _ever_ develop a GPL or non-GPL program? Ever used the C library (printf for example)? That is GPL. And it is used in non-GPL programs.jdart wrote:Socket communication to a GPL program (as in Winboard/xboard) is considered a different case from linking.
--Jon
-
jdart
- Posts: 4420
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Question for GNU-GPL experts
The GNU C library is licensed under LGPL, not GPL.
--Jon
--Jon
-
bnemias
- Posts: 373
- Joined: Thu Aug 14, 2008 3:21 am
- Location: Albuquerque, NM
Re: Question for GNU-GPL experts
I scanned the thread and didn't see this answer. If I missed it, I apologize. The GPL only applies when distribution occurs. You aren't distributing any GPL software (unless the engine.dll link you mention in 3) is distributed by you), so you aren't bound by the GPL in this case. Note: this is my personal interpretation of the GPL, I'm no lawyer.F.Huber wrote:Now consider the following 4 facts:
1) I release my GUI program as FREEWARE (like all my other programs)
but WITHOUT my source-code (what I never do)
2) my GUI is working only for (and with) this special ´Engine.dll´, i.e. if
it doesn´t find this DLL in the current folder the program just quits with
an error message (about the missing DLL)
3) my released program package does NOT include this ´Engine.dll´ (or
any other file of the original GNU-GPL engine distribution) - instead of it
the included readme-file says that this DLL is required, and gives the link
from where this DLL can be downloaded
4) my GUI program does NOT include a SINGLE line of the original code of
the engine (or any other files of its package) - it´s just using function calls
to this ´Engine.dll´ (i.e. names of some of its functions or procedures)
and using the results of these calls for further processing
And finally now my question:
Is the release of my GUI program under the above conditions in any way
violating the GNU-GPL license or any other copyright law?
If you are the distributer of engine.dll, ie, just creating two distribution packages instead of one, then this tactic (by itself) won't shield you from the GPL. The issue about linking to a GPL library will then apply. That part is unclear to me, so see the GPL Wiki under "The GPL in court."
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Question for GNU-GPL experts
Those aren't the only libs around...jdart wrote:The GNU C library is licensed under LGPL, not GPL.
--Jon