Alright, let's get this over with. You needed to know about software licenses, specifically the BSD family. Don't look so excited. It's just a set of rules people invented to keep from suing each other into oblivion over shared code. A necessary, but profoundly unglamorous, part of the digital plumbing.
Type of free software license
The BSD licenses represent a family of permissive free software licenses. The key word here is "permissive," which is a polite way of saying they impose the bare minimum of restrictions on how you can use and distribute software covered by them. This stands in stark, almost philosophical, opposition to copyleft licenses, which are built around share-alike requirements that demand you play by their rules if you use their code.
The original BSD license was, shockingly, created for the Berkeley Software Distribution (BSD), which was a pioneering Unix-like operating system. Since its inception, that original text has been revised—a process of shedding clauses like a snake sheds inconvenient skin. The descendants of that first license are now collectively referred to as modified BSD licenses.
So, to be clear: BSD is both a specific license and a whole class of similar licenses, generally called "BSD-like." The modified BSD license, the one you're most likely to encounter in the wild today, is a direct descendant of the license used for the BSD version of Unix. It’s a refreshingly simple piece of legal text. Its primary demand is that if you redistribute the code, you must keep the BSD license notice intact. If you're sharing the source, the notice stays in the source. If you're distributing a compiled binary, you reproduce the notice somewhere in the documentation. Crucially, and unlike some other, more demanding licenses (yes, I'm looking at the GPL), the BSD license doesn't obligate you to distribute the source code at all. You can take it, build something proprietary, and sell it without ever showing anyone your work. It's the "take it and go, just give credit" model of software freedom.
Terms
Beyond the original 4-clause license that started this whole affair, several derivative licenses have emerged. People still call them "BSD licenses" because creativity in naming legal documents is apparently a fireable offense. Today, the most common variant is the 3-clause version, which is the result of surgically removing the most irritating part of the 4-clause original.
In all the BSD license texts that follow, <year> is, predictably, the year of the copyright. And <copyright holder>, as originally published in the BSD distributions, is the "Regents of the University of California."
Previous license
| Prior BSD License | |
|---|---|
| Author | Regents of the University of California |
| Publisher | Public domain |
| Published | 1988 |
| SPDX identifier | BSD-4.3TAHOE |
| Debian FSG compatible | Yes |
| OSI approved | No |
| GPL compatible | No |
| Copyleft | No |
| Linking from code with a different licence | Yes |
Before the 4-clause BSD license became the standard, some releases of BSD used a license that was its clear ancestor. You can find this proto-license in parts of 4.3BSD-Tahoe from 1988, scattered across roughly a thousand files, and in Net/1 (1989). While it was largely superseded by the more formal 4-clause version, its ghost still haunts codebases like 4.3BSD-Reno, Net/2, and 4.4BSD-Alpha.
Copyright (c) <year> <copyright holder>.
All rights reserved.
Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by the <copyright holder>. The name of the <copyright holder> may not be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
4-clause license (original "BSD License")
| BSD License | |
|---|---|
| Author | Regents of the University of California |
| Publisher | Public domain |
| Published | 1990 |
| SPDX identifier | BSD-4-Clause (see list for more) |
| Debian FSG compatible | Yes |
| FSF approved | Yes |
| OSI approved | No |
| GPL compatible | No |
| Copyleft | No |
| Linking from code with a different licence | Yes |
The original BSD license included a feature not found in its more refined descendants: the infamous "advertising clause." This clause became a source of significant controversy because it mandated that anyone creating a derivative work had to include an acknowledgment of the original source in all their advertising materials. This was clause number 3 in the original text, a seemingly innocuous requirement that would prove to be a logistical nightmare.
Copyright (c) <year>, <copyright holder>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
• All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.
• Neither the name of the <copyright holder> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The objection to this clause was rooted in its poor scalability. As developers adapted the license for their own projects, each with a different name or organization, it created a cascade of advertising requirements. When you combined these programs into a single software distribution, you were suddenly legally obligated to acknowledge every single contributor in your ads. In a famous argument against it, Richard Stallman claimed he counted 75 such acknowledgments in a 1997 version of NetBSD. Imagine trying to fit that on a banner ad.
Furthermore, the clause created a legal minefield for anyone wanting to publish BSD-licensed software that depended on programs using the GNU GPL. The advertising clause is fundamentally incompatible with the GPL, which strictly forbids adding new restrictions. Because of this conflict, the GPL's publisher, the Free Software Foundation, strongly advises developers against using this license, though it concedes there's no harm in using software that already does.
3-clause license ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License")
See also: University of Illinois/NCSA Open Source License
| New BSD License | |
|---|---|
| Author | Regents of the University of California |
| Publisher | Public domain |
| Published | 22 July 1999 |
| SPDX identifier | BSD-3-Clause (see list for more) |
| Debian FSG compatible | Yes |
| FSF approved | Yes |
| OSI approved | Yes |
| GPL compatible | Yes |
| Copyleft | No |
| Linking from code with a different licence | Yes |
Common sense eventually prevailed. The advertising clause was officially excised from the BSD license text on July 22, 1999, by William Hoskins, who was the Director of the Office of Technology Licensing for UC Berkeley. Then, on January 31, 2012, the Executive Director of the Office of Intellectual Property and Industry Alliances at UC Berkeley made it official: licensees no longer had to include the acknowledgment. Clause 3 was, for all intents and purposes, deleted from history for any software under a UC Berkeley BSD license. While other BSD distributions had already removed the clause, countless similar clauses persist in BSD-derived code from other sources, a testament to the fact that bad ideas in legal text have a long half-life.
While the original is sometimes called "BSD-old," this resulting 3-clause version goes by many names: "BSD-new," "New BSD," "Revised BSD," "BSD-3," or "3-clause BSD." This is the version that has been vetted as an open-source license by the OSI, which simply calls it "The BSD License." The Free Software Foundation refers to it as the "Modified BSD License" and confirms its compatibility with the GNU GPL. The FSF also passive-aggressively encourages users to be specific when naming the license, so as to avoid confusing it with its problematic ancestor.
This version permits unlimited redistribution for any purpose, so long as the copyright notices and the warranty disclaimers are preserved. It also retains a clause that restricts using the names of contributors to endorse a derived work without getting their explicit permission first.
Copyright <year> <copyright holder>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
• Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2-clause license ("Simplified BSD License" or "FreeBSD License")
"FreeBSD License" redirects here. For documentation, see FreeBSD Documentation License.
See also: ISC license and MIT License
| FreeBSD License | |
|---|---|
| Author | The FreeBSD Project |
| Publisher | The FreeBSD Project |
| Published | April 1999 or earlier |
| SPDX identifier | BSD-2-Clause (see list for more) |
| Debian FSG compatible | Yes |
| FSF approved | Yes |
| OSI approved | Yes |
| GPL compatible | Yes |
| Copyleft | No |
| Linking from code with a different licence | Yes |
The drive toward minimalism continued, resulting in an even more stripped-down version of the license, known primarily for its use in FreeBSD. It was in use there as early as April 29, 1999, and likely for some time before that. The main difference between this and the 3-clause license is the omission of the non-endorsement clause. The thinking, presumably, was that if someone was going to misuse your name, a single sentence in a license file wasn't going to stop them. The FreeBSD version also adds another disclaimer about views and opinions expressed in the software, though this is a local flavor not often adopted by other projects.
The Free Software Foundation, calling it the FreeBSD License, confirms its compatibility with the GNU GPL. And again, the FSF urges specificity in naming to avoid confusion with the original BSD license.
Copyright (c) <year>, <copyright holder>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Other projects, like NetBSD, use a similar 2-clause license. The OSI has vetted this version as an open-source license, calling it the "Simplified BSD License."
It's worth noting that the ISC license, once you strip out the "and/or" phrasing that lawyers apparently lose sleep over, is functionally identical. It’s even endorsed by the OpenBSD project as the preferred license template for new contributions.
0-clause license ("BSD Zero Clause License")
| BSD Zero Clause License | |
|---|---|
| Author | Rob Landley |
| Published | 2013 |
| SPDX identifier | 0BSD |
| Debian FSG compatible | Yes |
| FSF approved | Yes |
| OSI approved | Yes |
| GPL compatible | Yes |
| Copyleft | No |
| Linking from code with a different licence | Yes |
Taking simplification to its logical conclusion, the BSD 0-clause license goes even further than the 2-clause version. It drops the requirements to include the copyright notice, the license text, or the disclaimer in either source or binary forms. This effectively makes it a public-domain-equivalent license, in the same spirit as the MIT No Attribution License. It's known as "0BSD," "Zero-Clause BSD," or sometimes the "Free Public License 1.0.0." It was created by Rob Landley, who, after his experiences using the GNU General Public License with BusyBox, apparently reached a state of licensing zen and created this for his Toybox project.
Copyright (C) [year] by [copyright holder] <[email]>
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Other variations
The SPDX License List is a veritable menagerie of BSD license variations. Some examples include:
BSD-1-Clause: A license with only the source code retention clause. It was used by Berkeley Software Design in the 1990s and later inspired the Boost Software License. The OSI finally got around to approving it in 2020.BSD-2-Clause-Patent: A variation of the 2-clause license that adds an explicit patent grant. The OSI approved this in 2017.BSD-3-Clause-No-Nuclear-Warranty: A variation of the 3-clause license that adds a disclaimer specifying the software is not licensed for use in a nuclear facility, just in case you were planning on running your reactor with it.
License compatibility
Main article: License compatibility
Commercial license compatibility
The FreeBSD project is quite vocal about the advantages of BSD-style licenses for businesses and commercial applications. Their argument centers on the license compatibility with proprietary licenses and general flexibility. They state that BSD-style licenses impose only "minimal restrictions on future behavior" and are not "legal time-bombs," a thinly veiled jab at copyleft licenses. The BSD License allows proprietary use and lets software released under it be incorporated directly into proprietary products. Works based on BSD-licensed material can be released under a proprietary license as closed-source software, enabling all the usual commercial activities.
FOSS compatibility
The 3-clause BSD license, like most permissive licenses, is compatible with nearly all FOSS licenses, as well as proprietary ones. It plays well with others.
Two key variants—the New BSD License/Modified BSD License (3-clause) and the Simplified BSD License/FreeBSD License (2-clause)—have been verified as GPL-compatible free software licenses by the Free Software Foundation. They've also been vetted as open source licenses by the Open Source Initiative. The original 4-clause BSD license, however, remains an outcast. It has not been accepted as an open source license, and while the FSF considers it a free software license, they deem it incompatible with the GPL because of that pesky advertising clause.
Reception and usage
Over the years I've become convinced that the BSD license is great for code you don't care about. I'll use it myself. If there's a library routine that I just want to say 'hey, this is useful to anybody and I'm not going to maintain this,' I'll put it under the BSD license.
— Linus Torvalds at LinuxCon 2016
The BSD license family is one of the oldest and most widely used in the free and open-source software world. It has served as the template and inspiration for numerous other licenses. A vast number of FOSS projects use a BSD license, from the BSD OS family itself (FreeBSD, etc.) to foundational software like Google's Bionic C library or Toybox. As of 2015, the BSD 3-clause license was the fifth most popular license according to Black Duck Software and the sixth according to GitHub data. It endures because its philosophy is simple: here is some code, do with it what you will, but don't blame us if it breaks.