Human-readable version

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.

What happens when ASE Calculators are under another license?

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:

  1. The LGPL and GPL do not limit how you use the codes, only how you distribute them.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.