认真对待开源战略的7个理由
你的公司是否有助于引导它所依赖的开源项目?内部软件项目会从外部贡献者那里受益吗?组织里有人负责回答这些问题吗?
如今,承认开源是一种可行的软件开发模式是不现实的’这还不够。公司还必须制定符合其技术和业务目标的开源战略。
Cheryl Hung,云计算的基础上的生态系统的VP,负责基金会的用户社区,并建议初创公司关于他们的开源策略。她告诉我,通常情况下,公司的开源程序都是自下而上的,由个人开发者来掌控。这不是一件坏事,但更有组织的程序可以帮助公司充分利用开发人员的时间和可用的开源工具。
一些公司领导会热衷于开源程序,而另一些则不会。不管怎样,这里有七个组件可以有力地证明新的或扩展的开源程序的概念。
启动或扩展公司开源项目的七个理由:
- 它有助于支持员工。
- 它提高了公司在营销和招聘方面的声誉。
- 参与关键项目有助于公司控制技术发展轨迹。
- 贡献者越多,创新速度就越快。
- 团队会从技术更先进的公司那里得到提示。
- 开放源代码许可证通常附带法律保护。
- 企业使用开放源码的缺点常常被误解或夸大。
下一步读这个开源贡献:终极指南
它有助于支持开发人员
开放源代码程序通常是以单个开发人员的身份开始的,他们为工作中对他们有利的项目做出特别贡献。通过围绕开放源代码贡献创建一些流程,管理者可以启动更协调的工作来改进关键的开放源代码工具。这也有助于开发人员避免无薪的晚上和周末时间贡献给项目。
它提高了公司在招聘和营销技术人员中的声誉
在雇佣技术工人或向其他技术公司销售产品时,公司的技术品牌至关重要。Hung说,拥有过时技术或对开放源码生态系统了解不足的公司将发现自己的选择越来越少,而对开放源码好处的强烈把握则会打开大门。
洪磊说,云计算原生银行平台Form3第一手了解到了这一点。它的B2B营销主要集中在功能和其他应用内优势上。后来它意识到,许多客户选择它的产品并不是因为这些原因,而是因为它的现代云技术。
她解释说:“尽管他们的主要工作并不是真正的销售cloud native,但他们仍然希望自己成为一家技术领先的公司,因为这有助于提升业务价值,然后吸引新客户。”。
许多其他公司,如Netflix,努力将自己打造成类似谷歌或Facebook的尖端科技组织。这可能看起来像“在公共场所构建”,或者共享博客文章和其他记录团队开源历程和贡献的内容。
“通过博客、会议、会议、播客等公开谈论你的工程团队正在做的工作。”
洪磊说:“通过博客、会议、会议、播客等公开谈论你的工程团队正在做的工作,这样你就可以把自己呈现为一家现代科技公司,拥有一套对开源友好的现代科技产品。”。“因为如果你在竞争最好的开发人员,他们就是想在这种公司工作的。”
熟练的开发人员很难找到和招募,这已经不是什么秘密了。而使用正确的技术是吸引他们的关键。根据Adobe Workfront的2021年工作状态报告显示,由于公司技术过时而拒绝工作的受访者人数在2020年增加了12个百分点。以及G2 2019年软件幸福状态报告显示,52%的受访者对工作不满意是因为软件性能不好。
洪磊说,当面对选择在一家拥有强大开源程序的公司工作还是在没有开源程序的公司工作时,大多数开发人员都会选择前者。这样更有趣,更有利于他们的职业生涯,更有可能符合他们的个人学习目标。
影响关键项目应该是公司目标的一部分
超过90%企业软件中的代码是开源的。如果一个组织依赖于一个特定的开源库,特别是对于关键的业务目标,那么尽可能地参与项目是有意义的。
洪磊说:“如果你已经非常依赖开放源码,那么你可能应该在这些项目中占有一席之地,这样你就可以确定这些项目将在未来5到10年内继续存在,并朝着你希望它们进入的方向发展。”。
这可能看起来像是识别对项目有帮助的添加或更改,并游说将它们添加到产品路线图中。公司还可以建立一些通信协议,这样开发人员就可以共同确定最有用的贡献方式。一些公司甚至推出“开源项目办公室。” (Change Healthcare和美国银行目前都在招聘对于开源项目经理来说)通常,大公司希望参与关键开源项目的治理委员会。
“如果你已经非常依赖开源,那么你应该在这些项目中占有一席之地。”
随着规模较小的公司采用这些相同的策略,CNCF已经看到了Hung所说的“最终用户驱动的开源”的兴起,即依赖CNCF项目的组织将自己的工程团队投入到贡献中,而不是依赖Red Hat等供应商代为贡献和开发所需的功能。
“公司说,‘你知道吗,我们最好在自己的工程团队中保留专业知识,我们希望提高这些人的技能。洪磊说:“如果我们有三个非常受尊敬的人,他们为这个开源项目做出了很大的贡献,而不是让红帽来做,这将成为我们长期的竞争优势。”。
因此,这种想法将影响招聘决策——但开源项目也可以帮助解决这一问题。例如,如果一家公司使用一个特定的JavaScript框架,那么很容易就可以跟踪该框架的关键贡献者,并在职位空缺时联系他们。
它有助于加快创新,并使一些专有产品具有优势
一个项目的贡献者越多,它从中受益的想法就越多。公司必须小心,不要错失利用开源群体思维的机会。
服用Spotify。2014年,在大牌容器编排系统出现之前,该公司决定建立自己的内部系统Helios。谷歌也这么做了:库伯内特斯。
剩下的就是历史了。这两家公司都公开了他们的项目,但Kubernetes后来成为了他们的招牌项目云原生技术,而Helios在Spotify之外并没有看到太多的采用。2018年,音乐流应用程序意识到,仅仅依靠一小队内部开发人员继续建造Helios是不可持续的,因此它转向Kubernetes。
“[Spotify]不得不把他们的东西都撕掉’我一直在进行内部建设,并转向[库伯内特斯],后者的发展速度更快,得到更好的支持,创新速度也更快,” 洪磊说。
“事实上,我们使产品的一切都是开源的,这意味着人们可以为此做出贡献,而且他们可以更快地编写自己的集成。”
类似的故事在Netflix和Lyft这样的大牌公司也上演过。Netflix放弃了其专有的服务间通信堆栈赞成开源gRPC时,前者变得太复杂,无法维护。与此同时,Lyft选择开源其基础设施监控解决方案特使,以便从中受益更广泛的贡献者群体洪磊说,虽然仍在向员工支付报酬,让他们为特使工作,并指导项目的发展方向。
即使是对脱离专有软件模式毫无兴趣的公司,也可以从某些产品组件的开源中获益。
“在我的上一家公司,那是一家提供存储产品的供应商,我们将所有文档、教程和所有集成点都开源,同时保持产品本身的核心所有权,”Hung说。“事实上,我们使产品的一切都是开源的,这意味着人们可以为此做出贡献,而且他们可以更快地编写自己的集成。”
她解释说,这使该产品比完全自主的竞争对手更具优势。
你可以向技术更先进的公司学习
洪磊说:“每家公司都处在技术之旅的某个阶段。“保持领先地位的唯一方法就是向别人学习。”
她解释说,对于那些有意采用开源策略的公司来说,学习是很容易的。他们的技术领导人和贡献者经常与那些在同一技术“旅程”中领先他们6到12个月的人擦肩而过。这就创造了机会来检查更先进的公司的决策,并提出关键问题,如:
- 您面临哪些技术挑战?
- 你对此有何反应?
- 如果你能再做一次,你会做同样的决定吗?
开源的风险比法律部门想象的要小
对于一家希望正式参与开源的公司来说,第一步通常是获得法律部门的批准。公司律师希望了解以下法律后果:
- 参与第三方维护的代码库的员工
- 第三方参与公司维护的代码库
对于大多数常见的开放源代码许可证,两者都不是真正的问题。这个Apache Contributor许可协议例如,授予公司“永久的,全球性的,非排他性的,免费的,免版税的,不可撤销的”由外部开发者贡献的代码使用权。
“我只是想,‘当然,我们’我们不会起诉你的。它’这是一个开源项目。’”
但这也意味着企业赢了’t型“拥有” 他们的雇员’ 对大多数开源项目的贡献— 而且赢了’我对这个项目的使用方式不负责任。
洪磊解释说:“如果有人向库伯内特斯捐款,库伯内特斯被用来经营核电站,而核电站爆炸了,并不意味着他们可以去起诉(捐款人)的雇主。”。
(有些人,比如道德来源组织的成员,认为贡献者应该更多的投入他们的代码贡献可以用来做什么。有关开放源码的一些法律问题的更深入的指南,请访问此资源来自GitHub.)
接着读这个如何使用开放源码来促进你的职业发展
它’这是免费的。(而人们却不是’我不会取笑你的。)
洪磊说,尽管开源开发在过去十年中获得了爆炸式的普及,但很多公司仍在犹豫要不要参与进来,这一点“百分之百”准确。
“我在想最近和一家公司的一次谈话,他说,‘我们想利用CNCF的一些项目。我们必须付钱给CNCF才能成为会员,这意味着你不会起诉我们吗?”洪回忆道。“我就想,‘好吧,我们当然不会起诉你。这是一个开源项目。”
在更为传统的行业,尤其是银行业、石油和天然气行业,了解和采用开源技术进展比较缓慢。其他公司担心,如果他们把专有软件放在一个公共git中,人们会很快批评和贬低它。不过,随着时间的推移,Hung相信更多的组织都会采用开源。
她说:“我认为这是一种文化变革,一种文化转变,更重要的是。”。“我发现,尤其是那些职业生涯较早的年轻人,更愿意把东西作为开源项目发布。”