400-888-0545
首页 > 关于我们 > 新闻详情
为何现在开源OA越来越热门?
发布时间:

“开源OA,为何越来越热门?”“开源OA有何优点?”“你会用开源OA吗?”等等诸如此类的问题,百度一下就会有很多种不同的答案,笔者看到一种答案不禁想结合自己对开源OA和开源软件的理解感叹几句。

如上图所示:一种典型的回答是,优点就是可以自己改,缺点是安全性差。

当然,从优点上来讲,选择开源OA或者开源软件有非常多的优点,可不仅仅是可以自己改和便宜,比如:

1、能更详细地了解供应商或者选择的项目是否优质,代码一看就明白了;

2、可以得到更好的技术支持,发布开源软件的开发者一般都会留下联系方式,遇到问题可以直接通过公开的方式进行联系,解决自己遇到的问题;

3、因为有很多人都在使用,项目的迭代会持续进行,相当于大家都在为同一个项目不断提供经验,不断修复问题,项目会越来越趋于健壮;

优点还有很多,就不在此一一列举,至于上图所提到的缺点,笔者认为,刚好相反,优质的开源OA或者说开源软件反而更加安全,理由如下:

1、一般来说,作为开发者或者企业在开源自己的项目之前,会仔细审核自己的项目。原因很简单,写得太渣了,不太好意思开源,人都是要面子的,开发者也一样。所以选择Star和Fork数较多的,正在迭代更新的开源项目一般不会有太大的问题;

2、在一个项目开源,并且有一定数量的Star和Fork数之后(比如1000以上),使用项目的开发者或者用户会不断提交BUG或者反馈问题,随便一次次迭代,用户遇到的问题会一个个都被解决,用户会逼开源项目越来越好;

3、如果选择的项目是真正的开源项目(没有任何jar包闭源),使用者可以更清楚地看到每一行代码,也可以自己动手修复那些自己找出来的问题。开源社区的每一位贡献着也会积极地修复自己能找到的安全漏洞,让整个项目更加安全可靠。

综上,选择优质的开源项目,开源OA,相比闭源的项目更加安全可靠。至于上图中所说的开源项目便宜,这也应该是大多数人心底想法。选择开源软件的确会节约成本,但其实开源和免费,开源和便宜并不能直接划等号。选择开源软件,肯定也是需要一定的成本的,只是这些成本有可能不是RMB而已。比如,需要大量的精力研究源码,修改源码以达到项目的需求。笔者认为,如果能选择一款优质的开源项目作为基础平台,然后在此基础上完成自己的项目建设,业务落地,适当购买技术支持服务也是应该的。第一,可以大幅度缩短自己的学习成本,在短期内让团队快速熟悉平台的开发和使用模式;第二,还可以为自己的项目购买一个“技术保障”,在项目需要进行性能优化,需要进行故障处理时有足够的技术资源的支持,保障系统的稳定运行。

在此笔者也尝试着总结一下选择开源软件对企业带来的几个好处:

1、更直观的了解供应商的技术能力

在你投资工程和经济资源将产品整合到你的基础设施之前,需要确保产品的合格性:是否处于积极开发状态?是否有定期的漏洞修复和安全更新?产品是否能根据需求按时更新?

最后一点或许比你想象的还要重要。解决方案必须满足产品需求。但需求会随市场及商业的变化而变化,如果产品不随之做出改变,未来就需要花费一笔不菲的迁移成本。

而在开源的世界里,你可以综合产品的发展速度以及社区的健康程度来比较供应商。一个更积极、更多元化的社区能在一两年后开发出更好的产品,这是一个关键的参考因素。当然,供应商必须要有能力解决在项目发展过程中出现的不稳定性问题。最后,还需要供应商具备较长的支持周期,以避免更新混乱的出现。

2、更有利于产品的长期发展

福布斯杂志指出,90%的初创公司最后都会失败,而他们当中,只有不到一半的中小型公司存活期能超过5年。如果在产品开发的中途突然出现需要更换供应商的问题,那迁移的成本就很高了。所以,要避免选择只有一个供应商支持的产品。

而开源使得社区成员能够协同编写软件。如 OpenStack 就是由多个公司及个体志愿者共同编写的。这么做,就能保证,在一个供应商出现问题的情况下,其他供应商能继续支持。而且,软件一经开源,企业就会长期投入开发团队以实现产品开发。使用源代码的好处就是,你可以聘用贡献者来保证开发的活跃性。

3、项目更安全

开源软件的代码通常也更加安全,因为它经由社区进行了更为彻底的审查和检查(并且出现的任何问题往往会更加努力地进行修补)。企业采用开源代码长久以来都是犹豫不决的态度,不过现在看来,对安全性的担忧似乎不应是一个问题。以开源的方式进行开发,可以很直观地看到,供应商是如何对待安全问题,以及是否在积极保证产品安全。研究源代码并执行独立代码审核,也可以及时地发现问题并解决问题。

开源除了源代码开放外,开发的过程也是透明的,因此,你可以检查供应商是否遵循 ISO27001,云安全原则等基准行业标准开发流程。

4、更多的用户导向

开源能使顾客和用户直接看到并参与到产品开发中来,这比闭源软件开发更能了解客户的需求。供应商可能只关注产品的某一特定方面,而一个社区能致力于开发出更多的功能,能创造出对用户更有价值的产品。

5、避免被厂商技术锁定的风险

选择开源软件避免被锁定用于核心基础设施的专有软件会增加被供应商或技术锁定的风险。如果发生这种情况,企业就会收到供应商提升价格的要求,并且尝试到缺失灵活性的体验,还不能轻易摆脱他们的限制。不过企业对于真正开源解决方案的使用也应该谨慎,注意那些未完全开源,引入专有代码钩子的重新打包过的开源软件,这是天坑。

6、更有利的许可

典型的软件许可充斥这一些不公平条例,它通常是对产品供应商有利,而非客户。如果软件停止运行,或者如果供应商要求支付更多的费用,你甚至无法起诉供应商的不当行为。而像 GPL 一类的开源许可证就是为保护客户专门设计的,而不是供应商,它确保你按照自己的需求使用软件,而没有专制限制。

总结:我们相信开源,支持开源

我们相信开源本身所蕴含的的开放、协作与自由的精神必然引领越来越多的开发者和用户离开传统的商业软件的阵营。

因为开源,有无数的中小企业可以享受信息化升级带来的便利;

因为开源,你可以自己修复那个古老的bug,甚至通过定制升级目前的功能;

因为开源,无数的使用者和开发者一起参与了使用和测试,软件更加稳定与可用;

因为开源,在垄断软件巨头以外客户找到一个替代的解决方案;

因为开源,开发者与其他专业人士可以进行全球化协作与创作,史无前例的协作规模汇聚了众人的智慧;

因为开源,客户不再受到恶意的开发者的绑架, 开放的代码让他们可以随时换人;

因为开源,非主流软件的生产国不用担心国家安全的问题,开源是没有国界的;

因为开源,大笔的软件授权的费用将被节约,客户可以将资源用于对核心业务的关注。