ASE is released under the GNU Lesser General Public License (LGPL).
In short, this means
- NO WARRANTY: We provide the code free of charge. You cannot sue
us if it does not work, gives wrong results, or even if it damages
your computer and/or scientific reputation.
- You may use the code for whatever you like. You may study and modify it.
- You may distribute distribute modified or unmodified versions of ASE
as long as you do it under the LGPL (or GPL) licence. You may
distribute unmodified versions of ASE together with software under
other licences (even commercial) as long as ASE itself is clearly
identified as being under the LGPL, but if you modify ASE for such
purposes you are required to make the modifications available under
the LGPL.
Note that we appreciate that you send modifications, bug fixes and
improvements back to us instead of just distributing them, but the
license has no such requirements.
You can read more about the LGPL on Wikipedia.
We are sometimes asked if it is problematic to use ASE together with
calculators under other licenses, for example GPL. It is clear that a
program under the GPL can use a library under the LGPL, whereas a
program under the LGPL cannot be derived from (and link) a library
under the GPL. Does this cause a problem if someone uses ASE with a
calculator such as GPAW licensed under the GPL? We do not think so,
for the following reasons:
- The LGPL and GPL do not limit how you use the codes, only how
you distribute them.
- ASE does not require any specific calculator to function, but many
calculators require ASE to function, supporting the interpretation
that ASE is a library for the calculator.
- Although ASE includes a few cases where it imports calculators such
as GPAW and Asap, these can be regarded as “hooks” helping ASE to
support these calculators, ASE does not depend on these calculators
for its functionality.
- The LGPL / GPL concept of “derived work” relies on the concept of
“linking” which only makes sense in compiled languages. It is
generally agreed that it is unproblematic when an interpreted
language uses different modules under different licenses. See e.g.
this statement by Fedora: Mere use of independent modules in a
true interpreted language environment (like Perl or Python) is not a
situation where Fedora is generally concerned about license
compatibility, as long as those multiply licensed modules are not
compiled together into a single binary and there is no code copying
between the two.
- The actual executable doing the linkage is not ASE, but Python.
However, nobody doubts that it is OK for Python (which has a very
permissible license) to load modules licensed under the GPL. Probably
because of point 1 above.
- Point 5 is not valid when running parallel GPAW or Asap
calculations. In these cases GPAW and Asap provide specially built
Python executables with the GPAW or Asap code built-in, i.e. derived
work based on Python but licensed under the GPL (or LGPL for Asap).
In these cases it is absolutely clear that it is GPAW or Asap
loading ASE, not the other way around; so there are no problems.