参与开源项目可能对公司有利-原因和作用

9月哈佛商学院(HBS)网站上发表了有关开源重要性的文章 。 其作者宣称,参与开源项目并使其专有软件公开的IT公司在市场上具有竞争优势。 我们决定讨论此主题,并讨论这种策略的利弊


/像素/ Syed Abdullah / PD

技能提升


当公司管理层允许开发人员参与开放项目的开发时,员工将获得新的实践经验和知识。 同时,无需派遣开发人员参加其他培训或课程。 这样可以节省公司的钱,程序员可以通过解决IT社区有趣而有用的任务来学习。

大多数代码(85%)是由大型IT公司的员工编写的。 其中包括:英特尔,红帽,IBM等;第一个的开发人员在最新版本的内核中进行了 13%的更改,第二个的专家则“负责任”了7%,IBM的为4%。

这些公司的程序员注意到,使用内核可以使他们从内到外学习Linux,了解子系统的“内部”,并为最大的开源项目的开发做出个人贡献。 随后,他们运用所获得的实践技能来解决公司问题。

加快发展


当公司产品成为开源的一部分时(假设IT社区中对此产品有需求),社区将逐渐开始围绕它进行格式化。

当开发人员Luke Kanis在2005年创建Puppet客户端-服务器应用程序时,他最初计划通过免费分发软件来吸引用户。 结果,它发生了-现在有4万家公司使用其工具来实现OS管理自动化,其中有75家被列入“财富100强”评级。

这是一条简单的规则:参与开发的人越多,发布的速度就越高。 以Linux为例-该操作系统内核的新版本每两个月发布一次,对其他操作系统的更新有时需要等待数年。

另一个例子:Google 使用公司内部 Angular开源框架并投资于其开发。 当第三方Web开发人员加入该项目时,Angular很快获得了新的工具和扩展。 每个人都从中受益。

错误检测


不断发展的社区不仅允许更快地发布应用程序的新版本,而且还有助于修复错误。 由于任何人(包括安全专家)都可以查看开源软件的源代码中的漏洞,因此认为它更安全。 而且,这种想法越来越多地找到了各种公司的“内心回应”。


/ Flickr / Henri Bergius / CC BY-SA

今年8月,埃隆·马斯克(Elon Musk)在Twitter上发布了意图开放特斯拉汽车安全软件的记录

批评人士认为 ,这种说法看起来像是一种营销手段,据称伊隆正试图将其安全标准强加于其他无人驾驶汽车制造商。 但是有些人认为这样的解决方案将有助于提高特斯拉系统的安全性。 第三方开发人员的崭新面貌将使您可以对代码进行更改和改进。 因此,最终产品将更可靠地保护车主。

美中不足


并非所有公司都准备好将其专有解决方案发布在GitHub上。 他们坚信,如果您将项目转移到开源,则会失去竞争优势。 类似物可能会出现,并且该项目将不再是唯一的。 例如,思科拒绝公开他们的决定,因为他们不希望产品的“秘密成分”公开发布。

如果公司接受风险并且仍然希望将软件开源,则仅使软件开放并观察其开发将会失败。
1cloud.ru云基础架构租赁服务开发部门负责人谢尔盖·贝尔金(Sergey Belkin)说:“如果一个组织希望将其解决方案以这种方式带入开源,那将毫无意义。” -为了使社区围绕新解决方案成立,您将必须做与商业产品相同的事情。

首先,了解您的公司为什么需要它,然后制定路线图并制定出开发软件解决方案的策略。”

结果如何


关于公司是否应该参与开源项目的意见不一。 有人将其视为唯一的优势:能够“提升”员工的技能,加速产品普及度的增长以​​及为IT社区和行业提供帮助。 其他人则不急于在开源上投资资源,因为担心市场上会“迷路”。

两种说法都有些道理,但是大多数IT界都坚信支持开源项目的好处胜于缺点。 但是,公司需要了解他们希望成为开源社区一部分的确切原因。

我们在公司博客中写的内容:

Source: https://habr.com/ru/post/zh-CN431430/


All Articles