Skip to content

Commit

Permalink
Annotate all of the external library license links
Browse files Browse the repository at this point in the history
  • Loading branch information
ihnorton committed Apr 15, 2015
1 parent c722b5d commit d2ee85d
Showing 1 changed file with 23 additions and 23 deletions.
46 changes: 23 additions & 23 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,38 +28,38 @@ for exceptions.
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Julia includes code from the following projects, which have their own licenses:
- [LDC](https://github.com/ldc-developers/ldc/blob/master/LICENSE) (for ccall/cfunction ABI definitions)
- [MUSL](http://git.musl-libc.org/cgit/musl/tree/COPYRIGHT) (for getopt implementations on Windows)
- [NetBSD](http://www.netbsd.org/about/redistribution.html) (for setjmp/longjmp implementations on Windows)
- [LDC](https://github.com/ldc-developers/ldc/blob/master/LICENSE) (for ccall/cfunction ABI definitions) [BSD-3]
- [MUSL](http://git.musl-libc.org/cgit/musl/tree/COPYRIGHT) (for getopt implementations on Windows) [MIT]
- [NetBSD](http://www.netbsd.org/about/redistribution.html) (for setjmp/longjmp implementations on Windows) [BSD-3]

The Julia language links to the following external libraries, which have their
own licenses:

- [FEMTOLISP](https://github.com/JeffBezanson/femtolisp)
- [LIBUNWIND](http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob_plain;f=LICENSE;hb=master)
- [LIBUV](https://github.com/joyent/libuv/blob/master/LICENSE)
- [LLVM](http://llvm.org/releases/3.3/LICENSE.TXT)
- [LIBMOJIBAKE](https://github.com/JuliaLang/libmojibake)
- [FEMTOLISP](https://github.com/JeffBezanson/femtolisp) [BSD-3]
- [LIBUNWIND](http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob_plain;f=LICENSE;hb=master) [MIT]
- [LIBUV](https://github.com/joyent/libuv/blob/master/LICENSE) [MIT]
- [LLVM](http://llvm.org/releases/3.3/LICENSE.TXT) [BSD-3, effectively]
- [UTF8PROC](https://github.com/JuliaLang/libmojibake) [MIT]


Julia's standard library uses the following external libraries, which have
their own licenses:

- [AMOS](http://www.netlib.org/slatec/guide)
- [ARPACK](http://www.caam.rice.edu/software/ARPACK/RiceBSD.txt#LICENSE)
- [ATLAS](http://math-atlas.sourceforge.net/faq.html#license)
- [DSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/LICENSE.txt)
- [OPENLIBM](https://github.com/JuliaLang/openlibm/blob/master/LICENSE.md)
- [OPENSPECFUN](https://github.com/JuliaLang/openspecfun)
- [FADDEEVA](http://ab-initio.mit.edu/Faddeeva)
- [FFTW](http://fftw.org/doc/License-and-Copyright.html)
- [GMP](http://gmplib.org/manual/Copying.html#Copying)
- [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING)
- [MPFR](http://www.mpfr.org/mpfr-current/mpfr.html#Copying)
- [OPENBLAS](https://raw.github.com/xianyi/OpenBLAS/master/LICENSE)
- [LAPACK](http://netlib.org/lapack/LICENSE.txt)
- [PCRE](http://www.pcre.org/licence.txt)
- [SUITESPARSE](http://faculty.cse.tamu.edu/davis/suitesparse.html)
- [AMOS](http://www.netlib.org/slatec/guide) [public domain]
- [ARPACK](http://www.caam.rice.edu/software/ARPACK/RiceBSD.txt#LICENSE) [BSD-3]
- [ATLAS](http://math-atlas.sourceforge.net/faq.html#license) [BSD-3]
- [DSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/LICENSE.txt) [BSD-3]
- [OPENLIBM](https://github.com/JuliaLang/openlibm/blob/master/LICENSE.md) [MIT, BSD-2, ISC]
- [OPENSPECFUN](https://github.com/JuliaLang/openspecfun) [MIT, public domain]
- [FADDEEVA](http://ab-initio.mit.edu/Faddeeva) [MIT]
- [FFTW](http://fftw.org/doc/License-and-Copyright.html) [GPL2+]
- [GMP](http://gmplib.org/manual/Copying.html#Copying) [LGPL3+, GPL2+]
- [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING) [GPL2+ with unlimited linking exception]
- [MPFR](http://www.mpfr.org/mpfr-current/mpfr.html#Copying) [LGPL3+]
- [OPENBLAS](https://raw.github.com/xianyi/OpenBLAS/master/LICENSE) [BSD-3]
- [LAPACK](http://netlib.org/lapack/LICENSE.txt) [BSD-3]
- [PCRE](http://www.pcre.org/licence.txt) [BSD-3]
- [SUITESPARSE](http://faculty.cse.tamu.edu/davis/suitesparse.html) [LGPL2+]

This comment has been minimized.

Copy link
@StefanKarpinski

StefanKarpinski Apr 15, 2015

Member

Aren't parts of this GPL? Are we not using any of the GPL parts?

This comment has been minimized.

Copy link
@ihnorton

ihnorton Apr 15, 2015

Author Member

Right, missed that. Added note.

This comment has been minimized.

Copy link
@ihnorton

ihnorton Apr 15, 2015

Author Member

We're at least using SPQR which is GPL, didn't check further.

This comment has been minimized.

Copy link
@andreasnoack

andreasnoack Apr 15, 2015

Member

It is quite complicated because all the packages of the SuiteSparse have different licenses and even the modules of e.g. CHOLMOD have different licenses. I'll try to compile a list of what we are using and the licenses.

This comment has been minimized.

Copy link
@ihnorton

ihnorton Apr 15, 2015

Author Member

Here's the Debian license summary, in case it helps: https://launchpad.net/ubuntu/vivid/+source/suitesparse/+copyright

This comment has been minimized.

Copy link
@andreasnoack

andreasnoack Apr 15, 2015

Member

Thanks. It helped a lot. We are using many of the GPL parts and it is not really feasible to restrict the use to the LGPL parts. If we want the GPL parts out of Base, we should probably consider doing it as part of 0.4.



The following components of Julia's standard library have separate licenses:
Expand Down

4 comments on commit d2ee85d

@StefanKarpinski
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding these annotations, @ihnorton – very helpful.

@sebastiang
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed!

@ihnorton
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any specific reason to list patchelf and objconv? To me they fall in the same category as gcc or make.

@tkelman
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think they're fine under the separate "Julia's build process uses the following external tools" section. Unlike gcc or make, our build process downloads and installs them when necessary, so I think they're worth mentioning.

Please sign in to comment.