← Back to team overview

fenics team mailing list archive

Re: License

 



On 11/09/10 11:01, David Ham wrote:
Looking forward, can I make a suggestion on copyright procedures.

The Fluidity project is also LGPL (we're currently 2.1 but that's
irrelevant). The way we deal with contributor copyright is by getting
contributors and their institutions to write letters explicitly agreeing
to LGPL licensing. The letters are on file at Imperial and recorded on
our website. In this way we have a nice clean audit trail of copyright
consent. This mostly protects us against someone's institution being
mercenary in the future.

I think this model would translate straight to FEniCS just by changing
the software name and the LGPL version number.

The copyright procedures including sample letters are at:
http://amcg-www.ese.ic.ac.uk/index.php?title=Local:Copyright_Clearance_Procedures


The list of copyright holders and scanned letters from institutions (we
don't scan all the individual letters) is at:

http://amcg-www.ese.ic.ac.uk/index.php?title=Local:Copyright_holders

Hope this is of some use.


This is interesting. We've made one license change already for DOLFIN (GPL -> LGPL), so I wonder if we could find some wording that deals with individual/institutions that go 'missing', i.e. we can't find them to agree a license change. Maybe 'LPGL v3 or later' is enough, but it's always seemed odd to me to agree to a future license that doesn't yet exist.

Garth

Regards,

David

On 10/09/10 19:02, Anders Logg wrote:
On Fri, Sep 10, 2010 at 12:49:19PM +0200, Martin Sandve Alnæs wrote:
On Fri, Sep 10, 2010 at 12:38 PM, Anders Logg<logg@xxxxxxxxx> wrote:
On Wed, Sep 08, 2010 at 10:16:51AM +0100, David Ham wrote:
On 08/09/10 02:55, Harish Narayanan wrote:
On 9/8/10 2:22 AM, Garth N. Wells wrote:


On 07/09/10 17:07, Johan Hake wrote:
On Tuesday September 7 2010 01:12:02 Harish Narayanan wrote:
On 9/7/10 12:27 PM, Anders Logg wrote:
On Tue, Sep 07, 2010 at 08:26:03AM +0530, Harish Narayanan wrote:
On 9/6/10 7:13 PM, Anders Logg wrote:
eA bunch of different licenses are used for various FEniCS
components,
mostly different versions of GPL and LGPL.

I would be practical to clean up among the licenses and
maybe even
use
the same license for all components. At least, we should
settle on
either GPL or LGPL v3 or any later version for all
components. One
immediate benefit is that a common license would simplify
packaging
for Debian/Ubuntu since that requires listing all licenses
used and
that involves some work (even for DOLFIN alone!).

One implication is the need for changing the DOLFIN license
which is
now LGPL v2.1.

An important point to consider is the potential implication
of the
GPL
license used in FFC and UFL, which might force GPL on DOLFIN.

I have added a blueprint:

https://blueprints.launchpad.net/fenics/+spec/license

Please comment here and on the blueprint whiteboard.

Are there any plans for a proprietary product built atop the
FEniCS
components? (Imagine a fancy GUI frontend or something.) Or
posed in
another way, how would the community feel if something like
this was
built on FEniCS, and sold by someone else (or one of their
own) for
profit? (And not have any of their cool extensions
contributed back.)

There are no concrete plans that I know of, but I have had many
questions about the choice of license and possibilities for
making
proprietary products on top of FEniCS.

I guess the question is how one feels about this, as therein
lies the
difference between LGPL and GPL. And since there are many votes
for
LGPL---and it will likely win this little vote---I will voice
my support
for GPL. As in, if in the future there exists some cool
frontend or
something for FEniCS, I would like such a tool (or its underlying
enhancements) to be freely available for teaching students and
such.


AFAIK, (L)GPL doesn't make derived software free as in beer?
What happens if someone sells derived software, including source
code to compy with GPL?

Neither GPL nor LGPL disallow charging money for distributing copies,
but you must also give access to source code so anyone else can choose
to distribute for free.

The difference between the two is that GPL will force GPL on anything
that touches the code in any way (like derived versions or even
linking to it), while LGPL will only force LGPL on derived code, not
on software linking to it.

Having LGPL on DOLFIN means anyone building proprietary software on
top of DOLFIN will need to distribute their changes to DOLFIN under
the LGPL, but not separate entities of code that link to DOLFIN.

The reason I lean towards LGPL is that we probably gets more users


What hasn't been discussed (or maybe I missed it) is the distinction
between L/GPLv2 and L/GPLv3. Can anyone summarise the difference
in a
nutshell?

GPL v3 offers the same basic freedoms as GPL v2. Furthermore, GPL v3
clarifies some language to prevent recent shady acts such as the
following from occurring in the future:

- "Tivoization." This is whena hardware system incorporating Free
Software uses hardware restrictions to prevent users from running
modified versions of the software on that hardware.[1]

- Crippling DRM. Similar to the above, GPL v3 ensures that you have
the freedom to remove software restrictions crippling the use of
programs.

- The MS-Novell patent protection deal. GPL v3 provides for explicit
patent protection of the users from the program's contributors and
redistributors. As in, someone can't distribute patent-encumbered
software, then turn around and tell you that you're violating
their rights.

Further advantages of GPLv3 include better internationalization,
gentler
termination, support for p2p distribution, and compatibility with the
Apache license.[2]

LGPL v3 inherits the above from GPL v3. In fact, LGPL v3 is
actually GPL
v3 plus an addendum that allows redistribution of linking programs
without providing the source. (This is unlike LGPL v2.1 which is a
complete license on its own.)

GPL 3 also benefits from having been written by expert lawyers so it
actually holds together much better as a document. GPL2.1 is
actually really badly drafted and has some utter legal nonsense in
it.

The downside of GPL3 is that it's incompatible with GPL2.1 and there
is a fair bit of GPL software out there which doesn't have the "any
later versions" clause attached.

That's why it is good to make a change now to "L/GPL v3 or any later
version" since we will then be free to change to v4 or whatever comes
next without needing to ask all developers.

It looks like most of us prefer LPGL so my suggestion is that we try
moving everything over to "LGPL v3 or any later version".

Possible problems:

- Everyone might not agree with the move, for example Martin might
prefer GPL for UFL.

Martin: What do you think?

I think "LGPL v3 or any later version" sounds good.
Note that Simula holds shared copyright of my work,
and they probably want LGPL instead of GPL,
to keep the commercialization option more open.
I believe I gave Ola Skavhaug my permission to
change UFL from GPL to LGPL after I left.

Great. I'll ask Simula but I don't expect any problems.

--
Anders





Follow ups

References