警惕软件碎片化,拥抱开源
最近在读讲述柳比歇夫几十年如一日精确记录工作与生活时间的那本书《奇特的一生》。若以柳先生为榜样,就需要在相当长的时期内甚至是整个人生范围实现统一、一贯的数据记录和统计功能,如健身、睡眠、蕃茄时间等等。这方面的工具软件在苹果应用商店中有不少,而且还在一直推陈出新。然而,无论是个人开发者还是专业的软件公司,大都是冲着经济利益而不是用户权益做产品的,因而他们很难在长时间内持续维护一款软件。所以,一旦这些封闭的商业软件停止维护或者干脆直接从苹果应用商店下架,无论用户多么一厢情愿地想坚持使用都不再可能。
同时我还发现一个新的苗头就是原有的软件在进行了大的升级后,改弦更张重新发布,从而需要重新收费。如近期刚推出的MindNote 5,还有以前用过的扫描全能王、OPlayer等。这就相当于我们之前购买的只是软件的暂时使用权,而没有获得所有权,这无疑便是被软件开发者绑架了。至此,用户的权益遭到彻底的忽视和损害,尊严也顺带被蔑视。即便找到新的替代软件,在功能上也能满足要求,可之前辛辛苦苦积攒的数据却因为兼容性和功能限制问题无法导出并融合到新的软件中。这样一来,根本没有办法实现对个人所有历史和今后数据的整体处理、统计与可视化。比如,我以前在iPhone 4上曾经使用过的GTD任务管理软件Voodoo随着iOS和iPhone的升级就早已下架。PC机软件也是一样:多年以前在Word文档中敲入的数学公式至今也无法打开编辑了。
这里,我将上述情况称为软件的碎片化。关于碎片化,我们已经熟悉的概念和现象是信息的碎片化。在媒体资源极大丰富的今天,信息以瞬息万变的速度不断更新。虽然它们也具有完整的内容架构与编排形式,但却仅描述现象和分析浅层道理,难以揭示深刻的本质。与此同时,它们无法做到“一以贯之”,更无法凭借理性拓展、变换成新的信息乃至范式。正因为如此,它们才被认为是碎片化的。受众面对这样的信息,虽然在感官上、心理上甚至是头脑上产生满足、充沛的感觉,但却因为只有学习而没有练习、思考、创造,难以形成真正的知识与能力。
目前封闭的商业软件也是碎片化的,尤其是那些苹果应用商店中五花八门的软件。与碎片化信息类似,在这里我们同样可以看到诸多应用令人应接不暇的实时变化与推陈出新。各个应用之间则难以实现紧密、一致的贯通,也几乎无法实现功能上的扩展。这类软件的用户因前述软件短命的原因无法长期地反复使用,从而无法将配置高、性能好的计算资源内化成个人的增智工具(关于计算机的增智作用,可以参考《创新者》第八章对于恩格尔巴特事迹的讲述:在截至1968年的6年时间里,恩格尔巴特一直在为设计一种成熟的增智系统而不懈努力,他将其称为“联机系统”(oNLine System),简称NLS。除鼠标外,该系统还包含许多引发个人电脑革命的其他创新,比如数字水印、同屏多窗口、数字出版、类似博客的日志、类似维基的协作系统、文档分享、电子邮件、即时通讯、超文本链接、类似Skype(即时通讯软件)的视频会议和文档格式化。),更有甚者,可能只是将其作为娱乐和自我麻痹的工具。虽然软件的碎片化对于个人知识和能力的提升是限制性的,甚至是毁灭性的,但却因为易于吸引广大用户的眼球,产生使用粘性,便能够带来商业上的巨大利益。与此同时,也培养出了一批缺乏独立思维和选择能力的忠实“脑残”用户——就像是黑客帝国中被母体圈养的人类那样——从而一方面给开发者带来稳定的收入源,另一方面也将其潜在的竞争对手扼杀在摇篮中。
分析至此可以看出,即便你能下定决心将好习惯坚持一生,可封闭商业软件的开发者却绝不会与你一直相伴。想要以柳比歇夫为榜样在iOS、Windows或Mac OS上去践行看来是无法实现的幻想了。正确的路子应该是使用开源或自由软件。与封闭的商业软件相比,即便开源、自由软件的最初开发者停止了维护,仍会有相关技术的爱好者、高级用户或公司站出来接盘。就算没有人来接盘,你若是想使用的话也有源代码可供编译。毕竟,相对于变化多端、更新速度快的应用软件来说,编程语言的语法和相应的编译器是稳定而可靠的。
最后,在本文结束之前,我给出选择工具软件时需要把握的两个原则,目的是充分发挥计算资源和应用软件对人类的增智作用,避免软件碎片化带来的种种恶果。
首先,软件所操作的数据应当具有开放易读的格式。例如,UNIX系统采用一切皆是文本的设计思想,便使得数据与配置文件可以同时被机器和人所读。通过文本的解析处理就能够高效地实现批处理与自动化。与此同时,简单而标准的格式能够得到最为广泛、无歧义和不失真的支持。这就是为什么用LaTeX撰写文档远比Word来得稳定和放心。
其次,软件自身的功能应当是可被用户扩展的,从而方便实现任务的自动化。这方面最为典型的例子就是Emacs文本编辑器。通过Lisp语言的功能扩展,使其能够支持各种编程语言的语法加亮和智能缩进,还能够进行GTD任务管理,撰写博客等等。