← Back to team overview

syfi team mailing list archive

Re: [noreply@xxxxxxxxxxxxx: [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 ...]

 

On Wed, Jun 01, 2011 at 02:42:51PM +0200, Martin Sandve Alnæs wrote:
> On 1 June 2011 14:35, Anders Logg <logg@xxxxxxxxx> wrote:
> > 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.
>
> 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...

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)

> 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?

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

--
Anders


> Martin
>
> >
> >
> > ---------- Forwarded message ----------
> > From: noreply@xxxxxxxxxxxxx
> > To: Anders Logg <logg@xxxxxxxxx>
> > Date: Wed, 01 Jun 2011 12:13:25 -0000
> > 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 ...
> > ------------------------------------------------------------
> > revno: 516
> > committer: Johannes Ring <johannr@xxxxxxxxx>
> > 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
> >
> >
> > 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
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~syfi
> > Post to     : syfi@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~syfi
> > More help   : https://help.launchpad.net/ListHelp
> >
> >


Follow ups

References