所谓开源就是开放源代码(Open source code),也称为源代码公开。开放源代码软件就是在开放源代码许可证下发布的软件,以保障软件用户自由使用及接触源代码的权利。这同时也保障了用户自行修改、复制以及再分发的权利。

现如今众多互联网公司纷纷拥抱开源,这其中既有甜头又有不少坑。今天小编精心总结了面对开源,大佬们畅谈的开源优缺点,希望大家也能在评论区畅所欲言,聊聊你们公司是如何迎接开源的?

首先,绝大多数程序员认为开源是趋势、是方向和未来。开源的世界发展越来越好了,尤其随着Android以及前端技术、后端技术都在推动开源的发展,这个是趋势,也是未来的方向,无论是阿里、腾讯等大厂,或者从软件、到互联网技术、到大数据、再到AI都是基于开源运动发展起来的。因此如果能借鉴或者引用开源的技术尽量引用,直接站在开源的肩膀上专注自己的业务创新。

其次,采用开源标准或者技术,有利于上下游厂商业务对接和集成。因为大家大都是这么干的、尤其是各种认证、第三方授权登录、框架的对接等等,开源更有利于和对方对接;同时社会上开源的人员也比较多方便招人,不至于关键岗位上人走了还要担心业务无人接替。

其实开源和闭源究竟哪个成本高?这个问题比较复杂。主要看看自己做的是什么业务或者什么类型的产品,如果是个独立的应用建议自己独立开发好,开发过程中采用适合的开源组件即可,如果您做的是平台型产品或者是系统级别的产品,建议直接采用开源然后在做开发;成本的问题主要是人工的问题,源代码量越大越省钱,关键是出产品较快。如果采用开源技术,团队成员水平要求较高,同时做好分工和规划,架构师和骨干员工专注于开源本身技术的理解和bug修复,涉及到业务人员专注于做业务开发,项目刚开始启动大部分精力和时间在读代码。如果针对开源修复的bug,有精力的话积极反馈给社区,和社区形成合力发展是最好的。

开源优点:使用开源可以提高开发的效率,提高各个层面的东西,前提是优质的开源项目。

开源缺点:开源软件经常出现的问题是跟不上公司业务需求,自研能够迅速开发响应需求。开源项目参差不齐,遇到不好的开源项目,还不如自己写,用不好,麻烦还多,bug多,维护成本高。

总体来看,中小型公司自研的代码基本是比不过开源的,很多时候都是写的是比较简陋的版本,或者仅仅是为了某些很没有意义的提升点去做,对自己的成长不见得比用开源软件更好,容易局限在自己写的代码中,和真正优秀的框架脱节。靠谱的开源软件是非常值得使用的,特别是一些比如特别通用的,比如存储,网络框架等,基本没必要自己再造轮子。

那么,你们公司是如何迎接开源的呢?欢迎大家在评论区畅所欲言,获取更多编程干货欢迎大家关注我的头条号。

查看原文 >>
相关文章