Subject: [Syfi] [[email-masked]: [Branch ~syfi-core/fenics-syfi/main] Rev 516: Move to LGPL v3 (or later). I don't know if it makes sense since GiNaC is GPL v2 (or later), but ...]

From: Anders Logg <[email-masked]>
Date: Wed, 1 Jun 2011 14:35:20 +0200

It's not allowed. Ginac is GPL which means SyFi must also be GPL.  I
haven't thought of that.

I don't know if it has any implications for using SyFi from DOLFIN,
but it might work if the user handles the choice of form compiler.

--
Anders

Subject: [Branch ~syfi-core/fenics-syfi/main] Rev 516: Move to LGPL v3 (or later). I don't know if it makes sense since GiNaC is GPL v2 (or later), but ...
From: [email-masked]
To: Anders Logg <[email-masked]>
Date: Wed, 01 Jun 2011 12:13:25 -0000

------------------------------------------------------------
revno: 516
committer: Johannes Ring <[email-masked]>
branch nick: syfi
timestamp: Wed 2011-06-01 14:11:01 +0200
message:
  Move to LGPL v3 (or later). I don't know if it makes sense since GiNaC is GPL v2 (or later), but IANAL.
added:
  COPYING.LESSER
modified:
  AUTHORS
  COPYING
  ChangeLog
  README
  demo/Advection-Diffusion/python/demo.py
  demo/Elements/cpp/main.cpp
  demo/HyperElasticity1D/cpp/main.cpp
  demo/HyperElasticityMooneyRivlin/cpp/main.cpp
  demo/HyperElasticitySVK/cpp/main.cpp
  demo/LinearElasticity/cpp/LinearElasticity.ufl
  demo/LinearElasticity/cpp/main.cpp
  demo/LinearElasticity/python/demo.py
  demo/Poisson1D/cpp/main.cpp
  demo/Poisson1D/python/demo.py
  demo/Poisson2D/cpp/main.cpp
  demo/Poisson2D/python/demo.py
  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/DivMatrix/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
  site-packages/sfc/codegeneration/cellintegralcg.py
  site-packages/sfc/codegeneration/codeformatting.py
  site-packages/sfc/codegeneration/codegeneration.py
  site-packages/sfc/codegeneration/dofmapcg.py
  site-packages/sfc/codegeneration/exteriorfacetintegralcg.py
  site-packages/sfc/codegeneration/finiteelementcg.py
  site-packages/sfc/codegeneration/formcg.py
  site-packages/sfc/codegeneration/integralcg.py
  site-packages/sfc/codegeneration/interiorfacetintegralcg.py
  site-packages/sfc/common/ParameterDict.py
  site-packages/sfc/common/names.py
  site-packages/sfc/common/options.py
  site-packages/sfc/common/output.py
  site-packages/sfc/common/utilities.py
  site-packages/sfc/dofcode/__init__.py
  site-packages/sfc/geometry/UFCCell.py
  site-packages/sfc/geometry/affine_map.py
  site-packages/sfc/geometry/mappings.py
  site-packages/sfc/jit.py
  site-packages/sfc/quadrature/QuadRule.py
  site-packages/sfc/quadrature/__init__.py
  site-packages/sfc/quadrature/quad_tables.py
  site-packages/sfc/quadrature/quadrature.py
  site-packages/sfc/quadrature/quadrature_code.py
  site-packages/sfc/representation/cellintegralrepresentation.py
  site-packages/sfc/representation/elementrepresentation.py
  site-packages/sfc/representation/exteriorfacetintegralrepresentation.py
  site-packages/sfc/representation/formrepresentation.py
  site-packages/sfc/representation/integralrepresentation.py
  site-packages/sfc/representation/interiorfacetintegralrepresentation.py
  site-packages/sfc/representation/swiginac_eval.py
  site-packages/sfc/symbolic_utils/integration.py
  site-packages/sfc/symbolic_utils/symbol_factory.py
  site-packages/sfc/symbolic_utils/symbolic_utils.py
  syfi/ArnoldFalkWintherWeakSym.cpp
  syfi/ArnoldFalkWintherWeakSym.h
  syfi/BrezziDouglasMarini.cpp
  syfi/BrezziDouglasMarini.h
  syfi/Bubble.cpp
  syfi/Bubble.h
  syfi/CrouzeixRaviart.cpp
  syfi/CrouzeixRaviart.h
  syfi/DiscontinuousLagrange.cpp
  syfi/DiscontinuousLagrange.h
  syfi/Dof.cpp
  syfi/Dof.h
  syfi/DofT.h
  syfi/Dof_OrderedPtvSet.cpp
  syfi/Dof_OrderedPtvSet.h
  syfi/Dof_Ptv.cpp
  syfi/Dof_Ptv.h
  syfi/ElementComputations.cpp
  syfi/ElementComputations.h
  syfi/FE.cpp
  syfi/FE.h
  syfi/Hermite.cpp
  syfi/Hermite.h
  syfi/Lagrange.cpp
  syfi/Lagrange.h
  syfi/MixedFE.cpp
  syfi/MixedFE.h
  syfi/Nedelec.cpp
  syfi/Nedelec.h
  syfi/Nedelec2Hdiv.cpp
  syfi/Nedelec2Hdiv.h
  syfi/OrderedPtvSet.cpp
  syfi/OrderedPtvSet.h
  syfi/P0.cpp
  syfi/P0.h
  syfi/Polygon.cpp
  syfi/Polygon.h
  syfi/Ptv.cpp
  syfi/Ptv.h
  syfi/Ptv_tools.cpp
  syfi/Ptv_tools.h
  syfi/RaviartThomas.cpp
  syfi/RaviartThomas.h
  syfi/Robust.cpp
  syfi/Robust.h
  syfi/SpaceTimeElement.cpp
  syfi/SpaceTimeElement.h
  syfi/SyFi.h
  syfi/containers.h
  syfi/diff_tools.cpp
  syfi/diff_tools.h
  syfi/ginac_tools.cpp
  syfi/ginac_tools.h
  syfi/symbol_factory.cpp
  syfi/symbol_factory.h
  syfi/tools.h
  syfi/utilities.cpp
  syfi/utilities.h
  tests/python/code_generation_lab/ufl/functionals/Interval.ufl
  tests/python/code_generation_lab/ufl/functionals/Tetrahedron.ufl
  tests/python/code_generation_lab/ufl/functionals/Triangle.ufl
  tests/python/pydolfin/demo.py
  tests/python/verify_tensors/ufl/ffc_demo/Constant.ufl
  tests/python/verify_tensors/ufl/ffc_demo/Elasticity.ufl
  tests/python/verify_tensors/ufl/ffc_demo/EnergyNorm.ufl
  tests/python/verify_tensors/ufl/ffc_demo/Equation.ufl
  tests/python/verify_tensors/ufl/ffc_demo/FunctionOperators.ufl
  tests/python/verify_tensors/ufl/ffc_demo/Heat.ufl
  tests/python/verify_tensors/ufl/ffc_demo/Mass.ufl
  tests/python/verify_tensors/ufl/ffc_demo/MixedMixedElement.ufl
  tests/python/verify_tensors/ufl/ffc_demo/MixedPoisson.ufl
  tests/python/verify_tensors/ufl/ffc_demo/NavierStokes.ufl
  tests/python/verify_tensors/ufl/ffc_demo/NeumannProblem.ufl
  tests/python/verify_tensors/ufl/ffc_demo/Optimization.ufl
  tests/python/verify_tensors/ufl/ffc_demo/P5tet.ufl
  tests/python/verify_tensors/ufl/ffc_demo/P5tri.ufl
  tests/python/verify_tensors/ufl/ffc_demo/Poisson.ufl
  tests/python/verify_tensors/ufl/ffc_demo/PoissonDG.ufl
  tests/python/verify_tensors/ufl/ffc_demo/PoissonSystem.ufl
  tests/python/verify_tensors/ufl/ffc_demo/QuadratureElement.ufl
  tests/python/verify_tensors/ufl/ffc_demo/Stokes.ufl
  tests/python/verify_tensors/ufl/ffc_demo/SubDomain.ufl
  tests/python/verify_tensors/ufl/ffc_demo/SubDomains.ufl
  tests/python/verify_tensors/ufl/ffc_demo/TensorWeightedPoisson.ufl
  tests/python/verify_tensors/ufl/ffc_demo/VectorLaplaceGradCurl.ufl
  tests/python/verify_tensors/ufl/functionals/Interval.ufl
  tests/python/verify_tensors/ufl/functionals/Tetrahedron.ufl
  tests/python/verify_tensors/ufl/functionals/Triangle.ufl
  tests/python/verify_tensors/ufl/ufl_demo/Constant.ufl
  tests/python/verify_tensors/ufl/ufl_demo/EnergyNorm.ufl
  tests/python/verify_tensors/ufl/ufl_demo/Equation.ufl
  tests/python/verify_tensors/ufl/ufl_demo/FunctionOperators.ufl
  tests/python/verify_tensors/ufl/ufl_demo/Heat.ufl
  tests/python/verify_tensors/ufl/ufl_demo/Mass.ufl
  tests/python/verify_tensors/ufl/ufl_demo/MixedMixedElement.ufl
  tests/python/verify_tensors/ufl/ufl_demo/MixedPoisson.ufl
  tests/python/verify_tensors/ufl/ufl_demo/NavierStokes.ufl
  tests/python/verify_tensors/ufl/ufl_demo/NeumannProblem.ufl
  tests/python/verify_tensors/ufl/ufl_demo/P5tet.ufl
  tests/python/verify_tensors/ufl/ufl_demo/P5tri.ufl
  tests/python/verify_tensors/ufl/ufl_demo/Poisson.ufl
  tests/python/verify_tensors/ufl/ufl_demo/PoissonDG.ufl
  tests/python/verify_tensors/ufl/ufl_demo/PoissonSystem.ufl
  tests/python/verify_tensors/ufl/ufl_demo/QuadratureElement.ufl
  tests/python/verify_tensors/ufl/ufl_demo/Stokes.ufl
  tests/python/verify_tensors/ufl/ufl_demo/SubDomain.ufl
  tests/python/verify_tensors/ufl/ufl_demo/SubDomains.ufl
  tests/python/verify_tensors/ufl/ufl_demo/TensorWeightedPoisson.ufl
  tests/python/verify_tensors/ufl/ufl_demo/VectorLaplaceGradCurl.ufl
The size of the diff (6061 lines) is larger than your specified limit of 1000 lines

--
lp:fenics-syfi
https://code.launchpad.net/~syfi-core/fenics-syfi/main

Your team SyFi Core Team is subscribed to branch lp:fenics-syfi.
To unsubscribe from this branch go to https://code.launchpad.net/~syfi-core/fenics-syfi/main/+edit-subscription

---

From: Martin Sandve Alnæs <[email-masked]>
Date: Wed, 1 Jun 2011 14:42:51 +0200

> but it might work if the user handles the choice of form compiler.

Dolfin has no dependencies to syfi, that can't possibly be a problem.
If I make a library that happens to fit the interfaces in your software,
you can't be legally bound by what I did...

Clearly, SyFi must be GPL, and I guess swiginac as well.
Since sfc uses swiginac and SyFi from python, does it have
to be GPL as well?

Martin

> --
> Anders
>
>
> ---------- Forwarded message ----------
> _______________________________________________
> Mailing list: https://launchpad.net/~syfi
> Post to     : [email-masked]
> Unsubscribe : https://launchpad.net/~syfi
> More help   : https://help.launchpad.net/ListHelp
>
>

---

From: Anders Logg <[email-masked]>
Date: Wed, 1 Jun 2011 14:48:51 +0200

> you can't be legally bound by what I did...

DOLFIN does this:

form_compiler = __import__(form_compiler_name)

where form_compiler_name can be "sfc". Since DOLFIN does not set this
name to be "sfc", I think it should be ok.

On the other hand, I doubt this would be ok:

form_compiler_name = "sfc"
form_compiler = __import__(form_compiler_name)

> Since sfc uses swiginac and SyFi from python, does it have

I think so, if somewhere in sfc you have "import syfi".

--
Anders

---

From: Martin Sandve Alnæs <[email-masked]>
Date: Mon, 6 Jun 2011 11:44:07 +0200

> I think so, if somewhere in sfc you have "import syfi".

All over the place. Also import swiginac, which is obviously a
derivative work of ginac.

We've reverted to GPL now in SyFi and SFC.

Martin