4

What is the exact format to combine multiple LICENSE notes from different projects into a single file?

The specific project is Python binding for OpenCV. The binding itself is MIT licensed, OpenCV is BSD and there is OpenCV dependency on FFMPEG, which is LGPL.

4

There is no "exact format" as most licenses let you free in how to organize their notices.

One common pattern is to concatenate the different LICENSE in your own LICENSE file, starting with your own license information and an explanation that the following are the license notices of the various dependencies.

This is also something that you see a lot in About sections of applications.

Another solution, if you are keeping each dependency separate in their own folders, is to leave the LICENSE files there and just list the dependencies in your main LICENSE file with a note to look in the various folders for each license notice.

Some examples

The language grammars included in this gem are covered by their repositories' respective licenses. grammars.yml specifies the repository for each grammar.

All other files are covered by the MIT license, see LICENSE.

  • If you have Firefox, you can go to about:license. It starts with the following:

Binaries of this product have been made available to you by the Mozilla Project under the Mozilla Public License 2.0 (MPL). Know your rights.

All of the source code to this product is available under licenses which are both free and open source. A URL identifying the specific source code used to create this copy can be found on the build configuration page, and you can read instructions on how to download and build the code for yourself.

More specifically, most of the source code is available under the Mozilla Public License 2.0 (MPL). The MPL has a FAQ to help you understand it. The remainder of the software which is not under the MPL is available under one of a variety of other free and open source licenses. Those that require reproduction of the license text in the distribution are given below. (Note: your copy of this product may not contain code covered by one or more of the licenses listed here, depending on the exact product and version you choose.)

Then they give the list of notices and to which files they apply.

  • There is a binary that needs to be distributed along with the libs, which are not even present in the source tree, so the LICENSE needs to be shipped with software, and it would be nice to have just one file. – anatoly techtonik Sep 23 '16 at 7:19
  • ..either file, or embed everything into About screen. – anatoly techtonik Sep 23 '16 at 7:20
  • ..but I'd appreciate exact example with English phrases that join those licenses together, because legal wording is a hard stuff. – anatoly techtonik Sep 23 '16 at 7:21
  • I just added some examples. But you should not worry too much about legal wording. As long as you make clear that these are the licenses of the dependencies it will be more than enough. – Zimm i48 Sep 23 '16 at 9:24
2

If you need exact wording, here is an example that shows how I dealt with this in Mozilla's copy of libpng by inserting three additional paragraphs to the libpng LICENSE file (IANAL/TINLA disclaimer: I am not a lawyer and this is not legal advice):

media/libpng/LICENSE:

This copy of the libpng notices is provided for your convenience. In case of any discrepancy between this copy and the notices in the file png.h that is included in the libpng distribution, the latter shall prevail.

COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:

If you modify libpng you may insert additional notices immediately following this sentence.

pnglibconf.h and moz.build are distributed under the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

This modified version of libpng code adds animated PNG support and is released under the libpng license described below. The modifications are Copyright (c) 2006-2007 Andrew Smith, Copyright (c) 2008-2016 Max Stepin, and are delimited by "#ifdef PNG_APNG_SUPPORTED / #endif" directives surrounding them in the modified libpng source files.

This modified version of libpng code adds Intel-SSE support and is released under the libpng license described below. The modifications are Copyright (c) 2016 Google, Inc., and consist of the source files in the "sse2" subdirectory and added code in pngpriv.h delimited by #ifndef PNG_INTEL_SSE_OPT / #endif directives.

This code is released under the libpng license.

libpng versions 1.0.7, July 1, 2000 through 1.6.25, September 1, 2016 are Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson, are derived from libpng-1.0.6, and are distributed according to the same disclaimer and license as libpng-1.0.6[...]

[remainder of LICENSE file omitted]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.