Licenses, was Re: [ng-spice-devel] Catching up


To ng-spice-devel@ieee.ing.uniroma1.it
From Al Davis <aldavis@ieee.org>
Date Tue, 6 Feb 2001 15:06:47 -0800
Delivered-To mailing list ng-spice-devel@ieee.ing.uniroma1.it
In-Reply-To <CF654D964573D311A1CA0090278A36FF4CBD76@EDIN_EXM1 >
Mailing-List contact ng-spice-devel-help@ieee.ing.uniroma1.it; run by ezmlm
References <CF654D964573D311A1CA0090278A36FF4CBD76@EDIN_EXM1 >
Reply-To ng-spice-devel@ieee.ing.uniroma1.it

On Mon, 05 Feb 2001, Gillespie, Alan wrote:
> I forget what the actual problem with the Berkeley license was.

I will try to answer this one in a neutral manner, in spite of the 
fact that many can be quite emotional over it.

GPL and Berkeley licenses were designed with different purposes.  I 
respect both, and will use both depending on the circumstances.

The key difference is that GPL requires derivative works to also be 
GPL, while the Berkeley license does not have such a restriction.  
Thus, under Berkeley license a corporation can use the code as a base 
for their own proprietary work.  The goal of the Berkeley license is 
to encourage commercial exploitation.  The commercial Spice programs 
are all examples of what is allowed under Berkeley license.  This is 
appropriate for a university which is funded by grants from industry 
and government.  It also allows a student full rights to 
commercialize the work, even if others made significant contributions.

GPL is designed to prevent such commercial derivatives.  The idea is 
that it was created as "Free" software, not to give free engineering 
services to a corporate entity, which will do anything they can get 
away with to improve the profit.  Some large corporations are scared 
of GPL programs.  The mere existence represents intellectual property 
threats, similar to a patent in the hands of a competitor.  Some 
companies feel they must use a clean-room approach at their own 
engineering, when a GPL program is available, just like the GPL 
people must use a clean-room approach when reverse engineering a 
commercial product.

For this reason, when I come up with something that might be 
patentable, as soon as possible I publish a prototype under GPL.  It 
doesn't matter whether it works or not.  Example: the partially 
implemented multi-rate code in ACS.

The big problem comes up when you use code from outside, with mixed 
licenses.  When you do this, you must simultaneously comply with the 
licenses of all components.  The license of the composite must comply 
with all.  Often, this is impossible.  Often, the dispute is over 
something trivial.

Even if something is strictly legal, it is improtant to maintain good 
will.  If you do something the author doesn't like, you create an 
unpleasant situation, even if it is strictly legal.

If the program is distributed under Berkeley license, you can't 
include any GPL code from outside, because Berkeley license allows 
propriatary derivative works.  LGPL is ok.


         The University does not warrant that it owns the copyright
    or other proprietary rights to all software and documentation
    provided under this agreement, notwithstanding any copyright
    notice, and shall not be liable for any infringement of copyright
    or proprietary rights brought by third parties against the reci-
    pient of the software and documentation provided under this
    agreement.

It is student work, and unknown where pieces actually came from, and 
the rights they have.  If you redistribute, you take the risk of the 
consequences of infringement.

          The University of California grants the recipient the right
    to modify, copy, and redistribute the software and documentation,
    both within the recipient's organization and externally, subject
    to the following restrictions:
  
    (a)  The recipient agrees not to charge for the University of
         California code itself.  The recipient may, however, charge
         for additions, extensions, or support.

GPL lets you charge.  -- subtle conflict.  Just enough so you can't 
just change the license to GPL.
  
    (b)  In any product based on the software, the recipient agrees
         to acknowledge the research group that developed the
         software.  This acknowledgement shall appear in the product
         documentation.

GPL says this, too.  It is the copyright notice.
  
    (c)  The recipient agrees to obey all U.S. Government restric-
         tions governing redistribution or export of the software and
         documentation.

This is a conflict.  If you in the USA, I suppose the same applies 
either way.  Under GPL, if you don't live in the USA, US law doesn't 
apply.


ACS uses GPL.  It is not a Spice derivative.  The only code that is 
derived from Berkeley code is in the models.  Something like "BSIM3" 
(Berkeley Short channel Igfet Model) is obviously Berkeley.  I 
consider the models to be data supplied to the simulator, not part of 
the simulator itself.  Eventually, the models really will be external.



Partial thread listing: