Jump to content

BSD licenses

From Wikipedia, the free encyclopedia
(Redirected from BSD-2-Clause)

BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD license was used for its namesake, the Berkeley Software Distribution (BSD), a Unix-like operating system. The original version has since been revised, and its descendants are referred to as modified BSD licenses.

BSD is both a license and a class of license (generally referred to as BSD-like). The modified BSD license (in wide use today) is very similar to the license originally used for the BSD version of Unix. The BSD license is a simple license that merely requires that all code retain the BSD license notice if redistributed in source code format, or reproduce the notice if redistributed in binary format. The BSD license (unlike some other licenses e.g. GPL) does not require that source code be distributed at all.

Terms

[edit]

In addition to the original (4-clause) license used for BSD, several derivative licenses have emerged that are also commonly referred to as a "BSD license". Today, the typical BSD license is the 3-clause version, which is revised from the original 4-clause version.

In all BSD licenses as following, <year> is the year of the copyright. As published in BSD, <copyright holder> is "Regents of the University of California".

Previous license

[edit]
Prior BSD License
AuthorRegents of the University of California
PublisherPublic Domain
Published1988
SPDX identifierN/A (see list[1])
Debian FSG compatibleYes
OSI approvedNo
GPL compatibleNo
CopyleftNo
Linking from code with a different licenceYes

Some releases of BSD prior to the adoption of the 4-clause BSD license used a license that is clearly ancestral to the 4-clause BSD license. These releases include some parts of 4.3BSD-Tahoe (1988), about 1000 files,[2] and Net/1 (1989). Although largely replaced by the 4-clause license, this license can be found in 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")

[edit]
BSD License
AuthorRegents of the University of California
PublisherPublic Domain
Published1990
SPDX identifierBSD-4-Clause
(see list for more[1])
Debian FSG compatibleYes[3]
FSF approvedYes[4]
OSI approvedNo[5]
GPL compatibleNo[4]
CopyleftNo[4]
Linking from code with a different licenceYes

The original BSD license contained a clause not found in later licenses, known as the "advertising clause". This clause eventually became controversial, as it required authors of all works deriving from a BSD-licensed work to include an acknowledgment of the original source in all advertising material. This was clause number 3 in the original license text:[6]

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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.
  3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the <copyright holder>.
  4. 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.

[6]

This clause was objected to on the grounds that as people changed the license to reflect their name or organization it led to escalating advertising requirements when programs were combined in a software distribution: every occurrence of the license with a different name required a separate acknowledgment. In arguing against it, Richard Stallman has stated that he counted 75 such acknowledgments in a 1997 version of NetBSD.[7] In addition, the clause presented a legal problem for those wishing to publish BSD-licensed software which relies upon separate programs using the GNU GPL: the advertising clause is incompatible with the GPL, which does not allow the addition of restrictions beyond those it already imposes; because of this, the GPL's publisher, the Free Software Foundation, recommends developers not use the license, though it states there is no reason not to use software already using it.[4]

3-clause license ("BSD License 2.0", "Revised BSD License", "New BSD License", or "Modified BSD License")

[edit]
New BSD License
AuthorRegents of the University of California
PublisherPublic Domain
Published22 July 1999[6]
SPDX identifierBSD-3-Clause
(see list for more[1])
Debian FSG compatibleYes[3]
FSF approvedYes[8]
OSI approvedYes[5]
GPL compatibleYes[8]
CopyleftNo[8]
Linking from code with a different licenceYes

The advertising clause was removed from the license text in the official BSD license on July 22, 1999, by William Hoskins, Director of the Office of Technology Licensing for UC Berkeley.[6][9][10] Other BSD distributions removed the clause, but many similar clauses remain in BSD-derived code from other sources, and unrelated code using a derived license.

While the original license is sometimes referred to as the "BSD-old", the resulting 3-clause version is sometimes referred to by "BSD-new." Other names include new BSD, "revised BSD", "BSD-3", or "3-clause BSD". This version has been vetted as an Open source license by the OSI as "The BSD License".[5] The Free Software Foundation, which refers to the license as the "Modified BSD License", states that it is compatible with the GNU GPL. The FSF encourages users to be specific when referring to the license by name (i.e. not simply referring to it as "a BSD license" or "BSD-style") to avoid confusion with the original BSD license.[8]

This version allows unlimited redistribution for any purpose as long as its copyright notices and the license's disclaimers of warranty are maintained. The license also contains a clause restricting use of the names of contributors for endorsement of a derived work without specific permission.

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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.
  3. 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.[8]

2-clause license ("Simplified BSD License" or "FreeBSD License")

[edit]
FreeBSD License
AuthorThe FreeBSD Project
PublisherThe FreeBSD Project
PublishedApril 1999 or earlier
SPDX identifierBSD-2-Clause
(see list for more[1])
Debian FSG compatibleYes
FSF approvedYes[11]
OSI approvedYes[5]
GPL compatibleYes[11]
CopyleftNo[11]
Linking from code with a different licenceYes

An even more simplified version has come into use, primarily known for its usage in FreeBSD.[12] It was in use there as early as 29 April 1999[13] and likely well before. The primary difference between it and the New BSD (3-clause) License is that it omits the non-endorsement clause. The FreeBSD version of the license also adds a further disclaimer about views and opinions expressed in the software,[14] though this is not commonly included by other projects.

The Free Software Foundation, which refers to the license as the FreeBSD License, states that it is compatible with the GNU GPL. In addition, the FSF encourages users to be specific when referring to the license by name (i.e. not simply referring to it as "a BSD license" or "BSD-style"), as it does with the modified/new BSD license, to avoid confusion with the original BSD license.[11]

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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.[12]

Other projects, such as NetBSD, use a similar 2-clause license.[15] This version has been vetted as an Open source license by the OSI as the "Simplified BSD License."[5]

The ISC license without the 'and/or' wording is functionally equivalent, and endorsed by the OpenBSD project as a license template for new contributions.[16]

0-clause license ("BSD Zero Clause License")

[edit]
BSD Zero Clause License
AuthorRob Landley
Published2013
SPDX identifier0BSD
Debian FSG compatibleYes
FSF approved?
OSI approvedYes[17]
GPL compatibleYes
CopyleftNo
Linking from code with a different licenceYes

The BSD 0-clause license goes further than the 2-clause license by dropping the requirements to include the copyright notice, license text, or disclaimer in either source or binary forms. Doing so forms a public-domain-equivalent license,[18] the same way as MIT No Attribution License.[citation needed] It is known as "0BSD", "Zero-Clause BSD", or "Free Public License 1.0.0".[19][20] It was created by Rob Landley and first used in Toybox when he was disappointed after using GPL license in BusyBox.[21]

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.[20]

Other variations

[edit]

The SPDX License List contains extra BSD license variations. Examples include:[1]

  • BSD-1-Clause, a license with only the source code retaining clause, used by Berkeley Software Design in the 1990s,[22][23] and later used by the Boost Software License. OSI approved since 2020.[24]
  • BSD-2-Clause-Patent, a variation of BSD-2-Clause with a patent grant. OSI approved since 2017.[25]
  • BSD-3-Clause-No-Nuclear-Warranty, a variation of BSD-3-Clause that adds that a piece of software is not licensed for use in a nuclear facility.

License compatibility

[edit]

Commercial license compatibility

[edit]

The FreeBSD project argues on the advantages of BSD-style licenses for companies and commercial use-cases due to their license compatibility with proprietary licenses and general flexibility, stating that the BSD-style licenses place only "minimal restrictions on future behavior" and are not "legal time-bombs", unlike copyleft licenses.[26] The BSD License allows proprietary use and allows the software released under the license to be incorporated into proprietary products. Works based on the material may be released under a proprietary license as closed source software, allowing usual commercial usages under them.

FOSS compatibility

[edit]

The 3-clause BSD license, like most permissive licenses, is compatible with almost all FOSS licenses (and as well proprietary licenses).[27][28]

Two variants of the license, the New BSD License/Modified BSD License (3-clause),[8] and the Simplified BSD License/FreeBSD License (2-clause)[11] have been verified as GPL-compatible free software licenses by the Free Software Foundation, and have been vetted as open source licenses by the Open Source Initiative.[5] The original, 4-clause BSD license has not been accepted as an open source license and, although the original is considered to be a free software license by the FSF, the FSF does not consider it to be compatible with the GPL due to the advertising clause.[4]

Reception and usage

[edit]

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[29]

The BSD license family is one of the oldest and most broadly used license families in the free and open-source software ecosystem, and has been the inspiration for a number of other licenses. Many FOSS software projects use a BSD license, for instance the BSD OS family (FreeBSD etc.), Google's Bionic or Toybox. As of 2015 the BSD 3-clause license ranked in popularity number five according to Black Duck Software[30] and sixth according to GitHub data.[31]

See also

[edit]

References

[edit]
  1. ^ a b c d e "SPDX License List". spdx.org. SPDX Working Group.
  2. ^ Bostic, Keith (15 June 1988). "4.3BSD-tahoe release". Newsgroupcomp.sys.tahoe. Retrieved 5 December 2021.
  3. ^ a b "License information". Debian. Retrieved 18 February 2010.
  4. ^ a b c d e "Original BSD license". Various Licenses and Comments about Them. Free Software Foundation. Retrieved 2 October 2010.
  5. ^ a b c d e f "The BSD License:Licensing". Open Source Initiative. 31 October 2006. Archived from the original on 29 November 2009. Retrieved 6 December 2009.
  6. ^ a b c d "To All Licensees, Distributors of Any Version of BSD". University of California, Berkeley. 22 July 1999. Retrieved 15 November 2006.
  7. ^ Richard Stallman. "The BSD License Problem". Free Software Foundation. Archived from the original on 12 November 2006. Retrieved 15 November 2006.
  8. ^ a b c d e f "Modified BSD license". Various Licenses and Comments about Them. Free Software Foundation. Retrieved 2 October 2010.
  9. ^ "Berkeley removes Advertising Clause – Slashdot". bsd.slashdot.org. 2 September 1999. Retrieved 2 September 2021.
  10. ^ Comparing the BSD and GPL Licenses on Technology Innovation Management Review by Bruce Montague (on October 2007)
  11. ^ a b c d e "FreeBSD license". Various Licenses and Comments about Them. Free Software Foundation. Retrieved 2 October 2010.
  12. ^ a b "The FreeBSD Copyright". The FreeBSD Project. Archived from the original on 25 November 2009. Retrieved 6 December 2009.
  13. ^ "The FreeBSD Copyright (as available at archive.org)". The FreeBSD Foundation. Archived from the original on 29 April 1999. Retrieved 7 January 2017.{{cite web}}: CS1 maint: bot: original URL status unknown (link)
  14. ^ "The FreeBSD Copyright". freebsd.org. Retrieved 25 March 2020.
  15. ^ "NetBSD Licensing and Redistribution". The NetBSD Foundation. Retrieved 6 December 2009.
  16. ^ "OpenBSD Copyright Policy". Retrieved 17 July 2016.
  17. ^ "[License-review] Please rename "Free Public License-1.0.0" to 0BSD". Retrieved 15 February 2019.
  18. ^ "BSD 0-Clause License (0BSD) Explained in Plain English". tldrlegal.com. Retrieved 15 February 2019.
  19. ^ "BSD Zero Clause License". spdx.org. Retrieved 19 February 2021.
  20. ^ a b "Zero-Clause BSD / Free Public License 1.0.0 (0BSD)". opensource.org. 5 December 2015. Retrieved 19 February 2021.
  21. ^ Toybox vs BusyBox - Rob Landley, hobbyist, retrieved 28 April 2023
  22. ^ "BSD 1-Clause License". Software Package Data Exchange (SPDX). 2018. Retrieved 30 May 2022.
  23. ^ "Log of /head/include/ifaddrs.h". svnweb.freebsd.org. Retrieved 30 May 2022.
  24. ^ "1-clause BSD License – Open Source Initiative". Open Source Initiative. 13 March 2020. Retrieved 26 March 2024.
  25. ^ "BSD+Patent – Open Source Initiative". Open Source Initiative. 4 April 2017. Retrieved 26 March 2024.
  26. ^ Montague, Bruce (13 November 2013). "Why you should use a BSD style license for your Open Source Project – GPL Advantages and Disadvantages". FreeBSD. Retrieved 28 November 2015. In contrast to the GPL, which is designed to prevent the proprietary commercialization of Open Source code, the BSD license places minimal restrictions on future behavior. This allows BSD code to remain Open Source or become integrated into commercial solutions, as a project's or company's needs change. In other words, the BSD license does not become a legal time-bomb at any point in the development process. In addition, since the BSD license does not come with the legal complexity of the GPL or LGPL licenses, it allows developers and companies to spend their time creating and promoting good code rather than worrying if that code violates licensing.
  27. ^ Hanwell, Marcus D. (28 January 2014). "Should I use a permissive license? Copyleft? Or something in the middle?". opensource.com. Retrieved 30 May 2015. Permissive licensing simplifies things One reason the business world, and more and more developers [...], favor permissive licenses is in the simplicity of reuse. The license usually only pertains to the source code that is licensed and makes no attempt to infer any conditions upon any other component, and because of this there is no need to define what constitutes a derived work. I have also never seen a license compatibility chart for permissive licenses; it seems that they are all compatible.
  28. ^ "Licence Compatibility and Interoperability". Open-Source Software – Develop, share, and reuse open source software for public administrations. joinup.ec.europa.eu. Archived from the original on 17 June 2015. Retrieved 30 May 2015. The licences for distributing free or open source software (FOSS) are divided in two families: permissive and copyleft. Permissive licences (BSD, MIT, X11, Apache, Zope) are generally compatible and interoperable with most other licences, tolerating to merge, combine or improve the covered code and to re-distribute it under many licences (including non-free or "proprietary").
  29. ^ Torvalds at LinuxCon Part III: Permissive Licenses and Org Charts FOSS Force, 2016
  30. ^ "Top 20 licenses". Black Duck Software. 19 November 2015. Archived from the original on 19 July 2016. Retrieved 19 November 2015. 1. MIT license 24%, 2. GNU General Public License (GPL) 2.0 23%, 3. Apache License 16%, 4. GNU General Public License (GPL) 3.0 9%, 5. BSD License 2.0 (3-clause, New or Revised) License 6%, 6. GNU Lesser General Public License (LGPL) 2.1 5%, 7. Artistic License (Perl) 4%, 8. GNU Lesser General Public License (LGPL) 3.0 2%, 9. Microsoft Public License 2%, 10. Eclipse Public License (EPL) 2%
  31. ^ Balter, Ben (9 March 2015). "Open source license usage on GitHub.com". github.com. Retrieved 21 November 2015. "1 MIT 44.69%, 2 Other 15.68%, 3 GPLv2 12.96%, 4 Apache 11.19%, 5 GPLv3 8.88%, 6 BSD 3-clause 4.53%, 7 Unlicense 1.87%, 8 BSD 2-clause 1.70%, 9 LGPLv3 1.30%, 10 AGPLv3 1.05%
[edit]