许可证一瞥
自由软件社区最引人注目的方面之一是对许可证的痴迷。 仿佛每个黑客内心都挣扎着要成为一名律师。 但也许这并不令人惊讶; 正如拉里·莱西格提醒我们的那样,“代码即法律”,反过来也是如此,因为采用的许可证对软件的生产方式产生了重大影响。 这部分解释了为什么最近关于甲骨文拟议收购 Sun(以及 MySQL)的讨论再次将自由软件许可证置于显微镜下。
例如,这里是 MySQL 的主要作者之一 Monty Widenius,他解释了为什么 GNU GPL 限制了 MySQL 分支可以做的事情,以及基于它们的公司可能有多么可行
MySQL 不是最终用户应用程序,而是一个系统堆栈中相当深入的基础设施项目。 大多数技术合作伙伴(如今 MySQL 领域的大部分创新都发生在那里)都依赖于能够获得 MySQL 的许可,以便他们可以将自己的闭源应用程序或闭源代码(如存储引擎)与 MySQL 结合起来。 如果您将许可证收入加上来自此类合作伙伴的所有直接和间接资金,这将是 MySQL 经济基础设施的很大一部分(即,资金来源)。
GNU GPL 允许版权所有者使用双重许可,但基于该代码分支的公司仅限于提供纯 GPL 解决方案——不可能在商业的、非自由许可证下重新许可该分支。 因此
GPL 基础设施项目的一个分支无法与上述任何合作伙伴合作,并且该分支不能被任何需要将其与自己的闭源部分一起分发或与他人的闭源部分一起使用的人使用。 如果合作伙伴无法将其代码与 MySQL 结合使用,这些合作伙伴和用户将不得不将其努力投入到其他项目中,并且围绕 MySQL 的资金流动和大部分创新将停止。 随着时间的推移,允许每个人参与并赚钱的其他项目将接管 MySQL 业务。
可以创建为 MySQL 提供支持的公司,但如果没有经济效益,将没有足够的资金和激励来支付足够的 MySQL 开发费用,以满足所有 MySQL 用户的需求。 任何此类公司都只会让 MySQL“死得更慢”,但无法拯救它。
这似乎表明,持有 GPL 许可项目版权的公司比任何其他试图从中赚钱的人都具有优势。 但 RedMonk 的 Stephen O'Grady 的这篇冗长而有趣的文章指出,双重许可方法也存在明显的缺点
对于较小的公司来说,主要的限制是开发。 与非双重许可项目只需要关注来自外部方的代码贡献的质量和出处不同,双重许可供应商还需要考虑版权所有权问题。 因为双重许可取决于对所讨论资产整体的版权所有权,所以第三方必须分配或愿意共同持有任何潜在贡献的版权。 在项目的早期阶段,这是一个小问题,因为项目所有者可能雇用了大多数有资格改进它的人。 然而,随着项目成熟并变得更受欢迎,这是一个更紧迫的问题。 首先,因为它会抑制社区参与(参见 Monty 制作的这个幻灯片组的第 18 张幻灯片),但其次——更成问题的是——这意味着第三方实际上可以提供更完整的产品。
Jeremy Zawodny 在去年 12 月一篇题为“新 MySQL 格局”的文章中提到了双重许可的实际影响。 在其中,他断言“您可以获得比 Sun/MySQL 今天给您的“更好”的 MySQL。 免费。” 这就是双重许可模式的成本:为了获得独家重新许可代码的权利,您放弃了 a.) 在广泛的贡献者中分摊您的开发成本的权利,以及 b.) 统一集成根据原始许可证提供的最佳补丁/修复程序等的权利,因为您并非总是可以获得版权。
这是一个论点,即 GNU GPL 在创建可以支持商业风险投资的可行分支方面并没有那么成问题,因为围绕它形成的软件社区的某些方面。 但是,这里有一个不同的观点,关于社区贡献与许可的关系,它看到了 GPL 的另一个问题:它试图阻止“搭便车者”使其过于严格
“搭便车者”——那些为了自己的目的使用或修改开源项目,但不回馈代码或社区贡献的人——将永远存在; 即使在 GPL 下,如果您从托管服务中赚钱,也很容易搭便车,因此许可证选择对搭便车的规模(如果不是性质)几乎没有影响。 除了“那家伙拿了我的工作并从中赚了一些钱”的烦恼——你必须接受这是开源的不可避免的结果,所以如果这让你烦恼,那就坚持制作专有软件——搭便车者对开源项目几乎没有负面影响……关键是要认识到,在实践中,你真的可以忽略搭便车者,而是专注于最大限度地增加社区中的积极贡献者。
如果您确实乐于忽略搭便车者,您可以采用更宽松的方法,使用 Apache、Eclipse 或 BSD 许可证。 反过来,它们使其他公司更容易围绕代码创建业务,从而避免了 Widenius 讨论的任何双重许可 GPL 代码的潜在问题。
但我确实对那个核心前提感到怀疑,即总是会存在某种搭便车行为——例如通过托管服务——因此潜在的贡献者应该忽略该因素,以决定是否加入。 我的印象是,人们*确实*对他们的工作被拿走并用于获利而没有回报的想法感到非常强烈,并且代码被用于 Web 服务,以及被并入然后获得许可的独特软件应用程序之间存在显着差异。
也许可用的各种许可证是对人们对搭便车者问题的不同反应的回应。 那些不太在意的人会很乐意参与使用更宽松许可证的项目; 那些在意的人会坚持使用 GNU GPL 来阻止搭便车者。 这种相关性也可能解释了为什么许可这种看似枯燥的事情会引发如此强烈和持久的热情:它实际上触及了一些非常深刻和私人的东西,这些东西有助于定义我们如何看待世界,以及因此我们是谁。