开源与自由无关,也与许可协议无关。
开源与自由无关,也与许可协议无关。它关乎社区。当然,每个人都知道理查德·斯托曼 (Richard Stallman) 关于拥有修改他机器上所有软件的自由的担忧。蒂姆·奥莱利 (Tim O’Reilly) 多年来一直担忧,认为当开源许可证未在 Web 2.0 应用程序中分发而是执行时,它们无法保持软件开源。然而,在开源十年之后,我开始认为这两种担忧都被放错了位置。
是的,自由是必要的,但它是不够的。外面有很多自由软件没有价值,因为没有围绕该软件的社区。编辑、开发人员、贡献者和用户的金字塔是缺失的。您可以通过像隐士一样生活来最大化您的自由。这样的人可以自由地做他们个人资源范围内可以做的任何事情——但这并不多。自由在社会中最大化,这意味着放弃一些自由以换取利用其他自由的资源。“你挥舞拳头的自由在你打到我的鼻子时结束。”
在 OSCON 上,Alex Russell(dojo 的作者)向我指出,有些公司正在利用“开源”名称,使用开源促进会批准的许可协议,但故意切断社区。他们不接受外部补丁。他们不向社区寻求发展方向。这是真的。他们获得了名称的价值,但他们实际上并没有在他们的代码中获得价值。我不太担心这样做的人——或者蒂姆对 Web 2.0 公司的担忧。
在公司将软件从开源中移除的程度上,他们通过疏远社区来惩罚自己。价值不是来自许可协议,而是来自社区生态系统。这样做的公司会患上傲慢:我们足够大,可以建立我们自己的内部生态系统,然后我们拥有它。他们认为他们比用户更了解——他们可以比开源更好地闭环。这只是社会主义计算问题的再次出现,即千年虫问题。中心化市场(社会主义者为应对自由市场中感知到的不公正和浪费而推行的)失败了,因为他们无法获得计划所需的信息。在自由市场中,信息通过价格被提取和传播。当您控制价格或试图控制软件的发行时,有关正确操作的信息就会丢失。