The Linux Foundation:引入开源软件的六大运营挑战

Easter79
• 阅读 565

原文:https://www.linux.com/blog/learn/chapter/open-source-management/2017/3/6-operational-challenges-using-open-source-software

在当今迅速发展的市场中,那些速度最快、成本最低的持续创新公司才会赢 。同时,正如你所知,我们正在进行的一系列观察,使用开源软件能够实现快速、低成本的创新。 但它也能引入运营挑战和法律风险。

The Linux Foundation:引入开源软件的六大运营挑战

我们现在已经到了这样一个临界点,开源软件已经成为主流,不使用开源几乎肯定会使你的组织处于劣势。所以你必须学会如何驾驭挑战和风险,才能保持竞争力。

“开源是无处不在的,它是不可避免的……对抗开源的政策是不切实际的,会使你处于竞争劣势。”——加特纳。

在这篇文章中,我们将探讨开源如何成为构建软件现实途径。然后,我们将介绍这种新的软件开发方法为组织引入的挑战。

开源软件革命

从大约四十年前开始,发端于创新学术研究和GNU工具项目,开源软件已经成为主流并重塑了许多行业。今天,已经有超过150万个独特的开源项目,贡献给软件开发者的工作代码超过百万兆字节。这些资源的可用性、软件模块化的趋势以及软件重用,从根本上改变了大多数公司开发软件的方式。

不久以前,我们大部分软件产品都是自己内部开发的。我们也许会使用了一些第三方组件,用以连接到其他系统或执行一些特殊的业务,但这些都是通过一个精心控制的采购流程控制的。

今天,我们可以利用互联网上免费的开源组件,以更快的速度开发更复杂的软件。我们的大部分活动已经从设计开发定制软件,转变为整合现成的组件或半成品。我们只对应用程序中确实非常独特的部分进行编程。

但是现在,我们不再重复一些精心控制的代码收购,而是从互联网上反复下载代码来进行评估、原型制作和集成。虽然这种方法加快了开发速度,但它制造了一系列新的重大挑战。

开源软件六大运营挑战

使用开源软件带来了许多好处,但它会在软件开发生命周期中引入风险和额外的操作复杂性。

  1. 组织必须处理许多新的软件源代码,包括商业和非商业的供应商 – 一些人使用的开源软件来自数百个不同的来源。

  2. 众多可用的开源组件导致需要大量的第三方软件采购决策。这些决策如何做出?许多开发者没有相应的资质考虑所有这些必要的方面,包括软件许可证分析,但是一个沉重复杂的流程,例如陈旧的采购方法,代价昂贵和而且费时很长,以至于无法应用到大量新的采购决策中。

  3. 集成了大量的第三方组件会制造复杂性。其中一方面就是在多个相互依赖的代码栈中维护软件版本的一致性。

  4. 开源软件项目的范围,覆盖业余玩家到专业的开发和版本测试等不同阶段。您的组织必须确保每个应用程序都能选择相应质量保障级别的组件。

  5. 您的组织将如何获得所有这些开源组件的技术支持和更新?健康的开源社区提供优秀的支持和维护,但开源的自助服务模式,需要您的开发者与社区的共同参与这部分工作。

  6. 商业合作关系可以通过增加财政奖励的方式,向供应商强化你的诉求主张,但是否能影响开源项目的方向取决于您参与的多方面因素。

6 Operational Challenges to Using Open Source Software

In today's rapidly evolving markets, companies that consistently innovate, most quickly and at the least cost, will win. And, as you’ve seen in our ongoing series, using Open Source Software (OSS) enables rapid, low-cost innovation. But it can also introduce operational challenges and legal risks.

We’re at a point now that OSS has become such a mainstream phenomenon that not using open source almost certainly places your organization at a disadvantage. So you must learn how to navigate the challenges and risks in order to remain competitive.

“Open source is ubiquitous, it’s unavoidable… having a policy against open source is impractical and places you at a competitive disadvantage.” -- Gartner.

In this post, we’ll explore how open source became the de facto way to build software. Then we’ll cover the challenges this new method of software development has introduced for organizations. You can download the entire series now in our Fundamentals of Professional Open Source Management sample chapter.

The open source development revolution

From innovative beginnings in academic research and the GNU tools project started roughly four decades ago, OSS has grown into a major phenomenon that has reshaped multiple industries. Today, there are more than 1.5 million unique open source projects offering terabytes of working code to software developers. The availability of these resources and the trends toward modular software and software reuse have radically changed the way most companies develop software.

Not so long ago, we developed most of our software products in-house. We might have used a few third-party components for connectivity to other systems or some specialized processing, but these were acquired through a carefully controlled procurement process.

Today, we develop more complicated software faster by using open source components freely available on the Internet. Most of our activity has shifted from specifying and implementing our own custom software to integrating already available working pieces. We only code the parts that are truly unique to our application.

But now, instead of a few carefully controlled code acquisitions, we are repeatedly downloading code from the Internet to evaluate, prototype, and integrate. Although this approach speeds up development, it has created some significant new challenges.

6 OSS operational challenges

While using OSS brings many advantages, it can introduce risks and additional operational complexity to software development lifecycles.

  1. Organizations must deal with many new software sources, including commercial and noncommercial suppliers – some use OSS acquired from hundreds of different sources.

  2. The cornucopia of available open source components drives a higher volume of third-party software acquisition decisions. Where are these decisions being made? Many developers are not qualified to consider all of the necessary aspects including software license analysis, but a heavy-weight process like the old procurement approach is too expensive and time consuming to apply to the new volume of acquisitions.

  3. Integration of a large number of third party components can create complexity. One area of complexity is software version consistency across multiple interdependent stacks of code.

  4. Open source projects run the gamut from amateur exercises to professionally developed and tested releases. Your organization must ensure that appropriate levels of quality are chosen for each application.

  5. How will your organization obtain technical support and updates for all of these different open source components? Healthy open source communities provide excellent support and maintenance, but the self-service model of open source requires consistent participation on the part of your developers.

  6. Commercial relationships can reinforce your requirements with suppliers by adding a financial incentive, but influencing open source project direction is dependent upon multiple aspects of participation.

In our final article, we’ll discuss the legal issues and risks that come when companies incorporate OSS into their own software projects. And we’ll introduce the spectrum of open source license types with which organizations should become familiar.


更多精彩内容扫码关注公众号:RiboseYim's Blog:https://riboseyim.github.io !\[微信公众号\](http://o8m8ngokc.bkt.clouddn.com/ID\_RiboseYim\_201706.png)
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k