← Back to team overview

fenics team mailing list archive

Licenses

 

Dear all,

Johannes has gone through all source code to examine which licenses we are using. The current situation is that we use a mix of GPL and LPGL versions 2.1, 2.1+, 3, and 3+. See attached summary.

My suggestion is that we simply move everything over to LGPL 3+, that is, LGPL v3 or any later version. I think everyone has said this is ok so it's just a practical problem to make the change.

How should we go about making the change? Is it enough if everyone just responds to this list? Or do we need something more formal like David Ham suggests?

--
Anders
http://www.gnu.org/licenses/license-list.html

DOLFIN
------

README says LGPL-2.1.
COPYING contains LGPL-2.1.
No COPYING.LESSER file.
Wiki page says LGPL.
Manual (doc/manual/chapters/license.tex) says LGPL-2.1.

Files with different license:
GPL-3+:
 site-packages/dolfin/adaptivity/dual.py
 site-packages/dolfin/adaptivity/errorestimator.py
 site-packages/dolfin/adaptivity/errorestimators.py
 site-packages/dolfin/adaptivity/formmanipulation.py
 site-packages/dolfin/adaptivity/marking.py
 site-packages/dolfin/adaptivity/normestimators.py
 site-packages/dolfin/adaptivity/residual.py
 site-packages/dolfin/adaptivity/specialfunctions.py
 site-packages/dolfin/adaptivity/adaptivedata.py
 site-packages/dolfin/adaptivity/updates.py
 site-packages/dolfin/adaptivity/adaptive.py
 site-packages/dolfin/adaptivity/utils.py
 site-packages/dolfin_utils/wrappers/functionspace.py
 site-packages/dolfin_utils/wrappers/form.py
 site-packages/dolfin_utils/wrappers/wrappers.py
 demo/undocumented/adaptive-pde/energy-norm-poisson.py
 demo/undocumented/adaptive-pde/poisson.py
 demo/undocumented/conditional/cpp/Conditional.ufl
 demo/undocumented/conditional/cpp/main.cpp
 demo/undocumented/spatial-coordinates/cpp/SpatialCoordinates.ufl
 demo/undocumented/adaptive-pde/mixed-poisson.py
 demo/undocumented/adaptive-pde/navier-stokes.py
 demo/undocumented/reaction-diffusion/cpp/ReactionDiffusion.ufl
 demo/undocumented/conditional/python/demo.py
GPL-2+:
 doc/manual/algorithm.sty
GPL-2:
 doc/manual/fenicsmanual.cls
LGPL-3:
 site-packages/dolfin_utils/pjobs/pjobs.py
BSD:
 cmake/modules/FindGMP.cmake

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/copyright

FErari
------

README says nothing about license.
No COPYING file.
No COPYING.LESSER file.
All files with a copyright header says LGPL-2.
Wiki page says LGPL.

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/ferari/trunk/debian/copyright

FFC
---

README says FFC is GPL-3+.
COPYING contains GPL-3.
Manual (doc/manual/chapters/license.tex) says GPL-3+.
Wiki page says GPL.

Files with different license:
LGPL-2+:
 doc/manual/algorithm.sty
LGPL-2.1:
 demo/StabilisedStokes.ufl
 demo/QuadratureElement.ufl
 demo/HyperElasticity.ufl
 demo/Biharmonic.ufl

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/ffc/trunk/debian/copyright

FIAT
----

README says nothing about license.
COPYING contains GPL-3.
No COPYING.LESSER file.
Most files says LGPL in the copyright header.
Wiki page says LGPL.

Files with different license:
GPL-2:
 doc/fenicsmanual.cls
LGPL-3+:
 test/test.py

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/fiat/trunk/debian/copyright

Instant
-------

README says nothing about license.
COPYING says both LGPL-2.1 and BSD, but does not include the LGPL-2.1
license.
No COPYING.LESSER file.
Wiki page says BSD.

Files with different license:
GPL-3+:
 etc/instant-clean
 etc/instant-showcache

SyFi
----

README says GPL-2+.
COPYING contains the GPL-2 license.
Wiki page says GPL-2+.
Manual (doc/manual/chapters/software.tex) says GPL-2+.

Files with different license:
LGPL-3:
 demo/Elements/cpp/main.cpp
 demo/HyperElasticity1D/cpp/main.cpp
 demo/HyperElasticityMooneyRivlin/cpp/main.cpp
 demo/HyperElasticitySVK/cpp/main.cpp
 demo/Poisson1D/cpp/main.cpp
 demo/Poisson2D/cpp/main.cpp
 demo/Poisson3D/cpp/main.cpp
 demo/Projection/cpp/main.cpp
 demo/Projection1D/cpp/main.cpp
 demo/ProjectionMixed/cpp/main.cpp
 demo/ProjectionTensor/cpp/main.cpp
 demo/ProjectionVector/cpp/main.cpp
 demo/SubDomains/cpp/main.cpp
 sandbox/demo/ElectroMechanics/cpp/main.cpp
 sandbox/demo/HarmonicMap/cpp/main.cpp
 sandbox/demo/HyperElasticityFung/cpp/main.cpp
 sandbox/demo/HyperElasticityModels/cpp/main.cpp
 sandbox/demo/HyperElasticitySVKTransient/cpp/main.cpp
 sandbox/dolfinbug/cpp/main.cpp
 sandbox/demo/DivMatrix/cpp/main.cpp
LGPL-2.1:
 demo/Advection-Diffusion/python/demo.py
 demo/LinearElasticity/python/demo.py
 demo/Poisson1D/python/demo.py
 demo/Poisson2D/python/demo.py
 tests/python/pydolfin/demo.py
 tests/python/verify_tensors/ufl/ffc_demo/QuadratureElement.ufl
 tests/python/verify_tensors/ufl/ufl_demo/QuadratureElement.ufl
 scons/simula-scons/simula_scons/pkgconfiggenerators/install_packages/hypre/hypre-configure
 scons/simula-scons/simula_scons/pkgconfiggenerators/install_packages/hypre/hypre-struct_overlap_innerprod.c
 demo/LinearElasticity/cpp/LinearElasticity.ufl
 demo/LinearElasticity/cpp/main.cpp
 demo/Poisson2D/python/demo.py
MIT:
 scons/simula-scons/*
BSD-C2:
 scons/simula-scons/simula_scons/ExtendedEnvironment.py
GPL-2:
 doc/manual/fenicsmanual.cls

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/syfi/trunk/debian/copyright

UFC
---

README file says:
 "The header file ufc.h and UFC Python utils are released into the
 public domain."
Wiki page says:
 "The UFC specification is released into the public domain."
Manual (doc/manual/chapters/license.tex) says:
 "The UFC specification, and in particular the header file ufc.h, is
 released into the public domain."

Files with different license:
LGPL-2.1:
 src/utils/python/ufc_utils/build.py
GPL-3+:
 src/utils/misc/makedist
GPL-2:
 doc/manual/code/Poisson.ufl
 doc/manual/fenicsmanual.cls
LGPL-2+:
 doc/manual/algorithm.sty

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/ufc/trunk/debian/copyright

UFL
---

README says nothing about license.
COPYING contains the GPL-3 license.
Manual (doc/manual/chapters/license.tex) says GPL-3+.
Most files contains a copyright header with GPL-3+.
Wiki page says GPL-3.

Files with different license:
LGPL-2.1:
 demo/QuadratureElement.ufl
GPL-2:
 doc/manual/fenicsmanual.cls
LGPL-2+:
 doc/manual/algorithm.sty

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/ufl/trunk/debian/copyright

Viper
-----

README says nothing about license.
COPYING contains LGPL-2.1.
No COPYING.LESSER file.
Manual (doc/manual/chapters/license.tex) says LGPL-2.1.
Wiki page says LGPL.

Files with different license:
GPL-2:
 doc/manual/fenicsmanual.cls

Copyright file in Debian:
 http://svn.debian.org/wsvn/debian-science/packages/fenics/viper/trunk/debian/copyright


Third party packages
--------------------
Boost
 License: Boost Software License
 GPL compatible: Yes
Armadillo
 License: LGPL-3+
LibXml2
 License: MIT
 GPL compatible: Yes
OpenMPI
 License: BSD
 GPL compatible: Yes
PETSc
 License: http://www.mcs.anl.gov/petsc/petsc-as/documentation/copyright.html
 GPL compatible: Yes
SLEPc
 License: LGPL-3
Trilinos
 License: LGPL-2.1+
MTL4
 License: https://svn.osl.iu.edu/tlc/trunk/mtl4/trunk/license.mtl.txt
 GPL compatible: ?
UMFPACK
 License: GPL-2+
CHOLMOD
 License: LGPL-2.1+ (some parts are GPL-2+)
SCOTCH
 License: CeCILL-C
 GPL compatible: Yes
ParMETIS
 License: non-free for commercial use
 GPL compatible: No
GMP
 License: GPL-3+
CGAL
 License: LGPL-2.1 (CORE is QPL but not used by DOLFIN)
 GPL compatible: QPL is not
zlib
 License: zlib License
 GPL compatible: Yes
Python
 License: http://docs.python.org/license.html
 GPL compatible: Yes
NumPy
 License: BSD
 GPL Compatible: Yes
SWIG
 License: GPL-3+
ScientificPython
 License: CeCILL-C
 GPL compatible: Yes
CMake
 License: BSD
 GPL compatible: Yes
Pkg-config
 License: GPL-2+
VTK
 License: BSD
 GPL compatible: Yes
SCons
 License: MIT
 GPL compatible: Yes
GiNaC
 License: GPL-2+
Swiginac
 License: GPL-2+

Follow ups