开源软件许可与商业模式全解析
1. 软件许可概述
软件与冰箱、汽车等实体产品不同,它是数字产品。公司售卖软件时,并非转移其所有权,而是转让使用权,用户通过合同同意这些使用权利。软件许可详细记录了这些使用权利,其重要性不言而喻。
大型专有软件供应商,如微软和 SAP,都有专门为其产品定制的许可证。而自由和开源软件的倡导者则从一开始就力求许可证的清晰性和通用性,让每个用户都能理解并在必要时用于自己的开发。然而,由于众多特定要求以及国际上法律理解的不一致,实现这一目标并非易事。例如,德国和美国的版权法存在根本差异。德国法律规定,作者拥有作品的知识产权,虽可授权使用,但不能转让或放弃作者身份;而美国法律中,作者(可以是公司或机构)仅拥有开发权,可部分或全部转让。因此,国际通用的许可证必须考虑不同的立法。
这导致了众多且有时差异很大的自由和开源软件(FOSS)许可证。更糟糕的是,同一许可证的不同版本或多个许可证的混合(在一个项目内或连接多个项目时)可能会导致混淆甚至法律纠纷。自由软件代表和开源运动倡导者分别成立了组织,负责制定符合其原则的软件许可证,并支持成员执行这些许可证。
2. Copyleft 许可证
自由软件基金会(FSF)制定了 GNU 通用公共许可证(GPL),这是自由软件最重要的许可证之一,许多项目都在使用,如 Linux 内核。此外,FSF 还发布了针对特定情况定制的许可证:
- GNU 宽通用公共许可证(LGPL):用于管理自由软件与代码修改的组合,修改部分的源代码无需公开。
- GNU Affero 通用公共许可证(AGPL):涵盖托管软件的访问销售。
- GNU 自由文档许可证(FDL):将自由