简介:当他写到开源创新时,他想到的是更多产生创新代码的基础性元素。
原文:4 innovations we owe to open source
如果让人们列举几个开源创新,他们很可能会回答 “Linux”、”Kubernetes” 或其他一些特殊项目。但 Friedrich-Alexander University Erlangen-Nürnberg 的开源软件教授 Dirk Riehle 博士不会。Riehle 对开源的研究和写作已经超过十年,当他写到开源创新时,他想到的是更多产生创新代码的基础性元素。因此,Riehle 认为,开源为人们带来了四个创新。
法律创新
开源(以及它的亲戚,自由软件)保障三项法律权利:免费使用软件、获取和修改源代码以及能够传播源代码和二进制副本。而许可证则规定了软件的下游接受者修改软件并将其发行时必须履行的义务。Riehle 认为,开源法律创新的意义远比 “只是把软件送出去” 更大。
人们有时会疑惑,为什么开发者不直接把他们的作品放到公共领域。这就忽略了问题的关键所在:将作品放到公共领域,通常意味着作者放弃了自己的权利,大多数作者不希望这样。相反,他们希望明确授予哪些权利,要求哪些义务。
如今,一些开源项目遇到了麻烦,比如一些公司利用开源项目进行商业行为而不回馈开源社区。因此,一些开发者开始阻止某些类别的组织使用他们的软件。这是可以理解的。并且,这些事情在开源社区引发了巨大的争论,现在也远未结束。这同时也是开源伟大的地方之一:在社区,人们并不总是相处融洽,但至少愿意互相交流沟通。
流程创新
如果说法律创新是开源的 “大脑”,那么社区就是 “心脏”。虽然协作开发并不是从开源开始的,但开源在实践方面所做的工作比任何人或任何事情都要多。在开放合作中,参与是平等的(没有人被先验地排除在外),决策是择优的(决策是基于论证的优劣,而不是基于在企业等级制度中的地位),人们是自组织的(人们选择项目、流程和任务,而不是被分配给他们)。
当然,没有一个开源社区能完美地践行这一点(项目并不总是像人们所希望的那样任人唯贤),但社区才是一个项目繁荣的根源(例如,Linux 优于OpenSolaris)。
工具创新
在 “唯一不变的是变化 “的格言下,开源软件有一个习惯,就是把软件集中在特定的仓库上,最后把仓库抛弃。今天,世界上大部分的开源软件都驻扎在 GitHub 上,但不久前,它是 Google Code、SourceForge 或一系列其他存储库。然而,无论人们选择在哪里托管这些软件,代码仓库是一个明显的开源创新。
另外,Git,一个分布式版本控制系统,同样是一个巨大的开源创新。Git 并不是第一个软件版本控制系统,但它对所有组织如何构建和运营软件产生了深远的影响。
商业模式创新
在这个越来越由开源驱动的世界里,人们会越来越关注如何通过开源赚钱。开源正在通过如何创造新的和打破旧的商业模式的方式来改变软件行业。其本身可能不是一种商业模式,但它是一种有效的战略和工具,可以在竞争环境中使用。比如 Open Core 这样的新模式,已经给一些公司带来了巨大收益。因此,人们有理由预期未来用于开源软件开发的资金会增加几个数量级。
而这也这同时意味着,在未来,人们将看到更多的开源创新。