这类话题,百度一下就会有很多种不同的答案,笔者看到一种答案不禁想结合自己对开源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,甚至通过定制升级目前的功能;
因为开源,无数的使用者和开发者一起参与了使用和测试,软件更加稳定与可用;
因为开源,在垄断软件巨头以外客户找到一个替代的解决方案;
因为开源,开发者与其他专业人士可以进行全球化协作与创作,史无前例的协作规模汇聚了众人的智慧;
因为开源,客户不再受到恶意的开发者的绑架, 开放的代码让他们可以随时换人;
因为开源,非主流软件的生产国不用担心国家安全的问题,开源是没有国界的;
因为开源,大笔的软件授权的费用将被节约,客户可以将资源用于对核心业务的关注。
相关推荐
- **初期投入较高**:相对于一些小型或开源的OA系统,金蝶OA的初期购买成本相对较高。 - **定制化程度有限**:虽然支持一定程度的定制化开发,但对于一些非常规需求可能难以完全满足。 - **系统更新速度**:由于...
随着互联网技术(Intranet、Internet)在我国迅速发展和普及,OA在数字化办公领域和企业信息化建设中扮演着越来越重要的角色。 IT知识点: 1. OA系统是将现代化办公和计算机网络功能结合起来的一种新型的办公方式...
近年来,随着信息技术的发展,OA系统变得越来越重要,对企业管理效率的提升和协同工作模式的推动有着显著的作用。OA系统厂商众多,不同的厂商提供不同特色的OA产品。本文将详细介绍几个在中国市场上颇具代表性的OA...
OA 办公自动化系统的发展前景非常广阔,随着信息时代的来临,各行各业都需要提高工作效率,降低生产成本,OA 办公自动化系统将扮演着越来越重要的角色。 OA 办公自动化系统的优点包括: 1. 提高工作效率:OA 办公...
随着办公自动化的广泛推广,越来越多的企业将OA系统融入日常运营中,这不仅简化了工作流程,降低了运营成本,还提高了信息的透明度和决策的效率,是现代企业管理的重要组成部分。对于计算机专业的学生来说,理解和...
为什么混合应用程序现在更受欢迎? 抽象的 由于 IOS 和 Android 正在占据大多数移动设备市场,因此 App 越来越受欢迎。 开发人员知道有两种通用类型的 App。 一种是在浏览器上运行的Web应用程序,另一种是在移动设备...
银行OA系统(办公自动化系统)在企业管理中扮演着重要的角色,尤其在互联网信息技术的推动下,越来越多的企业转向使用智能管理系统以提升效率和竞争力。在当前市场中,中小企业面临着现有的银行OA系统功能落后、不...
OA系统的建设背景是随着互联网技术的发展和普及,OA系统在数字化办公领域和企业信息化建设中扮演着越来越重要的角色。因此,现阶段有必要引进建设一套技术先进、符合当前办公发展需要的办公自动化系统,以增强协作,...
移动OA系统是指基于移动互联网技术,为用户提供随时随地处理事务能力的企业内部管理工具。它能够实现传统OA系统的全部功能,并在此基础上增加了新的特性,比如位置服务、即时通讯等,使企业能够更有效地管理和协调...
国内外关于OA管理系统的现状研究表明,随着信息技术的快速发展,越来越多的企事业单位开始关注和应用OA管理系统。研究主要集中在系统功能需求分析、系统架构与技术选型、用户体验设计、安全性与数据保护等方面。未来...
SSM 框架在OA小型企业资源管理系统中的应用 摘要:本文介绍了基于 SSM 框架的 OA 小型企业资源管理系统的设计与实现。该系统旨在解决当前网上企业的实际需求,结合计算机系统的结构、概念、模型、原理、方法,采用 ...
### OA系统的设计与实现 #### 1. 绪论 ##### 1.1 系统背景与现状 在信息技术飞速发展的今天,网络办公自动化(OA)系统已成为提高工作效率、优化企业管理的重要工具。随着互联网技术的进步,特别是移动互联网的普及...
### 人事OA管理系统知识点 #### 一、背景与需求分析 在当前信息技术高速发展的背景下,企业对于人力资源管理的要求越来越高。传统的手工管理模式不仅效率低下,而且容易出现错误,这对于追求高效运营的企业来说是...
基于Java的仙霞岭自然保护区巡护及OA系统设计源码项目是一个为自然保护区管理定制的软件系统。该项目通过Java语言编写,共计包含1487个文件,其中涵盖不同种类的文件,如Java源代码、XML配置、图像资源以及构建和...
TypeScript是一种由微软开发的开源编程语言,它在JavaScript的基础上增加了静态类型检查、模块化等特性,能够提升开发效率和代码的健壮性。Vue则是一款流行的JavaScript框架,它通过数据驱动和组件化开发的方式,让...
在现代移动办公自动化(Mobile Office Automation, 移动OA)的实施过程中,推送技术扮演着至关重要的角色,尤其在Android平台上的应用尤为突出。本文将详细介绍在移动OA中运用推送技术的必要性和实现方法。 一、推...
在国内,虽然起步较晚,但随着移动互联网技术的发展,越来越多的企业开始重视并投资于OA系统的建设。目前市场上也涌现出了多种成熟的产品和服务,如钉钉、企业微信等,它们为企业提供了多样化的选择。 #### 1.3 ...
当今企业信息化管理的趋势要求越来越高,传统的办公模式已不能满足现代企业的需要,因此开发一套高效、集成的办公自动化(OA)系统显得尤为重要。Java作为一种成熟且广泛应用的编程语言,借助其强大的跨平台能力和...
随着计算机专业的普及,越来越多的大学生选择了该热门专业,毕业时的毕业设计需要完整的源码以及论文。此资源是已毕业前辈的毕业作品,包含项目的源码、毕业设计论文的模板,项目匹配的毕业设计论文以及项目的设计和...
### 基于Java的OA系统的设计与实现 #### 一、系统开发背景与意义 ##### 1.1 系统开发背景 办公自动化(Office Automation, OA)是指利用先进的信息技术,通过各种设备和人机信息系统来辅助完成各种办公业务活动的...