Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WORKSPACE license tracker #4045

Closed
jamiesnape opened this issue Nov 7, 2016 · 14 comments
Closed

WORKSPACE license tracker #4045

jamiesnape opened this issue Nov 7, 2016 · 14 comments
Assignees
Labels
component: distribution Nightly binaries, monthly releases, docker, installation unused team: kitware

Comments

@jamiesnape
Copy link
Contributor

jamiesnape commented Nov 7, 2016

This is a tracked issue and is kept open to permit cross-references and ensure that we actively monitor licenses.


Toward #1766.

^^ - GPL
^ - LGPL
! - Restricted
$ - System
???? - Unclear / Unknown [See Notes]

C / C++

$ blas (for dreal, scs): BSD-3-Clause
$ boost (for sdformat, yaml_cpp): BSL-1.0
^ bullet: Zlib AND (BSD-3-Clause OR LGPL-2.1+ OR Zlib)
$ bz2 (for freetype, ibex): bzip2-1.0.6
ccd: BSD-3-Clause
$ clp (for ibex): EPL-1
$ coinutils (for ibex): EPL-1
^^ com_jidesoft_jide_oss (for net_sf_jchart2d): GPL-2.0 WITH Classpath-exception-2.0
com_kitware_gitlab_cmake_cmake: BSD-3-Clause
commons_io (for net_sf_jchart2d): Apache-2.0
drake: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ~~~MIT ????~~~ AND PATH EULA AND Zlib [Note A]
^ drake_visualizer: Apache-2.0 AND BSD-3-Clause AND LGPL-2.1+
dreal: Apache-2.0
^ eigen (also for drake_visualizer, fcl, pybind11): BSD-3-Clause AND ~~~LGPL-2.1+ ???? AND LGPL-3.0+ ????~~~ AND MPL-2.0 AND Public-Domain
$ expat (for vtk): MIT
fcl: BSD-3-Clause
fmt (also for spdlog): BSD-2-Clause
$ freetype BSD-2-Clause AND BSD-3-Clause AND (GPL-2.0+ OR FTL)
$ gflags: BSD-3-Clause
$ glew (for vtk): BSD-3-Clause AND MIT
$ glib (for lcm): LGPL-2.0+
godotengine: Apache-2.0 AND BSD-3-Clause AND ISC AND MIT AND Public-Domain AND Zlib
gtest: BSD-3-Clause
$ gthread (unused?): LGPL-2.0+
! gurobi: Gurobi EULA
^ ibex (for dreal): LGPL-3.0 [Note B]
ignition_math (also for ignition_rndf, sdformat): Apache-2.0
ignition_rndf: Apache-2.0
$ ipopt: CPL-1.0 AND Public-Domain
json: MIT
$ lapack (for dreal, scs): BSD-3-Clause
^ lcm (also for drake_visualizer, lcmtypes_bot2_core, lcmtypes_robotlocomotion, optitrack_driver): BSD-3-Clause AND LGPL-2.1 AND LGPL-2.1+ [Note C]
lcmtypes_bot2_core: BSD-3-Clause AND ???? [Note D]
lcmtypes_robotlocomotion: BSD-3-Clause
$ liblz4 (for vtk): BSD-2-Clause
$ libpng (for freetype, gotdotengine, vtk): Libpng
! mosek: fplib AND MOSEK EULA AND Zlib
^ net_sf_jchart2d (for lcm): LGPL-3.0+
$ ^ nlopt (also for dreal): BSD-3-Clause AND LGPL-2.1+ AND MIT
octomap (for fcl): BSD-3-Clause
optitrack_driver: BSD-3-Clause
org_apache_xmlgraphics_commons (for net_sf_jchart2d): Apache-2.0
osqp: Apache-2.0
$ protobuf: BSD-3-Clause
^ scs: LGPL-2.1+ AND MIT [Note E]
sdformat: Apache-2.0 AND BSD-3-Clause
! snopt: SNOPT EULA [Note F]
spdlog: BSD-2-Clause AND MIT
spruce: BSD-3-Clause
stx: BSL-1.0
tinydir: BSD-2-Clause
tinyobjloader: MIT
$ tinyxml (for sdformat): Zlib
$ tinyxml2: Zlib
vtk: BSD-3-Clause AND GL2PS AND MIT AND Public-Domain
$ yaml_cpp: X11
$ zlib (also for dreal, freetype, godotengine, protobuf, vtk): Zlib

MATLAB

! $ matlab: MATLAB EULA

Python

$ matplotlib: matplotlib
$ numpy: BSD-2-Clause AND BSD-3-Clause AND MIT AND Public-Domain AND Python-2.0 AND ????
pybind11: BSD-3-Clause with Extra Paragraph
$ python: Python-2.0
$ ^^ lxml (for drake_visualizer): BSD-3-Clause AND GPL-2.0 AND ZPL-2.0
$ ^ pygame: LGPL-2.1
$ pyyaml: MIT

Build-Time Only

$ bazel: Apache-2.0
buildifier: Apache-2.0
$ clang-format: MIT AND NCSA
$ cmake: BSD-3-Clause
com_github_bazelbuild_bazel: Apache-2.0
$ ^^ kcov: GPL-2.0
$ ^^ patchelf: GPL-3.0+
pycodestyle: MIT
$ ^ pycps LGPL-3.0+
$ semantic_version: BSD-2-Clause
$ sphinx: BSD-2-Clause AND BSD-3-Clause AND MIT
styleguide: BSD-3-Clause
$ ^^ valgrind: GPL-2.0

Examples

-- none --

ROS

-- none --

VTK

$ hdf5: HDF
$ jpeg: jpeg
$ jsoncpp: Public-Domain OR MIT
$ libharu: Zlib
$ libogg (also for theora): BSD-3-Clause
$ libtiff: libtiff
$ libxml2: MIT
$ netcdf: NetCDF
$ qt (also for drake_visualizer): LGPL-3.0+
$ theora: BSD-3-Clause

Removed

^^ avl: LGPL-2.0+ AND GPL-2.0+
ctk_python_console: Apache-2.0
^ director: Apache-2.0 AND BSD-3-Clause AND LGPL-2.1+
^^ dreal: Apache-2.0 AND GPL-2.0+ AND GPL-3.0+ AND LGPL-2.0+ AND LGPL-3.0+ AND MIT
! iris: BSD-2-Clause AND BSD-3-Clause AND Jacob Mattingley Non-Commercial AND MIT AND MOSEK Non-Commercial
kythe: Apache-2.0
^^ ^ libbot: GPL-2.0+ AND LGPL-2.1+ AND LGPL-3.0+ AND MIT AND Public-Domain AND Radford Neal Attribution
LittleDog: ????
^ meshconverters: BSD-3-Clause AND LGPL-2.1+ ???? AND LGPL-3.0+ ???? AND MPL-2.0 AND Public-Domain [Note G]
^ pythonqt: LGPL-2.1+
qt_property_browser: BSD-3-Clause
^^ sedumi: GPL-2.0+
signalscope: BSD-3-Clause
six: MIT
spotless: ???? [Note H]
^^ swig_matlab: GPL-2.0+ AND GPL-3.0+ AND Ariz. Board Regents AND Univ. Chicago AND Univ. Utah/Regents Univ. Calif.
swigmake: BSD-3-Clause AND MIT
^^ xfoil: LGPL-2.0+ AND GPL-2.0+
! yalmip: YALMIP Attribution Non-Commercial

Notes

[A] PATH is MATLAB only.
[B] Does not state "or later" for LGPL 3.0 licensed code.
[C] Does not state "or later" for LGPL 2.1 licensed code.
[D] Only code derived from CMake is licensed. No license is specified on most code.
[E] LGPL 2.1+ licensed code used by direct linear system solver only.
[F] May be statically linked, but libraries may not be distributed.
[G] Contains code from Eigen 3.
[H] No license is specified on any code.

E&OE

@jamiesnape jamiesnape self-assigned this Nov 7, 2016
@jwnimmer-tri
Copy link
Collaborator

BTW, this is a really helpful list, and I'm very glad to see it captured.

@jamiesnape
Copy link
Contributor Author

@liangfok Could you confirm that drake_cars_examples is supposed to be MIT licensed?

https://github.com/RobotLocomotion/drake/blob/master/ros/drake_cars_examples/package.xml#L15

@RussTedrake
Copy link
Contributor

@jamiesnape -- can you mark up where the BSD-2 and Zlib are coming from in drake?
The PATH solver is only being used in the matlab examples, so can be avoided in a non-matlab distribution.

@jwnimmer-tri
Copy link
Collaborator

I think the drake line in the OP also includes the licenses of https://github.com/RobotLocomotion/drake/tree/master/drake/thirdParty which explains the BSD-2 and ZLib. Or are you saying you'd like that directory manifest itemized in the OP for clarity?

@liangfok
Copy link
Contributor

@jamiesnape I think drake_cars_examples should share the same license as Drake itself, meaning BSD. I'll submit a PR with the fix.

@jamiesnape
Copy link
Contributor Author

The alternative licensed code is mostly in thirdParty, yes. There is also BSD-3-Clause code in the cmake that comes from CMake itself.

@jamiesnape
Copy link
Contributor Author

jamiesnape commented Nov 10, 2016

@liangfok specify BSD-3-Clause (use the SPDX identifier). BSD is ambiguous, with anything from 0 to 4 clauses.

@RussTedrake
Copy link
Contributor

@jwnimmer-tri -- the specific links into thirdParty on the OP are super useful. that's what I was hoping for. :)

@jwnimmer-tri
Copy link
Collaborator

Ah, which reminds me -- don't forget that Drake also has Apache-2.0 at https://github.com/RobotLocomotion/drake/blob/master/drake/common/nice_type_name.cc.

@jamiesnape
Copy link
Contributor Author

Somehow three different heuristic license checkers (and myself) missed that one. I guess the missing second paragraph threw them off.

@liangfok
Copy link
Contributor

Since hsrb_description is no longer in master, I'm removing it from the OP.

@liangfok
Copy link
Contributor

I'm unassigning myself from this issue since the drake/ros license is updated in #5803.

@jamiesnape
Copy link
Contributor Author

I guess this is the best place for this, but here is the list of third-party software in tree. We have been very bad at listing copyrights and it is not always obvious which files are attached to license file, so E&OE yet again:

Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: drake
Upstream-Contact: https://github.com/RobotLocomotion/drake/issues
Source: https://github.com/RobotLocomotion/drake
Disclaimer: This package is not part of the Debian distribution.

Files: *
Copyright: 2012 Massachusetts Institute of Technology
           2016 Toyota Research Institute
License: BSD-3-clause

Files: bindings/pydrake/multibody/test/double_pendulum.sdf
       bindings/pydrake/multibody/test/double_pendulum.sdf.LICENSE
Copyright: 2012 Open Source Robotics Foundation
           2017 Massachusetts Institute of Technology
           2017 Toyota Research Institute
License: Apache-2.0

Files: bindings/pydrake/doc/pydrake_sphinx_extension.py
       bindings/pydrake/doc/sphinx.LICENSE.txt
Copyright: 2007-2018 The Sphinx Team
           2018 Massachusetts Institute of Technology
           2018 Toyota Research Institute
License: BSD-2-clause

Files: common/autodiffxd.h
Copyright: 2009 Gael Guennebaud
           2017 Massachusetts Institute of Technology
           2017 Toyota Research Institute
License: MPL-2.0

Files: common/copyable_unique_ptr.h
Copyright: 2015 Michael Sherman
           2015 Stanford University
           2017 Massachusetts Institute of Technology
           2017 Toyota Research Institute
License: Apache-2.0

Files: common/nice_type_name.cc
Copyright: 2014 Chris Dembia
           2014 Michael Sherman
           2014 Stanford University
           2016 Massachusetts Institute of Technology
           2016 Toyota Research Institute
License: Apache-2.0

Files: debian/*
Copyright: 2020 Massachusetts Institute of Technology
           2020 Toyota Research Institute
License: BSD-3-clause

Files: manipulation/models/allegro_hand_description/meshes/*
       manipulation/models/allegro_hand_description/sdf/*
       manipulation/models/allegro_hand_description/urdf/*
Copyright: 2013 Alex Alspach
           2018 Massachusetts Institute of Technology
           2018 Toyota Research Institute
License: BSD-3-clause

Files: manipulation/models/franka_description/urdf/*.urdf
Copyright: 2017 Franka Emika GmbH
           2018 Marko Krizmancic
License: Apache-2.0

Files: manipulation/models/iiwa_description/iiwa_stack.LICENSE.txt
       manipulation/models/iiwa_description/iiwa7/*
       manipulation/models/iiwa_description/meshes/*
       manipulation/models/iiwa_description/sdf/*
       manipulation/models/iiwa_description/urdf/*.urdf
       manipulation/models/iiwa_description/urdf/*.xacro
Copyright: 2015 Robert Krug, Orebro University
           2015 Todor Stoyanov, Orebro University
           2017 Massachusetts Institute of Technology
           2017 Toyota Research Institute
License: BSD-2-clause

Files: manipulation/models/jaco_description/urdf/*.gv
       manipulation/models/jaco_description/urdf/*.pdf
       manipulation/models/jaco_description/urdf/*.urdf
Copyright: 2017 Kinova Robotics Inc.
           2018 Massachusetts Institute of Technology
           2018 Toyota Research Institute
License: BSD-3-clause

Files: manipulation/models/wsg_50_description/meshes/*
       manipulation/models/wsg_50_description/sdf/*
       manipulation/models/wsg_50_description/urdf/*.xacro
       manipulation/models/wsg_50_description/urdf/*.urdf
Copyright: 2012 Robotnik Automation SLL
           2017 Massachusetts Institute of Technology
           2017 Toyota Research Institute
License: BSD-3-clause

Files: multibody/benchmarks/chaotic_babyboot/MG/MG_chaotic_babyboot_auto_generated.*
Copyright: 2009-2017 Motion Genesis LLC
           2009-2017 Paul Mitiguy
License: BSD-3-clause

Files: multibody/benchmarks/kuka_iiwa_robot/MG/MG_kuka_iiwa_robot_auto_generated.*
Copyright: 2009-2017 Motion Genesis LLC
License: BSD-3-clause

Files: third_party/com_github_bazelbuild_rules_cc/*
Copyright: 2019 The Bazel Authors
           2019 Massachusetts Institute of Technology
           2019 Toyota Research Institute
License: Apache-2.0

Files: third_party/com_github_finetjul_bender/LICENSE
       third_party/com_github_finetjul_bender/NOTICE
       third_party/com_github_finetjul_bender/vtkCapsuleSource.*
Copyright: 2013 Kitware, Inc.
           2019 Massachusetts Institute of Technology
           2019 Toyota Research Institute
License: Apache-2.0

Files: third_party/com_github_grahamdumpleton_wrapt/LICENSE
       third_party/com_github_grahamdumpleton_wrapt/wrappers.py
Copyright: 2013-2017 Graham Dumpleton
           2018 Massachusetts Institute of Technology
           2018 Toyota Research Institute
License: BSD-2-clause

Files: third_party/com_github_jbeder_yaml_cpp/LICENSE
       third_party/com_github_jbeder_yaml_cpp/include/*
       third_party/com_github_jbeder_yaml_cpp/src/*
Copyright: 2008-2015 Jesse Beder
           2020 Massachusetts Institute of Technology
           2020 Toyota Research Institute
License: Expat

Files: third_party/com_github_pybind_pybind11/*
       tools/workspace/pybind11/mkdoc_comment.py
Copyright: 2016 Wenzel Jakob
           2018 Massachusetts Institute of Technology
           2018 Toyota Research Institute
License: BSD-3-clause

Files: third_party/net_sf_jchart2d/*
Copyright: 2001-2011 Achim Westermann
License: LGPL-2.1+

Files: tools/lint/bzlcodestyle.py
Copyright: 2006-2009 Johann C. Rocholl
           2009-2014 Florent Xicluna
           2014-2016 Ian Lee
           2017 Massachusetts Institute of Technology
           2017 Toyota Research Institute
License: Expat

Files: tools/workspace/sdformat/3bbd303.patch
Copyright: 2020 Massachusetts Institute of Technology
           2020 Open Source Robotics Foundation
           2020 Toyota Research Institute
License: Apache-2.0

[full license text removed]

YEAR Massachusetts Institute of Technology / YEAR Toyota Research Institute is shorthand for Drake. I do not think we need to worry about splitting that here. Everything is in Debian format rather than SPDX for now.

@jamiesnape
Copy link
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: distribution Nightly binaries, monthly releases, docker, installation unused team: kitware
Projects
None yet
Development

No branches or pull requests

6 participants