BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"。显然,BSD这个名称并不是我们现在所理解的操作系统,而且其原意也并非简单的操作系统,而是一整套软件发行版的统称。从软件发行版到操作系统的演变是有历史过程的,这一点对FreeBSD很重要。
什么是许可协议呢,要介绍什么是许可,当你为你的产品签发许可,你是在让出自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。
不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。
而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议:五大开源许可协议分别是GPL,LGPL,BSD,MIT,Apache。
BSD就是这五种开源协议之一。
而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议:五大开源许可协议分别是GPL,LGPL,BSD,MIT,Apache。BSD就是这五种开源协议之一。
BSD的出现要追溯到上个世纪的七十年代,当加州大学伯克利分校的学生Bill Joy在1971年完成了"BerkeleySoftware Distribution"的合并以后(包括Pascal系统和一个编辑器ex),就算是BSD诞生了第一个发行版,并且发行了大约三十份免费的系统拷贝。
BSD的用户社团一直在不断扩大,到了1978年,软件发行版得到了更新和升级,结果产生了第二版的"Berkeley Software Distribution",即2BSD,其中包括了增强的Pascal系统,vi和termcap(Unix用户一定会对vi和termcap这两个名词感到非常亲切)。2BSD的系统拷贝也是免费的,并且其最后一个版本2.11BSD至今还在世界的各个角落运行着。
VAX计算机的普及导致了1979年末3BSD的诞生。3BSD是Berkely的第一个VAX发行版,同样也是Joy发布的,包含了C Shell和2BSD发行版中的大量附加程序,以及虚拟内存内核和标准32/V(Bell实验室的最后一个Unix版本,运行在VAX上)实用程序。
到了1980年10月,Joy推出了一个焕然一新的发行版本,称为4BSD,其中包括Pascal编译器、Franz Lisp系统和邮件处理系统。4BSD支持DARPA网络,版权的控制是以大学为单位的,而不是以单台计算机为基础计算。
1980年,一个命名为CSRG(Computer System Research Group,计算机系统研究小组)的小组被组建起来负责BSD的发行工作,并于1981年6月发行了称之为4.1BSD的新版本。请注意,不是5BSD。由于AT&T觉得5BSD会使用户将它和AT&T Unix System V相混淆,Berkely同意改变BSD将来版本的命名规则,将版本号仅保留在4BSD上,以后只增加4后面的小版本号。
4.2BSD于1983年8月正式发布,在18个月内就签发了1000多份站点许可证,是非常具有知名度的版本。到了1986年6月,4.3BSD发布,而到了1988年,CSRG发布了4.3BSD-Tahoe,这是第一个把BSD内核分解为依赖于机器和独立于机器的两部分的版本,这是非常有价值的,它使BSD得以移植到众多不同的体系结构中。
由于BSD使用了AT&T Unix的部分源代码,当AT&T源代码许可证费用不断增加的时候,一些希望能够使用BSD代码为PC生产基于TCP/IP联网产品的厂商要求Berkely将AT&T代码从BSD发行版中分离出来,并给他们签发单独的许可证条款,而不需要AT&T的源代码许可证。因此,到了1989年6月,一个完全没有AT&T Unix代码的BSD版本诞生了,称之为"Networking Release 1"。这是第一套由Berkely发布的自由可再发行(freely-redistributable)的代码,,它允许被授权的用户以源代码或者二进制的形式发布修改过的或为修改过的代码,并且可以不向Berkely申报版税,唯一要求是在源代码文件中原封不动的保留Berkely的版权声明,并且在含有以上代码的其他产品文档中声明其产品包括来自于加州大学和其他贡献者的代码。这就是著名的BSD许可证的起源。
The following is a BSD license template. To generate your own license, change the values of OWNER, ORGANIZATION and YEAR from their original values as given here, and substitute your own.
Note: The advertising clause in the license appearing on BSD Unix files was officially rescinded by the Director of the Office of Technology Licensing of the University of California on July 22 1999. He states that clause 3 is "hereby deleted in its entirety."
Note the new BSD license is thus equivalent to the MIT License, except for the no-endorsement final clause.
In the original BSD license, both occurrences of the phrase "COPYRIGHT HOLDERS AND CONTRIBUTORS" in the disclaimer read "REGENTS AND CONTRIBUTORS".
Here is the license template:
Copyright (c) <YEAR>, <OWNER>
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.
Neither the name of the <ORGANIZATION> 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 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.
以下为BSD许可模板。创建属于你自己的许可,需要将原始模板中的所有人,机构和年份(参见下文)的值替换为你自己的值。
注意:出现在BSD Unix文档中的宣传条款已经于1999年7月22日,被加州大学技术许可办公室(Office of Technology Licensing)主任以官方名义废除。他表示,第3款“特此作为一个整体被删除”。
请注意,新的BSD 许可和MIT许可,除了最后一个非签注条款,其他地方都一样。
<所有人> = 加州大学董事
<机构> = 加州大学伯克利分校
<年份> = 1998
在最初的BSD许可中,免责声明里的短语“版权所有人和贡献者”也可理解为“董事和贡献者”。
以下为许可模板:
版权所有(c);年份;所有人;
保留所有权利。
在遵守以下条件的前提下,可再发布软件或以源代码及二进制形式使用软件,包括进行修改或不进行修改:
源代码的再发布必须遵守上述版权通知、本条件列表以及以下免责声明。
以二进制形式再发布软件时必须复制上述版权通知、本条件列表以及文档下文中的免责声明和/或发布代码时提供的其他信息。
未经事先书面批准的情况下,不得将名称“机构”或贡献者名字用于支持或推广该软件的衍生产品。
本软件为版权所有人和贡献者“按现状”为根据提供,不提供任何明确或暗示的保证,包括但不限于本软件针对特定用途的可售性及适用性的暗示保证。在任何情况下,版权所有人或其贡献者均不对因使用本软件而以任何方式产生的任何直接、间接、偶然、特殊、典型或因此而生的损失(包括但不限于采购替换产品或服务;使用价值、数据或利润的损失;或业务中断)而根据任何责任理论,包括合同、严格责任或侵权行为(包括疏忽或其他)承担任何责任,即使在已经提醒可能发生此类损失的情况下。
BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。