关于开源的五个问题--北航开源软件开发导论第一次作业

这个作业的要求是: https://bbs.csdn.net/topics/607938212

《2022 中国开源发展蓝皮书》中有提到了以下的一些内容:
“当前国内开源社区的运营和治理能力大部分还处于比较初级的阶段。形式上具备国外开源社区的治理架构,但还没有真正发挥出开源开放和协作的效应,社区贡献还是主要来源于项目的发起方。”
“技术风险长期存在。开源软件漏洞数量保持高位,且影响范围巨大,同时需要探索如何确保上游组件的快速修复、大规模、全覆盖地推送到下游依赖环节。”
“开源人才的问题也比较突出。具体包括人才供需对接的效率低,高技能人才匮乏,顶尖开源人才难寻,企业对开源人才的培养成本投入少,开源人才留存困难。”
结合我自己对程序员行业的认识,我产生了下列的五个问题:

1、关于普通程序员对参与开源项目的积极性的问题
大多数程序员应该是有固定工作的,他们当中有人多少有足够的时间和精力去投入到与自己的工作无关的开源项目中?一个程序员完全依靠开源项目养活自己是否现实?

2、关于开源项目开发效率的问题
在软件开发的过程中,项目成员之间的沟通往往是非常重要的,为了保证各个部分的代码能够准确地衔接起来,成员间往往需要频繁地进行交流,还要时不时开讨论会。而在开源项目中,成员来自各个不同的地方,不同的企业,因而成员之间的交流往往会更加困难。这很容易导致项目的代码不能形成统一的规范,成员之间很难理解彼此的代码,代码之间的衔接也可能出现问题。因而除了在自身人手真的不够,自身水平也有限的情况下,开源项目真的是一种高效的开发方式吗?

3、关于开源项目给企业带来的收益问题
人们常说一个优秀的程序员可抵五个普通程序员,厉害的程序员写出的代码往往会比普通程序员写的代码更加清晰、更加可靠。虽然请技术大牛完成项目会花不少钱,但更可能收获稳定、可靠、高效的软件。而将项目开源,则是将项目交给许多水平不一的程序员来完成,虽然开发成本可能降低了,但开发效率、代码质量却很有可能会下降,后期的审查、维护花费的时间和费用也可能会很高。因而对于企业来说,比起多花钱请技术大牛完成项目,将项目开源给未知的程序员是否真的更经济、更高效?

4、关于开源项目的复用性问题
虽然都说尽量不要重复造轮子,在遇到问题时使用已有的开源项目代码也确实会很方便快捷,但即使一个开源项目的代码被引用了很多次,也很难保证它不会在某些特殊情况下会出问题。而且,即使是同样的功能,不同软件的需求可能并不相同。比如同样是搜索功能,当数据量大到一定程度时,每个软件就要根据自身的情况进行不同的优化,以保证自身运行的效率。在这样的情况下,开源代码是否还有复用的可能?如果有,复用带来的收益是否足以让人接受修改代码带来的麻烦?

5、我们是否能指望企业培养开源人才
《2022 中国开源发展蓝皮书》中提到企业对开源人才的培养成本投入少,而在我的认知里,企业将自己员工培养成开源人才只是增加了员工参与其它开源项目的能力;将与自己无关的程序员培养成开源人才,对方不一定会一直帮助自己完成开源项目。因而是否可以认为比起培养开源人才,培养企业自己的员工是否能带来更多效益?是否可以认为企业往往不具备培养开源人才的动力?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值