5

This is not a legal question. It might touch the legal aspects around Open Source licenses but I need general help understanding how they work and what the usual procedure is.


Part 1 of my question: I don't need to do anything if I don't redistribute or copy the MIT or BSD-2-Clause licensed work, right?

The BSD-2-Clause License has a paragraph

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

and the MIT License has a paragraph

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Is it correct to assume that when there is no redistributing or copying of the MIT or BSD-2-Clause licensed work, there is no need to retain a copyright notice or include the corresponding license text?


Part 2 of my question: What do you do when you use (not redistribute or copy) MIT or BSD-2-Clause licensed work within your project?

For example, Unite Gallery and snoowrap are MIT licensed and PRAW is BSD-2-Clause licensed. (These projects are only chosen as exemplary projects for the HTML5/Node.js/Python snippets below. I'm looking for a general answer regarding MIT or BSD-2-Clause licensed code.)

A project might be linking to MIT or BSD-2-Clause licensed code hosted in an open CDN via <script src="... in HTML5

<script src="https://cdnjs.cloudflare.com/ajax/libs/unitegallery/1.7.40/js/unitegallery.min.js"></script>

or via require(... in Node.js

var snoowrap = require('snoowrap');

or via import ... in Python

import praw

So, even though one didn't modify the licensed source code or add any files from the licensed source code to one's project, is it still redistributing of the licensed source code (paraphrased from MIT quote above) or copying of the Software (paraphrased from BSD-2-Clause quote above)?

What am I obligated to do? What's the usual procedure?


Thank you very much in advance. I think this is an important topic because

  • I might use MIT or BSD-2-Clause licensed work in my projects and want to understand what I have to do

  • I might license my work under the MIT or BSD-2-Clause License and I want to understand what others have to do when they might want to use my work

However, I couldn't find information on this. All the questions I found were about the case where someone put the (sometimes even modified) licensed source code into their project, bundled it as a whole and published it to GitHub for example. This seems to be a distinctly different case to me.

1 Answer 1

7

The BSD-2-Clause License has a paragraph

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

and the MIT License has a paragraph

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

In non-legal terms, these quotes from the MIT and BSD licenses mean: Do not remove the license and copyright text, and if you copy a part of the code to another project, you must copy the license and copyright text along with it.

If the individual (source) files don't contain a comment block with the license text or a reference to the license, then you are not required to change that, even if there is a chance that users of your project only download individual files of the external dependency.

Regarding the second part of your question, referencing a third-party library/package is not considered distribution of that third-party library/package and there is nothing that you are required to do to comply with the MIT or BSD license of the third-party software. It is considered polite to mention in your documentation (for example, readme file) that you are using the package/library and what license it uses.

In simple terms, copying means just that: taking (a portion of) the code and storing it somewhere else.
And distributing only happens when you actively send code to someone else or if they can (legally) download it from a server or account that is controlled by you (as in, you decide what is made available).

If you have an HTML file with

<script src="https://cdnjs.cloudflare.com/ajax/libs/unitegallery/1.7.40/js/unitegallery.min.js" />

then that is neither copying, nor distribution from your side (unless you are cloudflare).

2
  • "If the individual (source) files don't contain a comment block with the license text or a reference to the license, then you are not required to change that". I can see that in BSD which says "must retain", but the phrasing in MIT is "shall be included". Wouldn't that make it required if you're serving MIT code (source or compiled) from someone else on your server?
    – geekley
    Aug 7, 2020 at 1:51
  • @geekley, the MIT license notice must be included "in all copies or substantial portions of the Software". "the Software" is not individual files, so the requirement can be satisfied by ensuring an existing LICENSE file remains with the other files. Aug 7, 2020 at 7:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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