我作为软件开发人员出现在一个由拥有封闭源软件的大公司主导的专有世界中 - 它没有受到质疑.随着我的职业生涯的发展,互联网变得越来越多,我接触到越来越多的开源软件.
回顾大多数库,我不是在谈论应用程序级代码,而是我们为雇主编写的实用程序,其中很少有直接的竞争优势,甚至更少的内在代表了您认为的知识产权.越来越多的库,框架和实用程序具有开源等价物.现在,我和我一起工作的开发人员在开始实现这样的代码之前首先寻找现有的库是很常见的.
这已经发生了很大变化.许多图书馆可能因缺乏维护而枯萎作为开放源代码,如果他们这样做,我的雇主也不会受到影响.如果他们兴旺或至少吸引了提交,那么这些雇主就会受益 - 这是我现在的雇主所发生的.
现在,看看我们面前的情况,我开始认为,对于我们将要编写的大部分库和框架,我们应该假设它们将成为开源来创建它们.那对于图书馆,公用事业和框架而言,这应该是基本情况,而不是假设它们将被关闭,然后你必须努力使它们开放 - 事实证明,事实上它往往是更多的工作(获得批准,执行评审和清理).
基础案例是开源的,我认为会有好处:
开发人员知道代码将被同行和潜在的未来雇主看到,可能会对文档,测试和设计更加严格,从而使代码本身更好.只要知道世界将能够看到你的代码,就可能改变你愿意削减的角落.这应该有利于赞助开发的组织.
个别开发人员将拥有更多的图书馆和可重复使用的代码来充分利用他们的所有项目,尽管这对个人开发者而言比赞助组织更有利
组织将更有效地分散开发成本,这是开源的核心前提,但如果开放是基本情况,它将更加普遍
它目前吸引了某种类型的开发人员加入该组织
它不能保证,但它为潜在的开发人员提供了进入面试过程的能力,该过程已经熟悉公司实际使用的工具和源代码
感觉这是一种趋势,至少在图书馆和框架层面 - 在我看来不是在应用程序层面.这是一个多元化的社区,您有什么看法?