GPL与BSD许可证的区别

GPL和BSD许可证是开源社区最大的两个阵营,尽管都提倡开源、自由,但是两阵营相互不鸟,经常争论不休。根本上是因为两者对于代码的使用自由有着本质上的不同。

GPL许可证的由来

       1980,一个叫Richard Stallman的美国人因为无法容忍软件私有化,而建立了GPL许可证。他认为,软件的源代码是全人类的财富,应该允许程序员自由共享。

        GPL许可证的核心含义是,允许任何人观看、修改,并散播程序软件里的原始程序码,条件是如果你要发布修改后的版本就要连源代码一起公布。

        在GPL的序言里,清楚的写道:“ 大多数软件许可证决意剥夺你的共享和修改软件的自由。对比之下,GNU通用公共许可证力图保证你的共享和修改自由软件的自由。——保证自由软件对所有用户是自由的。GPL适用于大多数自由软件基金会的软件,以及由使用这些软件而承担义务的作者所开发的软件。(自由软件基金会的其他一些软件受GNU库通用许可证的保护)。你也可以将它用到你的程序中。当我们谈到自由软件(free software)时,我们指的是自由而不是价格。”

       GPL最原则、最重要的一段话:“任何自由软件不断受到软件专利的威胁。我们希望避免这样的风险,自由软件的再发布者以个人名义获得专利许可证。事实上,将软件变为私有。为防止这一点,我们必须明确:任何专利必须以允许每个人自由使用为前提,否则就不准许有专利。”

BSD许可证的由来

        BSD许可证原先是用在加州大学柏克利分校发表的各个4.4BSD/4.4BSD-Lite版本上面(BSD是Berkly Software Distribution的简写)的,后来也就逐渐沿用下来。1979年加州大学伯克利分校发布了BSD Unix,被称为开放源代码的先驱,BSD许可证就是随着BSD Unix发展起来的。

       BSD授权许可证(FreeBSD Copyright Information)具有多种授权许可证。总的来说你可以对软件任意处理,只要你在软件中注明其是来自于那个项目的就可以了。也就是说你具有更大的自 由度来处置软件。如果你对软件进行了修改,你可以限制其他使用者得到你修改的软件的自由。

       BSD授权许可证没有实现"通透性"自由,也就是其不保证软件源代码开放的连续性。这样如果你希望采用别人开发的BSD软件,进行一些修改,然后作为产品卖,或者仅仅保密自己的做的一些除了软件开发以外的工作,那么你就可以从中得利。

      从赚钱为目的的商务角度看来,如果你使用了BSD授权许可证的软件,那么你就可以任意进行。

两者的不同

     从上面的介绍可以看出,GPL许可证希望代码是自由的,凡是使用了GPL的代码的项目都必须开放。也就是说GPL代码只能在GPL项目中使用,如果非GPL项目想用GPL代码,要么别用,要么就变成另一个GPL项目。GPL要求GPL代码开放的继承性,即确保所有GPL代码的派生工作的开放性。而BSD许可证则相对宽泛的多,允许自由使用BSD代码,使用者有权对代码所做的修改进行保密,不要求BSD代码派生工作的开放性。

猜你喜欢

转载自blog.csdn.net/guo1988kui/article/details/81071594