If you modify GPLed code you have to make the modified code publicly 
available. If you write a program that contains GPLed code you are 
required to make all of your program open source. Even if you use a few 
definitions out of one GPLed header file the whole of your code has to 
be open source. If your program is linked (statically or dynamically) in 
any way to GPLed code, it has to be open source. The GPL is sometimes 
called viral because it 'infects' other code.

The LGPL is similar apart from a few exceptions. Using LGPL header files 
does not require your code to be open source unless the header files 
contain large chunks of code rather than defintions. You can also link 
to a LGPLed library without making your code open source. If you make 
any changes to the library or use significant chunks of the library's 
source code, those changes do have to be open source. The end result is 
that LGPLed code is still protected but under controlled conditions can 
be used with closed source code.

In the case of EMC, rcslib is used to allow user programs to communicate 
with the core of EMC itself. It is LGPL so I can safely use it. Think of 
it as a phone line directly connected to the guts of EMC. The problem is 
that I don't know what data to send down that link. A phone is no use if 
you can't talk! The data definitions for this are in a number of header 
files. As they are GPL I can't use them. The original GPL was a bit 
vague about headers so whoever applied the LGPL to rcslib may well have 
intended closed source applications to be able to talk to EMC. GPL2 as 
used by EMC seems to be a bit more specific.

And now a little history. EMC1 was public domain. The license 
effectively said 'do what ever you want with this code but it isn't our 
problem is anything goes wrong'.  Mach uses a modified version of the 
EMC1 G-code interpreter. Look at the Mach manual then compare it with 
the EMC interpreter docs - you may notice a few similarities :-) I 
believe Deskam and a few other control packages also use the EMC 
interpreter. Improvements made by Art and others were not fed back into 
the EMC project. Understandably this annoyed quite a few people. When 
the EMC2 project was started the EMC developers applied the GPL2 license 
to most of the original code to prevent this happening in the future.

Please note, the above is my interpretation of the situation and may be 
in error.

Les


Chris Morley wrote:
>
> In layman's terms what is the difference and why one over the other?
> Without knowing the difference it would seem that if we could let a
> closed source use our open source software without giving them
> control over it would be a good thing.
> What is the danger of having header files LGPL but the rest GPL2?
> I'm not looking to start a fight just interested.
>
> Chris Morley
>
> ------------------------------------------------------------------------
> Messenger wants to send you on a trip. Enter today. 
> <http://www.messengerbuddies.ca/?ocid=BUDDYOMATICENCA21>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> ------------------------------------------------------------------------
>
> _______________________________________________
> Emc-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>   

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to