This glossary covers legal and technical terms related to open licensing.
Target audience and scope
This glossary is intended for attorneys new to open source work, such as those who might be newly hired into a legal team at a company that uses open source development, or those taking legal education on the subject. It should also be useful for lay people seeking to understand open licensing.
No one choice of law is assumed although national issues are highlighted where necessary. The glossary draws mostly on legal doctrines from the US, Europe, and Germany.
Affero: see network copyleft
AGPL: see network copyleft
archive: in this context a set of files collected into one file and often compressed. Filesystem metadata (including ownership, permissions, and timestamps) is retained and annotation can be added. The tar and gzip utilities are commonly used to create archives. See also tarball.
attribution: credit to the person who wrote the code contribution. The copyright notice is often incorrectly referred to as "attribution." Note that insubstantial contributions do not create copyright, so attributions may not necessarily imply copyright ownership.
bug: see issue
- build: for a compiled language, see compile and link
- CAA: Contributor Assignment Agreement. A legally binding agreement that the
- owner of the copyright in a contribution has assigned their copyright to another person or entity. (See also CLA and DCO.)
- CLA: Contributor License Agreement, A legally binding agreement that the
- owner of the copyright in a contribution has licensed their copyright to another person or entity. (See also CAA and DCO.)
- commit: (see also revision control)
- compatible: two or more licenses for which is is possible to simultaneously
- meet all the obligations of them.
- compiled language: as opposed to interpreted language; also see compile)
- [note too translated languages like GAMS/Robbie]
- computer program: defined under copyright law as a form of literary work ..
- and in broad terms ..
- condition: an obligation that must be met in order to have a copyright
- license. (See covenant.)
- contribute: to submit code for inclusion in a free and open software project
- contribution: software code that has been submitted to a free and open
- source software project
- covenant: an obigation of a free and open source software agreement that is
- not a condition on the license grant.
- convey: see distribute
- copyleft: [TKTK] Different copyleft licenses may have different scopes- see
- file-based copyleft* and *network copyleft* for examples.
- crayonware license: derogatory term for poorly-written licenses.
- DCO: Developer Certificate of Origin. The document found at
<https://developercertificate.org/>, which is statement made by a contributor attesting to specific facts about their contribution. (See also CAA and CLA.)
- defensive termination: Licensor's right to terminate the grant of certain
- rights in a license, or the entire license with respect to a licensee. This right is usually triggered when a legal action (often a patent infringement action) is brought by such licensee against the licensor.
- derivative: a term used in software license; important to consider when
- interpreting licenses that it may not be the same a "derivative work" under copyright law
- derivative work: a term defined in U.S. copyright law in 17 U.S.C. s. 101.
- distro: short for "Linux distribution"; a specific collection of operating
- system and user applications that are made available together.
- downstream: subjects lower in the supply chain
- dynamic linking (or shared library mechanism): see compile
- exception (or additional permission)
- executable vs binary vs source code: source code is code that is written in
- a human readable manner. Binary code is code that is not human readable, such code can contain instructions executable by the system or can simply contain data, like in mp3 or jpeg files. Executable code is code that contain instructions to be executed by the system
- fork: see also <https://en.wikipedia.org/wiki/Fork_(software_development)>
- Free Software: software that meets the Four Freedoms
- proprietary / non-FOSS: a term used to refer to the category of licenses
- which are not FOSS – there are still issues with “proprietary”, do we have a better term?
- Free Software Foundation (FSF)
- Four Freedoms: the criteria for assessing whether a particular codebase
- and/or computor program qualifies as free software. see
- free (libre) and open source software license (FOSS/FLOSS): a term that is
- used to refer to the category of licenses generally without favoring the Free Software Foundation or Open Source Initiative view
- header: confusion between the header of the (source code) file, where a good
- practice is to put your copyright and license notice vs .h files C language
- header-only library: a library implemented (declared and defined) solely as
- a header file and restricted to the C/C++ languages. May involve preprocessor macros (CPP), inline functions, and/or template metaprogramming (TMP).
- implement: to write software logic (code?) to perform processing to meet the
- requirements of an interface definition [declaration surely!/Robbie] or specification for software functionalty
- inbound license:
- inbound license conditions: [conceptually different from an "inbound
- inbound=outbound: a practice/convention/doctrine [I don't know which/Robbie]
- in which individual contributions are automatically licensed under the same terms as the host project (this contrasts with the use of CLA)
- interface definitions
- issue and issue tracker
- libre: used sometimes in place of "free" to distinguish between
- free-as-in-freedom v. free-as-in-no-cost.
- linker: see compile
- merge: (re)inclusion of a forked (or branched) piece of software
- modification: a modification to software is a "code change" and does not
- include changes in settings or other data external to the software. Modification is used in
- multi-licensing: offering the same code under two alternative choices for
- licenses; one might be a proprietary license
- network copyleft: a copyleft license that defines "distribution" to include
- direct or indirect access to the software through a network. Most prominent example is the Affero GPL (AGPL).
- "non-discrimination": principle
- Open Digital Rights Language (ODRL): a specification language for digital
- rights, including open licenses, seeking to codify the compatibilities between licenses
- open source software: a software license that meets the definition for open
- source software called the Open Source Definition published by the Open Source Initiative. List of such licenses is at
- Open Source Initiative (OSI): a 501(c)3 tax-exempt California public
- benefit corporation that maintains the Open Source Definition and approves submitted licenses as complying with the Open Source Definition
- Open Source Definition (OSD)
- outbound license
- patch: a unit of contribution, when the contribution consist of a difference
- between the previous state of a source file and its modification, usually stored and distributed with the file extensions .dif, .diff, or .patch (see also diff)
- permissive: open source license which does not have copyleft effect
- project vs product:
- public domain: term identifying works not covered by intellecual property
- rights, because those have expired, have been forfeited, have been waived or are inapplicable.
- Publication or release: publication is defined in U.S. copyright law, and
- for software, public release constitutes publication.
- recursion: see recursion
- Restriction: a limitation on license scope, such as a limitation to fields
- of endeavor, types of licensees, technology fields, or products
- release: see also *version* [care needed here, a release is usually more
- intentional than a version/Robbie]
- reverse engineering:
- revision control: see also git, GitHub
- SaaS copyleft (and SaaS permissive): see network copyleft
- source: almost always refers to the source *code*, rather than the place or
- organization where a thing came from
- source code: collection of computer instructions written using a
- human-readable programming language
- source code offer
- source compatibility: [maybe?/Robbie]
- specification: see also implementation (as opposite)
- static linking: see compile
- scripting language: see *interpreted language*
- tarball, JAR, zip: packaging methods [tarball and JAR should be separately
- upstream: subject(s) higher in the supply chain
- version (of a license or software)
- version control: a synomym for revision control
**Terms that should normally be avoided (and why):**
- Public domain license: "public domain" is not a universal concept, and if a
- work is licensed, it is not properly speaking in the public domain. (Open source, generally, should not be confused with the public domain, since the author(s) retains copyright and conditions are placed on the use of the work. Where accurate (such as where Creative Commons Zero has been used), say public domain waiver instead.
- to taint
- academic: carries connotations of non-commercial, and can also be confused
- with the Academic Free License
- API: the term is used for many different types of computer interactions, so
- is too ambiguous to use without stating more particularly exactly what type you are considering – suggestion: web API (I usually use a TV remote as an analogy)
- Intellectual Property (IP): open source affects patent, copyright,
- trademark, and trade secret very differently, so grouping them together as "intellectual property" is particularly confusing when used in the FOSS context.
- "weak" copyleft: occasionally derogatory term; "file-level"/"file-based" and
- “module-based”/“library-based”(?) copyleft is preferred
- Dual license: used to describe two different concepts: (1) offering the same
- code under two alternative choices for licenses; (2) offering the same code with a duty to comply with two licenses
- commercial: used to mean software that is not under a free and open source
- license, but misleading because free and open source software is often revenue-producing
- non-commercial: see commercial
Terms not yet defined
You can help! Pick a term from this list, define it, and move it up!
- aggregation ("mere" or otherwise)
- advertising condition (or advertising clause)
- binary compatibility