This handbook provides information on how to comply with some common open source licenses under a specific set of use-cases. The goal here is to provide developers and engineers with some "self-serve" information to facilitate the end goal of open source license compliance, particularly for the easy-to-comply with conditions in open source licenses. This handbook also aims to help identify some of the more complex open source license compliance conditions for which consultation with open source counsel may be needed.
Open source license compliance explained
Determining the requirements that need to be met to comply with open source licenses involves the following:
- You must know what open source software you are using;
- You must know what license applies to that open source software and the relevant legal interpretation of the license; and
- You must know how you using that open source software. This is the “use-case”. The information in this handbook assumes you have already determined what open source software you are using and under what license (#1 and #2). It is the combination of the license (#2) and the use-case (#3) which determines what license conditions are triggered. This is open source license compliance. One way to think of this is as an if-then statement. For example: IF I am distributing unmodified open source software in binary form (use-case), THEN I must provide a copy of the license (requirement) by (HOW) placing a copy with my distribution.
Scope of this handbook
Some open source license conditions are easy to understand and comply with, while other conditions are open for (legal) interpretation or involve more complex use-cases that cannot be easily categorized. The license compliance requirements in this handbook are summarized for the four most common use-cases as listed below. License terms or conditions where further analysis or consultation with your open source counsel may be needed are noted. For these license terms or conditions, external references that may be helpful are provided in the seeAlso key. Likewise, if your use-case varies in any way or you are using a different license than those licenses listed here (even if it seems similar) or you have any questions about this information or how to properly comply, please contact your open source counsel. Other terms not related to license compliance are not captured here. For example, choice of law, jurisdiction, statutory references, or licensee representations. Some open source licenses provide explicit clarification that no trademark license is granted; as this is essentially a restatement of basic trademark law and does not require any license compliance action, these clauses are not captured here. Likewise, information describing the license grants are not captured here. As always, your open source counsel should familiarize themself with the entire license before relying on the information provided in this handbook.
- UB = Distribution, unmodified, binary form 2. MB = Distribution, modified, binary form
- US = Distribution, unmodified, source form 4. MS = Distribution, modified, source form Where "binary" refers to compiled code, binary, executable, non-source form; and "source" refers to the human readable, editable form.