从早期开始,源代码的可用性就是开源软件的决定性特征之一。实际上,Apache 网络服务器项目的 Brian Behlendorf 是早期开源软件的成功人士,他偏爱“源代码可用的软件”。
另一个重要的方面与用户权利有关。因此,出现了理查德·斯托曼 (Richard Stallman) 的 GNU 宣言和 GNU 通用公共许可证 (GPL) 中提出的“自由软件”术语。正如简写所说,自由是关于自由,而不是价格。Christine Peterson 后来创造了“开源” 一词,作为一种替代方案,以避免经常在这两种自由含义之间产生的混淆。而这就是今天使用最广泛的术语。
这些和其他历史背景仍然影响着今天许多人对开源的看法。开源的起源仍然应该为今天的开源思考提供信息。但它也不应该过度限制这种思考。
基于此背景,以下是一些开源并非如此的事项,或者至少不是开源的核心及其未来发展方向的事项。
开源并非许可证
作为法律概念,许可证仍然是开源软件基础的重要组成部分。但是,尽管最近在该主题上引起轩然大波,但许可证在很大程度上已不再是曾经的中心主题。人们普遍理解,从 GPL 系列等著作权许可证到 Apache、BSD 和 MIT 许可证等各种免许可许可证,许可证的范围各有优势和权衡。
今天的项目倾向于基于实际考虑选择许可证——新项目普遍更多地使用免许可许可证。鉴于人们普遍认识到开源定义 (OSD) 已被现有许可证选项充分涵盖,因此新开源许可证的激增也已基本消退。
(OSD 和开源促进会 (OSI) 维护的一系列批准的许可证充当了构成开源软件许可证的普遍接受标准。核心原则包括免费再分发、提供获取源代码的途径、允许修改以及不禁止任何人使用该软件及其用途。)
开源并非流行语
文字很重要。
开源软件因多种原因而受到用户的欢迎。他们可以免费获取软件并根据需要进行修改。他们还可以购买商业产品,这些产品打包了开源项目,并在生命周期内以许多企业生产部署所需的方式为其提供支持。
许多开源软件用户也将其视为获取上游社区项目中所有创新的绝佳途径。
换句话说,“开源”一词带有普遍积极的氛围。
但是,根据前面提到的 OSD,开源也有一个明确的定义。因此,如果你的许可证和软件实际上不是开源的,你就不能仅仅贴上开源标签并称其为开源。好吧,没有人能阻止你,但他们可以指出你这一点。带有开源标签的专有软件不会为你或你的用户带来开源方法的任何优势。
开源并非查看代码
获取和查看开源代码的能力是开源定义的内在要求。但查看并不是有趣的部分。
如果我写了一些东西并将其以开源许可证发布到公共存储库中,然后就此结束,这不是一个非常有趣的行为。可能仅仅代码本身就具有足够的价值,以至于其他人会分叉该软件并对其进行有用的处理。
但是,在大多数情况下,如果我不邀请贡献或以其他方式努力围绕项目和代码库建立社区,它就不太可能获得关注。而且,如果没有人查看代码,那么是否可以这样做真的重要吗?
开源并非商业模式
经常听到人们谈论“开源商业模式”。我将稍微迂腐地争辩说,根本没有这样的东西。
并非开源不与商业模式交叉并影响商业模式。当然,它会。最明显的是,开源往往会排除那些完全或大部分依赖于限制访问以某种方式未购买的软件的商业模式。
相反,参与上游开源社区可以创造原本不存在的机会。例如,公司可以与竞争对手分担编写通用基础设施软件的工作,同时专注于他们认为可以增加独特价值的业务领域——如果你愿意,可以称之为他们的秘诀。
但是,我认为,将开源本身视为一种商业模式是一种错误的框架。它分散了人们对从可持续公司目标和差异化角度思考商业模式的注意力。
开源是...
这就引出了开源的一个关键方面,因为它已发展成为软件领域如此重要的组成部分。
开源保护用户自由,并为用户提供战略灵活性,使其能够将供应商和技术转移到专有软件几乎不可能达到的程度。这是理所当然的。
开源也已成为协作软件开发的绝佳模型。
但是,充分利用该模型需要接受它,而不仅仅是采用一些肤浅的形式。
今天,创建和执行在很大程度上依赖于开源软件的商业模式是否存在挑战?当然。但是,即使大型云提供商可以说增加了难度,这些挑战也一直存在。而且,真正地,建立可持续的软件业务从来都不是一件容易的事。
开源软件正日益成为大多数软件业务不可或缺的一部分。这一事实带来了一些新的挑战。但也开启了新的可能性。
观看:Gordon Haff 和 Spender Krum 讨论此话题 IBM Think 2019
2 条评论