正文
迁移也不失为一个路径。但很多时候,迁移工作往往涉及到高昂的人力、物力,最终的成本还是要使用者承担。这样的成本包括但不限于:
转换数据的成本:
将数以百千万的业务数据从老平台迁移到新平台,其成本可想而知。
如果目标平台提供了自动化工具,尚且还可以帮助企业缓解一些压力;但如果企业自身使用的专有软件与旧平台高度绑定,那么企业就不得不付出额外的成本。
重新编写业务逻辑:
例如,有的企业使用 Visual FoxPro
开发数据库。若要迁移,可能要将海量数据迁移到 SQL Server、MySQL 等平台,还要专门为新的数据库平台重新编写业务逻辑
。
重写软件
:例如,有些业务软件至今仍使用 Visual Basic 6.0(VB6)开发,且仍在使用中。开源而强大的一款照片处理工具
PhotoDemon
,就是用 VB6 编写。
然而,VB6 是一门与运行环境高度绑定的编程语言
,可不是简单的业务软件。如果要用其他编程语言重新开发,那就要彻底推倒重写,需要耗费的成本可想而知。
人员的培训
:
迁移到新平台,意味着工作人员要掌握与此前截然不同的业务技术,企业还需要花费额外精力来组织培训,使工作人员适应。
并不是所有的企业能投入足够的资源进行迁移。对于财力、实力有限的中小企业,它们仍然可能要继续使用已经停止服务的软件,即使软件厂商可能已经成为历史。
因此,若这些已经堪比基础设施、让使用者离不开的软件,其厂商选择停止服务甚至解散,但不提供后续解决方案,且迁移成本高的,那么笔者认为,这或有影响客户利益之虞。
提示:
有些企业业务软件是由厂商量身定制,企业可以让厂商提供源代码,因此即使厂商停止服务,也可以由其他技术人员接手维护,相对而言不会让使用产品的企业过于担忧。
开源如何起到拯救的作用
对于一款不开源的软件产品,若厂商执意停止开发、决定解散,不是简单一个决策就了事,而是选择开源,那么就能给自己的产品重生的机会。
将已经停止维护的软件开源,并不意味着开发团队即使解散还要承担维护义务。这个过程,是把开发的权利交给社区、交给使用者,转由使用者自己负责。
很多停服的项目在开源后,会有各路开发者自发接手完善,在原有代码库的基础上继续进行功能完善、Bug 修复等常规开发工作,推出新版本,使这些项目获得新生。即使项目过于小众,无人接手,你也可以 fork 一份源代码,自己动手编译、开发、维护。
对于面向企业的基础设施业务软件,厂商在「抛弃」之前选择开源,就可以让依赖于该项目的使用者安心:
-
拥有技术团队的使用者可以自行维护、定制相关软件,满足自己需求,或持续开发并将修改反馈给社区;
-
而技术实力不足以修改软件的那些使用者,则依然可以受益于开源,因为他们不再受制于厂商支持缺位的无助感——源代码在手,你有更多寻求技术支持的可能性
。
那些让我欣喜的优秀软件
幸运的是,一些开发团队已经认识到了开源的力量,在停止开发(或即将停止开发)之时,公开了项目源代码,由社群的力量延续软件的生机。其中一些具有远见卓识的人士,还通过成立非营利性质的基金会(例如 Mozilla 基金会),为项目的发展提供坚强后盾。
Firefox 就是在网景浏览器源代码的基础之上开发的,可谓给网景浏览器带来新生。(图片来源:Mozilla)
最成功的例子或许就是网景浏览器(Netscape Navigator)。
在上世纪 90 年代,网景浏览器拥有翘楚地位,具备卓越的特性和大量的用户,但一度陷入与微软 IE 的「浏览器大战」,不敌 IE 的垄断地位。在危机之际(1998 年 2 月),网景公司公开了浏览器的源代码,成立了 Mozilla 社群与基金会。
Mozilla 在网景浏览器源码库的基础上,开发了后继者 Firefox 浏览器,是主流的浏览器之一。即使后来网景公司被 AOL 收购,网景浏览器开发停滞,Firefox 也依然延续着网景的血脉,直至今日。
Sandboxie 是一款沙盒工具,通过虚拟化技术,将应用程序与真实系统环境隔离起来,这样就可以放心地在沙盒中运行风险软件,不必担心系统受到损害。它是一款商业软件,最早由 Ronen Tzur 开发于2004年,最终被 Sophos 收购。
2019 年,Sophos 宣布停止 Sandboxie 的开发,将其转为自由软件(Free Software,采用 GPL 许可),并关闭官方网站。随后,Xanasoft 的开发者 David Xanatos 接手开发,在原有代码库的基础上持续演进,并推出了升级版本
Sandboxie-Plus
,至今仍在持续开发中
。