[omniORB] OmniOrb and OmniThread licensing

Bastiaan Bakker bastiaan.bakker@lifeline.nl
Wed, 06 Mar 2002 23:30:22 +0100


Richard Hardgrave wrote:

---8<-- snip

>
>Whoa! Bastiaan,
>	Everyone has "commercial license" to "open source" software.
>That's why it's called "open source".  The GPL & LGPL just require you
>
GPLed software is "Free Software" which is something completely 
different than "Open Source". Just lookup any discussion between Richard 
Stallman and Eric Raymond for a clarification.
In any case if you redistribute the code you're bound by the copyright 
license. The GPL and LGPL are very clear about your rights and 
obligations. There's no 'but I really, really want to statically link, 
can I do so anyway' clause in these licenses. If you want more rights 
you have to negotiate another license with the copyright holder(s). 
That's what I meant with a 'commercial license'.

>
>to publish anything you do to the software if you alter it. And, you
>can't copywright any code you got as "open source".
>
Indeed you don't obtain copyright of the code you got, but you do own 
the copyright to any modifications or improvements. The GPL and LGPL 
require you to redistribute these modifications under the same license 
as the original code. However they do not require you to assign 
copyright to the author of the original work. Therefore, if the omniORB 
team has included contributed code in the past and the copyright of 
these contributions has not been transferred to the omniORB project, the 
copyright of the complete omniORB distribution may be divided between 
multiple persons or organisations. In that case it may be difficult to 
obtain another license, since you have to negotiate it with all involved 
copyright holders.

>
>	If you create an application (anything generated by the IDL
>compiler) around the dynamic libraries, you get to keep all of your
>source code private.  Your customers still have the ability to go
>into the omniORB code and change it to their satisfaction because
>you have freely given them the source, which you got for free. If
>you statically link but did not change any omniORB source, you would
>have to give your customer all of the object modules you link with
>omniORB to allow them to further change omniORB source and recompile.
>
Indeed.

>
>If you've embedded omniORB source into your code and/or changed its,
>interface you've rather much created an "open source" application.
>
No, you've created a work derived from omniORB, which causes it to be 
covered by either GPL or LGPL (depending on which part of omniORB you 
used). Again, this is 'Free Software' not 'Open Source'. Please be precise.

>
>So, basically, you have to give your customer anything that is
>required to rebuild the application while allowing them to make
>additional changes to omniORB.  If this requires giving them any
>of your source code, you are following the GPL, otherwise you are
>using the LGPL.
>
I believe you're trying to explain the part that if your derived work is 
not a library the LGPL does not allow you to release the whole under the 
LGPL, but leaves you the option to invoke the GPL on it?

>
>	I know.  There's a part of this that just isn't intuitive.
>Most of us have customers that want "no part of" changing and/or
>rebuilding our applications.  But, you have to look at it this
>way in order to be consistent with the intent of the GPL/LGPL.
>
Well, maybe the LGPL and GPL are not intuitive to you in every respect, 
they *are* very logical and consistent in their aim to ensure freedom 
for *all* users of the software not just some developers.
It's not up to the developer to decide that his customers have to give 
up their rights.
If none of your customers wants to rebuild your app: easy for you, you 
don't have to do anything. But if a customer does want to rebuild, you 
are obligated to supply the necessary source code and/or object files.
I don't see why that should be a big problem. All in all it is only a 
very modest and fair requirement in return for a great free library.

Regards,

Bastiaan

>	
>Richard
>