RobotLocomotion / drake

Model-based design and verification for robotics.
https://drake.mit.edu
Other
3.33k stars 1.26k forks source link

WORKSPACE license tracker #4045

Closed jamiesnape closed 3 years ago

jamiesnape commented 8 years ago

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

jwnimmer-tri commented 8 years ago

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

jamiesnape commented 8 years ago

@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 commented 7 years ago

@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 commented 7 years ago

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 commented 7 years ago

@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 commented 7 years ago

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 commented 7 years ago

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

RussTedrake commented 7 years ago

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

jwnimmer-tri commented 7 years ago

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 commented 7 years ago

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

liangfok commented 7 years ago

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

liangfok commented 7 years ago

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

jamiesnape commented 4 years ago

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 commented 3 years ago

See inline in various *.bazel and *.bzl files and in https://github.com/RobotLocomotion/debian-drake/blob/debian/bionic/debian/copyright and https://github.com/RobotLocomotion/debian-drake/blob/debian/focal/debian/copyright.