世界上多数文明国家目前都对著作权实施保护。软件作品在这些国家通常被赋予与文学和艺术作品相同或类似的地位,并受到相应的国际条约和本国法律保护。
简单地说,如果你需要使用一个软件,就必须获得相关的许可证。
作为 《保护文学和艺术作品伯尔尼公约》 (以下简称伯尔尼公约)的缔约国,我国明确地承认其法律效力。1908年,伯尔尼公约进行的第一次修订,明确了“自动保护”原则,即,即使未附加任何标记或手续,无论是否公开发表,作者均对作品享有全部权利,这种权利,也就是我们通常看到的版权声明后面的“All rights reserved”。
因此,从法律角度讲,即使你拿到了一份软件作品的副本,在没有获得许可证之前,以任何包括,但不必限于复制、使用、修改、阅读其代码、反编译等等行为,均属于侵权行为,并可能遭到法律许可范围内的相应惩罚。
与此相反,许可证是一份著作权人和受让人之间的合同文书,它明确地将一些著作权人拥有的权利授予给受让人;一般而言,许可证没有提及,或在许可证要求条件不满足的条件下的权利,均会被认为是法律上的未授予,因此行使这些权利,也属于侵权行为。
商业软件或称“专有软件”,往往会随软件副本向用户提供“使用许可证”,如“最终用户许可证(简写为EULA)”。这类许可证通常只明确地授予使用权,以及“在合理范围内制作副本”的权利。因此,对这类软件进行许可证以外的其他使用行为,就必须获得另外的许可证,否则亦属于侵权行为。免费软件(freeware)和共享软件,亦属于专有软件范畴。
值得一提的是,在软件行业的早期,许多软件尽管没有明确的许可证授予,但是复制和运行修改过的版本仍然是一种被多数人认可的行为。这主要是因为两个原因,第一,在早期软件作品往往是学术研究的对象或成果,第二,软件作品与传统意义上的其他著作权作品相比,具有复制和修改成本都远低于其他著作权作品的特点。
毫无疑问,允许更多的开发人员复制和修改软件产品,以满足他们的具体应用场景是有利于技术进步的。
在20世纪70年代中期,由于硬件制造商将软件与硬件绑定,并借此提高硬件价格,美国国防部高级项目研究局认为,一定要有一套能够在不同硬件平台上运行的操作系统,以终止硬件制造商透过将Unix与硬件平台绑定并形成垄断这种趋势继续发展下去。为此,经过比较和选择,他们选定了由加州大学伯克利分校开发的 Unix 版本──BSD Unix,并拨款资助相关的科研活动。
作为一项由纳税人资助的项目,与其他大学类似,BSD项目采用了非常宽松的、允许所有纳税人使用的许可证。
无独有偶,Richard Stallman 在80年代发起了“自由软件”运动。作为一项非政府组织的运动,自由软件基金会倡导了一种称为 GNU Public License 的“对称版权(copyleft)”授权许可证。与BSD、MIT等授权不同,这种授权要求对软件进行修改和再分发的人,将这些变动,以及连接了这类软件的软件的全部源代码,均以同样的授权公开分发,并希望借此来促进其发展。
开源软件/自由软件许可证与专有软件许可证最大的区别是,这些许可证明确地允许用户修改和再次发布软件的派生作品。
我们来进行一下对比:
| 特性 | 开源软件 | 自由软件 | 专有软件 |
| 技术支持 | 社区或商业支持 | 社区或商业支持 | 商业支持 |
| 可阅读的源代码 | 有 | 有 | 没有 |
| 根据需要进行修改 | 可以 | 可以 | 不可以 |
| 对新功能需求的响应 | 通常比较迅速 | 通常比较迅速 | 严格的测试周期 |
| 将修改过的产品再次发布 | 可以 | 可以 | 不可以 |
| 连接软件产品并发布时必须发布全部源代码 | 不必 | 必须 | N/A |
由此可见,开源软件/自由软件的优势在于其开发基本上是开放的,即任何人都可以参与,因此对新功能需求等的响应,通常会比专有软件更快。与之对应,专有软件通常会提供商业支持,通常拥有更严格的测试周期、流程,并提供基于合同的服务级别承诺。
开源软件与自由软件的区别在于,开源软件的代码一般可既以用于自由软件,也可以用于商业软件。通常,以制定标准为目的的软件,均会以开源授权许可证来发布,以吸引更多的人使用。