Skip to content

Commit 6469ca5

Browse files
authored
THIRDPARTY.md cleanup (#41674)
* Add LLVM project license text to src/disasm.cpp * Remove mention of third party code from header in src/jitlayers.cpp, since there are no markings of third party code in the actual source code. Update THIRDPARTY.md as well * More precise reference to source files using MUSL code in THIRDPARTY.md * Remove reference to joinpath in Python section of THIRDPARTY.md. The function does not appear to exist * Removed reference to cyclecount from THIRDPARTY.md since it does not apear to exist in the codebase * Remove reference to grisu from THIRDPARTY.md. This code was deleted a while ago * base/special/exp.jl was previously rewritten so that it no longer uses third party code. Remove reference from THIRDPARTY.md and add standard Julia header to exp.jl. See comments in #41095 * Add BSD-3 license to src/flisp * In THIRDPARTY.md, move FEMTOLISP reference to the third party code in src section. This is the proper location for the reference since the code is part of the Julia repository and not an external dependency * In THIRDPARTY.md, change the LIBUNWIND license link to the repository Julia actually pulls the dependency from * In THIRDPARTY.md, change the LIBUV license link to the repository Julia actually pulls the dependency from * Clearly mark references to LLVM open source license as UIUC not BSD-3. They are very similar but are recognized as different licenses. * In THIRDPARTY.md, change the DSFMT license link to the respository Julia actually pulls the code from. * In THIRDPARTY.md, change the MBEDTLS license link to the repository Julia actually pulls from. The license in that repo is Apache 2.0 only, which is the default for the project anyhow, so I removed mention of the alternate GPL licensing option * In THIRDPARTY.md, change the SUITESPARSE license link to the repository Julia pulls the dependency from. * Add missing reference to LIBBLASTRAMPOLINE in THIRDPARTY.md * Add missing reference to LIBWHICH in THIRDPARTY.md * Add missing reference to NGHTTP2 in THIRDPARTY.md * Add hyperlinks between LICENSE.md and THIRDPARTY.md * In THIRDPARTY.md, move LIBWHICH from stdlib dependencies to build tools
1 parent 59fe04f commit 6469ca5

File tree

6 files changed

+81
-20
lines changed

6 files changed

+81
-20
lines changed

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2323

2424
end of terms and conditions
2525

26-
Please see THIRDPARTY.md for license information for other software used in this project.
26+
Please see [THIRDPARTY.md](./THIRDPARTY.md) for license information for other software used in this project.

THIRDPARTY.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,52 @@
1-
The Julia language is licensed under the MIT License (see `LICENSE.md`). The "language" consists
1+
The Julia language is licensed under the MIT License (see [LICENSE.md](./LICENSE.md) ). The "language" consists
22
of the compiler (the contents of src/), most of the standard library (base/),
33
and some utilities (most of the rest of the files in this repository). See below
44
for exceptions.
55

66
- [crc32c.c](https://stackoverflow.com/questions/17645167/implementing-sse-4-2s-crc32c-in-software) (CRC-32c checksum code by Mark Adler) [[ZLib](https://opensource.org/licenses/Zlib)].
77
- [LDC](https://github.com/ldc-developers/ldc/blob/master/LICENSE) (for ccall/cfunction ABI definitions) [BSD-3]. The portion of code that Julia uses from LDC is [BSD-3] licensed.
8-
- [LLVM](https://releases.llvm.org/3.9.0/LICENSE.TXT) (for parts of src/jitlayers.cpp and src/disasm.cpp) [BSD-3, effectively]
9-
- [MUSL](https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT) (for getopt implementation on Windows) [MIT]
8+
- [LLVM](https://releases.llvm.org/3.9.0/LICENSE.TXT) (for parts of src/disasm.cpp) [UIUC]
9+
- [MUSL](https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT) (for src/getopt.c and src/getopt.h) [MIT]
1010
- [MINGW](https://sourceforge.net/p/mingw/mingw-org-wsl/ci/legacy/tree/mingwrt/mingwex/dirname.c) (for dirname implementation on Windows) [MIT]
1111
- [NetBSD](https://www.netbsd.org/about/redistribution.html) (for setjmp, longjmp, and strptime implementations on Windows) [BSD-3]
12-
- [Python](https://docs.python.org/3/license.html) (for strtod and joinpath implementation on Windows) [BSD-3, effectively]
13-
- [Google Benchmark](https://github.com/google/benchmark) (for cyclecount implementation) [Apache 2.0]
12+
- [Python](https://docs.python.org/3/license.html) (for strtod implementation on Windows) [PSF]
13+
- [FEMTOLISP](https://github.com/JeffBezanson/femtolisp) [BSD-3]
1414

1515
The following components included in Julia `Base` have their own separate licenses:
1616

1717
- base/ryu/* [Boost] (see [ryu](https://github.com/ulfjack/ryu/blob/master/LICENSE-Boost))
18-
- base/grisu/* [BSD-3] (see [double-conversion](https://github.com/google/double-conversion/blob/master/LICENSE))
19-
- base/special/{exp,rem_pio2,hyperbolic}.jl [Freely distributable with preserved copyright notice] (see [FDLIBM](https://www.netlib.org/fdlibm))
18+
- base/special/{rem_pio2,hyperbolic}.jl [Freely distributable with preserved copyright notice] (see [FDLIBM](https://www.netlib.org/fdlibm))
2019

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

24-
- [FEMTOLISP](https://github.com/JeffBezanson/femtolisp) [BSD-3]
25-
- [LIBUNWIND](https://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=blob_plain;f=LICENSE;hb=master) [MIT]
26-
- [LIBUV](https://github.com/joyent/libuv/blob/master/LICENSE) [MIT]
27-
- [LLVM](https://releases.llvm.org/6.0.0/LICENSE.TXT) [BSD-3, effectively]
23+
- [LIBUNWIND](https://github.com/libunwind/libunwind/blob/master/LICENSE) [MIT]
24+
- [LIBUV](https://github.com/JuliaLang/libuv/blob/julia-uv2-1.39.0/LICENSE) [MIT]
25+
- [LLVM](https://releases.llvm.org/6.0.0/LICENSE.TXT) [UIUC]
2826
- [UTF8PROC](https://github.com/JuliaStrings/utf8proc) [MIT]
2927

3028
Julia's `stdlib` uses the following external libraries, which have their own licenses:
3129

32-
- [DSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/LICENSE.txt) [BSD-3]
30+
- [DSFMT](https://github.com/MersenneTwister-Lab/dSFMT/blob/master/LICENSE.txt) [BSD-3]
3331
- [OPENLIBM](https://github.com/JuliaMath/openlibm/blob/master/LICENSE.md) [MIT, BSD-2, ISC]
3432
- [GMP](https://gmplib.org/manual/Copying.html#Copying) [LGPL3+ or GPL2+]
3533
- [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING) [GPL2+ with unlimited linking exception]
3634
- [CURL](https://curl.haxx.se/docs/copyright.html) [MIT/X derivative]
3735
- [LIBSSH2](https://github.com/libssh2/libssh2/blob/master/COPYING) [BSD-3]
38-
- [MBEDTLS](https://tls.mbed.org/how-to-get) [either GPLv2 or Apache 2.0]
36+
- [MBEDTLS](https://github.com/ARMmbed/mbedtls/blob/development/LICENSE) [Apache 2.0]
3937
- [MPFR](https://www.mpfr.org/mpfr-current/mpfr.html#Copying) [LGPL3+]
4038
- [OPENBLAS](https://raw.github.com/xianyi/OpenBLAS/master/LICENSE) [BSD-3]
4139
- [LAPACK](https://netlib.org/lapack/LICENSE.txt) [BSD-3]
4240
- [PCRE](https://www.pcre.org/licence.txt) [BSD-3]
43-
- [SUITESPARSE](http://suitesparse.com) [mix of LGPL2+ and GPL2+; see individual module licenses]
41+
- [SUITESPARSE](https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/master/LICENSE.txt) [mix of LGPL2+ and GPL2+; see individual module licenses]
42+
- [LIBBLASTRAMPOLINE](https://github.com/staticfloat/libblastrampoline/blob/main/LICENSE) [MIT]
43+
- [NGHTTP2](https://github.com/nghttp2/nghttp2/blob/master/COPYING) [MIT]
4444

4545
Julia's build process uses the following external tools:
4646

4747
- [PATCHELF](https://nixos.org/patchelf.html)
4848
- [OBJCONV](https://www.agner.org/optimize/#objconv)
49+
- [LIBWHICH](https://github.com/vtjnash/libwhich/blob/master/LICENSE) [MIT]
4950

5051
Julia bundles the following external programs and libraries:
5152

base/special/exp.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# This file is a part of Julia. License is MIT: https://julialang.org/license
2+
13
# magic rounding constant: 1.5*2^52 Adding, then subtracting it from a float rounds it to an Int.
24
# This works because eps(MAGIC_ROUND_CONST(T)) == one(T), so adding it to a smaller number aligns the lsb to the 1s place.
35
# Values for which this trick doesn't work are going to have outputs of 0 or Inf.

src/disasm.cpp

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,45 @@
55
//
66
// Original copyright:
77
//
8-
// The LLVM Compiler Infrastructure
8+
// University of Illinois/NCSA
9+
// Open Source License
10+
// Copyright (c) 2003-2016 University of Illinois at Urbana-Champaign.
11+
// All rights reserved.
912
//
10-
// This file is distributed under the University of Illinois Open Source
11-
// License. See LICENSE.TXT for details.
13+
// Developed by:
1214
//
15+
// LLVM Team
16+
//
17+
// University of Illinois at Urbana-Champaign
18+
//
19+
// http://llvm.org
20+
//
21+
// Permission is hereby granted, free of charge, to any person obtaining a copy of
22+
// this software and associated documentation files (the "Software"), to deal with
23+
// the Software without restriction, including without limitation the rights to
24+
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
25+
// of the Software, and to permit persons to whom the Software is furnished to do
26+
// so, subject to the following conditions:
27+
//
28+
// * Redistributions of source code must retain the above copyright notice,
29+
// this list of conditions and the following disclaimers.
30+
//
31+
// * Redistributions in binary form must reproduce the above copyright notice,
32+
// this list of conditions and the following disclaimers in the
33+
// documentation and/or other materials provided with the distribution.
34+
//
35+
// * Neither the names of the LLVM Team, University of Illinois at
36+
// Urbana-Champaign, nor the names of its contributors may be used to
37+
// endorse or promote products derived from this Software without specific
38+
// prior written permission.
39+
//
40+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
41+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
42+
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
43+
// CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
44+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
45+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
46+
// SOFTWARE.
1347
//===----------------------------------------------------------------------===//
1448
//
1549
// This class implements a disassembler of a memory block, given a function

src/flisp/LICENSE

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Copyright (c) 2009 Jeff Bezanson
2+
3+
All rights reserved.
4+
5+
Redistribution and use in source and binary forms, with or without
6+
modification, are permitted provided that the following conditions are met:
7+
8+
* Redistributions of source code must retain the above copyright notice,
9+
this list of conditions and the following disclaimer.
10+
* Redistributions in binary form must reproduce the above copyright notice,
11+
this list of conditions and the following disclaimer in the documentation
12+
and/or other materials provided with the distribution.
13+
* Neither the author nor the names of any contributors may be used to
14+
endorse or promote products derived from this software without specific
15+
prior written permission.
16+
17+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
21+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

src/jitlayers.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
// This file is a part of Julia. License is MIT: https://julialang.org/license
22

3-
// Except for parts of this file which were copied from LLVM, under the UIUC license (marked below).
4-
53
#include "llvm-version.h"
64
#include "platform.h"
75

0 commit comments

Comments
 (0)