格式孤岛、数据孤岛与通讯孤岛
今年,软件行业在多个方面正经历一场转折。即便是软件行业的巨头们也都颇受其影响。我们正在目睹着“移动计算”的渗入。我们正在使用越来越多的“云”服务。我们正在经历着所谓“大数据时代”的开端。
20世纪90年代,在商业化计算机软硬件的竞争格局下,“格式垄断”逐渐产生。微软的Office以其操作系统Windows的垄断地位,以及Office本身的优良特性而得以推广,但暴露出来Office所使用的文件格式并不公开,而对第三方软件兼容其格式的试图造成了麻烦。终于,在开源软件不断高涨的主张和声讨之下,微软终于为Office软件定义了新的开放标准——ooxml格式。这样,我们的Office文档终于可以方便地通过开源软件来打开和处理,而不用过分担心发送者和接受者能共同支持的格式限制了。而且,我们现有的文档也能在各种不同的设备上打开了。
开放的格式所拥有的好处如此之多。那么我们有没有感受到呢?当你跳离原始的平台以后,就会感觉这是很明显的优点。以开放格式的文件为例,PDF、HTML、TXT,无论是在安卓手机上,还是在Windows/Linux电脑上,抑或是在苹果电脑上,都能打得开。而对于那些专有格式呢,尽管它们也有一些优势,也会吸引一些软件的支持,但毕竟获得的支持比较少,支持得也不太好。以CHM格式为例,它是微软推出的一种实用的专有格式,能用于存储带目录和索引的帮助文件。在Linux平台上有KCHMViewer能查看这种类型的文件。而在安卓系统上也有类似的软件。虽然KCHMViewer的体验尚佳,但安卓上CHM查看器的体验就没有那么好了。
而像HLP格式、MHT格式、WAB格式等等的文件,现在除了微软自己还支持之外,很难找到其他软件来打开这些格式的文件了。这就形成了一种问题,叫“格式孤岛”。
作为一个电脑老用户,多年来积累下来的文档和图片多如牛毛,如果不能打开的话,将会造成很大的困扰。所以,格式孤岛是我们目前面临的一个问题。要解决这个问题,可以采用转换格式等方法。尽管转换格式往往会带来一些信息损失,也就是原格式中的信息,在新的格式中无法保存下来。但至少,能让数据真正在各个平台间流动,也是一件好事。
“数据垄断”——对于很多人来说,这是一个新名词。一般来说,自从你使用了一个网站提供的在线服务开始,你就开始冒这个风险了。随着大数据时代的逐渐到来,这种情况更为普遍。比如,你在ChinaRen网站上注册了校友录。那么接下来,你和你的校友就必须通过这个网站去沟通。之后,也许校内网名气做大了,盖过了ChinaRen,但因为在校内上面你的校友信息很不完整——你的校友甚至有好多都没有在上面注册,于是你就不得不继续使用ChinaRen。开心网、新浪微博什么的都是同样道理。你也许会觉得FaceBook和开心网的好友发现算法不错,但信息过于娱乐化;新浪微博上的信息不错,但好友发现算法很烂;无论如何,你就是不能得到一个十全十美的服务。
斯诺登事件一爆发,Lavabit邮箱网站关张。关张之前你要是没有把重要的邮件备份出来,那就。。。只能接受事实了。
以前,MSN和QQ支持把聊天记录保存到本地。MSN使用的是一种开放的数据格式——一个XML文件,因而避免了格式垄断问题。QQ则使用它自己的数据库格式,因此依然存在格式垄断问题,但至少不是数据垄断。而如今,Skype、Web版微信等软件根本没有把聊天记录保存到本地的功能,虽然可以通过手工复制粘贴的方式来保存记录到本地,但显然太过费时费力。虽然说,聊天记录通常不是特别需要保存的重要数据,但这种数据垄断造成的数据孤岛效应却是普遍存在的。
如果说开源软件解决了格式垄断的问题的话,那么“数据孤岛”效应则没有根本的解决办法。开源软件之所以能解决格式垄断问题,是因为软件的分发和使用过程毕竟没有对软件开发者带来经济上的消耗,从而支持某种格式的软件可以被免费地、自助式地发放。但对于提供服务的网络运营商而言,他们要运营网站,必然需要消耗资金,所以随时可能关闭他们的网站。你的数据放在他们的网站上面,便没有放在自己电脑上所拥有的自由,只能听任网站提供给你的那些服务了。Yahoo中国的邮箱关张前,把所有的邮箱都迁往阿里云邮箱,这样的做法算是厚道的。只是,邮箱地址改了,也还是对用户造成了一定的影响。
“通讯孤岛”——这是个很矬的事情。真的很矬。本来蛮好的,外国人用ICQ,中国人用OICQ(作者注:OICQ是QQ的曾用名)。现在,不只是MSN、GTalk、Yahoo Messenger、Skype、网易泡泡、阿里旺旺,连新浪微博、腾讯微信都要在通讯领域轧一脚。你为了和各个朋友联系,有的人习惯用A、有的人习惯用B,结果就为了这个就在电脑里装了n个软件。现在还要好,智能手机上来了。就光为了这些个软件,连诺基亚的赛班和Windows Phone都卖不出去了。这既是IT人的无奈,也是商业竞争造成的资源浪费。
开源软件呢?对于通讯孤岛现象也束手无策。
而格式孤岛如果把程序源代码和二进制文件也算进去的话,那换一个系统就更要不兼容其中的大半。这让程序员吃饭的本领往哪儿用?不能说女朋友叫你写一个手机软件,你说你能做Windows Phone的,因为你会C#而且你有一些C#的代码积累,但她却只用iPhone。你总不会为了编这么一个小软件就去花3个月学一下Objective C和iOS程序开发吧?你说,程序员的脸还往哪儿搁?
所以,Richard Stallman,我不是不想做你的信徒。安卓系统开源那是好事。但是桌面计算机也的确需要有微软Windows——虽然我知道,90后和00后可能根本不再依赖于这个系统,因为他们创建的大部分数据可能是在别的系统上完成的。他们可以选择苹果Mac OS X或者Linux。但是,他们在十年之后也许会有和我一样的困扰。我认为,我们需要记得,尽量让自己的代码活起来。尽量让自己的代码即使换了系统也有用武之地。尽量让自己的重要数据在本地也有个备份。可能的话可以自己编写自己的数据库应用程序来处理自己的某些数据。可以把自己的部分代码开源出去,与大家共享。Richard Stallman,你说过,你不反对商业,但社会的规则不应该首先被选择来讨好商业,我非常赞同。让我们一起来改善这个世界吧,世界不应该只是商业的,不应该到处是格式孤岛、数据孤岛和通讯孤岛,希望世界的未来更加光明!