我的老板过去对Open-Source并不感兴趣。如果我们的开发人员使用图书馆或框架,他总是很好,这是免费的。但他从未对细节感兴趣。
但有些客户谈到了开源,因此他得到了这样的想法,即存在这样的事情。最近他让我们感到惊讶,因为他想和我们谈谈我们公司的开源和开源战略。
所以他告诉我们将来我们的软件许可系统。该系统包括注册下载,并且没有人被允许将代码提供给第三方,并且未经我们许可,任何人都不允许更改代码。所以我说这很好,但不是开源的,他对此有点不满意。
问题是,他真的不知道,开源是什么。你如何向老板解释开源的概念?
编辑:我认为我的老板有一个真正的问题需要理解,一个开发者社区没有强大的公司领导。在我看来,他认为私下工作的人不能生产一些有用的软件。因此,他认为Apache网络服务器和Linux是Sun的产品。他看起来很困惑,因为我解释说我可以从Apache网络服务器获取代码,更改一些内容并将这个已更改的网络服务器作为自己的产品发布(换句话说:制作一个分支)。
我确定他并不真的想要发布开源,但他不明白它的想法,所以我想找到解释它的方法。
答案 0 :(得分:8)
The Magic Cauldron帮助我理解了贡献和/或启动开源项目的价值。它可以帮助您向他解释价值和决策变量。
编辑:可以找到实际的论文而不仅仅是摘要here。请尊重版权声明。
答案 1 :(得分:8)
尝试将它们转到The Cathedral and the Bazaar。
答案 2 :(得分:6)
听起来您的老板正在为您的客户描述源许可证。这当然有价值,因为它可以让客户保证代码是高质量的。他们可以进行自己的代码检查,安全审核等。
它也可以替代将源代码放入托管。有些公司将其代码的副本存放在由第三方持有的存储中,以便在您的公司破产并消失的情况下,客户可以访问代码,以便他们可以接管该事件中的维护。贵公司与客户之间的协议应包括一个条款。如果您向客户授予源许可证,则可以取消第三方托管服务。您只需在协议中包含如果您的公司蒸发,则客户拥有使用和修改您的代码的非独占许可。
开源不同,因为每个人都有一个非独占许可,可以在您发布代码时立即使用和修改代码。在此期间,贵公司仍然保持健康。用户必须遵守许可条款,这可能会增加使用条件。例如,GPL表示,任何客户的修改也必须在兼容许可下提供。另一方面,BSD不要求这样做。
开源并非必然意味着免费。您可以为代码收费,即使它仍然是开源的。甚至GPL都允许这样做。但这是一个合理的问题,如果代码是开源的,你如何控制或执行许可?
最佳解决方案是,您的商业价值基于服务或访问,而不仅仅是代码。也就是说,如果客户正在支付新闻订阅的订阅,为什么不制作显示新闻开源的软件?在那个行业中,您甚至可能希望该软件免费广泛分发,因为它会吸引更多人订阅您的服务。
答案 3 :(得分:4)
我认为你的老板可能会在没有理解目标的情况下患上嗡嗡声综合症(除了“请顾客”)。
我认为你应该做的不是试图解释开源,而是与他谈论他的商业策略(假设他掌控它并且你是一家小商店)。
如果您的商业模式依赖于销售专有代码,这些代码可以为您提供竞争优势并且永远不会与客户共享,那么就没有理由去开源。
如果您正在开发的内容对其他人有益,并且您的企业可以通过提供与代码相关的服务来获得收入,或者如果其他人可以更改或扩展该产品可能会更成功,那么开源可能是相关的。
答案 4 :(得分:2)
告诉他这是一个社会主义思想,有助于破坏“男人”。
答案 5 :(得分:1)
问题是,他真的不知道,开源是什么。你如何向老板解释开源的概念?
我们提供软件,以便每个用户都可以自己解决问题,自己解决问题并免费向我们发布解决方案。
答案 6 :(得分:1)
让他阅读有关开源的维基页面:http://en.wikipedia.org/wiki/Open_source_software
答案 7 :(得分:1)
第三方访问是开源的主要目的之一。其余的区别涉及用户通知,原始作者信用,销售可用性以及一些我确定已经忘记的更好的观点。 ;)
有许可证可以限制编辑的人和编辑方式 - 特别是研究许可证,允许查看和研究来源但不会改变。
但是,无论如何,限制第三方访问都是对开源源代码的定义 - 公开可用的源代码。
或者,您可以选择Shared Source(听起来更像是老板的想法)。
它仍然涉及第三方访问,但这有更多的拒绝未注册访问的限制。
答案 8 :(得分:1)
Here you can find a great EBook解释了开源如何运作。
它帮助我理解为什么要花时间/工作以及如何为这些项目提供资金。