我的老板过去对Open-Source并不感兴趣.如果我们的开发人员使用图书馆或框架,他总是很好,这是免费的.但他从不对细节感兴趣.
但是有些客户谈到了开源,所以他得到了这个想法,存在这样的事情.最近他让我们感到惊讶,因为他想和我们谈谈我们公司的开源和开源战略.
所以他告诉我们将来有一个许可我们软件的系统.该系统包括注册下载,并且没有人被允许将代码提供给第三方,并且没有人允许在未经我们许可的情况下更改代码.所以我说这很好但不是开源的,他对此有点不满意.
问题是,他真的不知道,开源是什么.你如何向老板解释开源的概念?
编辑:我认为我的老板有一个真正的问题需要理解,一个没有强大公司领导的开发者社区.在我看来,他认为私下工作的人不能生产一些有用的软件.因此,他认为Apache网络服务器和Linux是Sun的产品.他看起来很困惑,因为我解释说我可以从Apache网络服务器获取代码,更改一些内容并将这个已更改的网络服务器作为自己的产品发布(换句话说:制作一个分支).
我确定他并不真的想要发布开源,但他不理解它的想法,所以我想找到一种方法来解释它.
Eric S. Raymond 的Magic Cauldron帮助我理解了贡献和/或启动开源项目的价值.它可以帮助您向他解释价值和决策变量.
编辑:可以在这里找到实际的论文而不仅仅是摘要.请尊重版权声明.
试着把它们送到大教堂和市集.
听起来你的老板正在为你的客户描述一个源许可证.这当然有价值,因为它可以让客户保证代码是高质量的.他们可以进行自己的代码检查,安全审计等.
它也可以替代将源代码放入托管中.有些公司将其代码的副本存放在由第三方持有的存储中,以便在您的公司破产并消失的情况下,客户可以访问代码,以便他们可以接管该事件中的维护.贵公司与客户之间的协议应包括一个条款.如果您向客户授予源许可证,则可以取消第三方托管服务.您只需在协议中包含如果您的公司蒸发,则客户拥有使用和修改您的代码的非独占许可.
开源是不同的,因为每当您发布代码时,每个人都拥有使用和修改代码的非独占许可.在此期间,贵公司仍然保持健康.用户必须遵守许可条款,这可能会增加使用条件.例如,GPL表示,任何客户的修改也必须在兼容许可下提供.另一方面,BSD不要求这样做.
开源并不一定意味着免费.您可以为代码收费,即使它仍然是开源的.甚至GPL都允许这样做.但这是一个合理的问题,如果代码是开源的,您如何控制或执行许可?
最佳解决方案是您的业务价值基于服务或访问,而不仅仅是代码.也就是说,如果客户正在支付新闻订阅的订阅,为什么不制作显示新闻开源的软件?在该业务中,您甚至可能希望该软件免费广泛分发,因为它会吸引更多人订阅您的服务.