开源界何时不再玩捉迷藏游戏?-安全盒子

最近,我读到了另一位开源倡导人士所写的一篇博文,这篇博文探讨了我再熟悉不过的一个话题。作为如今市场上的小说家,不用说,如果公众不知道你的作品,你的作品就会无人问津。由于越来越多的人自诩为作家,小说界已成为一个庞大的废稿堆,连最优秀的作家也会被淹没在堆积如山的“平庸作品”当中。

这个比喻也适用于编写开源软件的那些人。唯一的区别在于,他们用来帮助宣传作品的平台比作家群体使用的平台还要来得有限(毕竟,我们作家还有出色而强大的亚马逊“站在我们这一边”)。

不妨看一下为Ubuntu开发软件的那些人。他们其实只有一个工具可以用来帮助宣传,那就是Ubuntu软件中心(USC)。如果你启动这个工具,迎面而来的是一个除了帮助用户发现新软件之外基本上没有什么用途的界面(见下图)。

开源界何时不再玩捉迷藏游戏?-安全盒子

图A:打开推荐功能的Ubuntu软件中心

切记,USC只是一个集中位置,用户可以在这里寻找并安装应用程序。如果用户知道自己要找什么软件,这很好。如果你不确定自己需要什么软件,或者你就想翻遍所有软件,那么想找到任何有用的软件就会很难。除此之外还缺少重点,大量包含的软件不再得到维护,你很难找到自己其实需要或想要什么软件。有鉴于此,开发人员可能开发出了一款完美的软件,但是由于一款设计糟糕的工具,对包含的软件几乎没有什么审查,加上没有作任何推广工作,再完美的软件最终也渐归湮灭。

而竞争对手并非要好得多。在有人说“apt-get”、“zipper”或“rpm”之前,那些绝不是帮助开发人员宣传其软件的工具。

话都说了这么多,需要看到什么变化吗?是不是像Ubuntu软件中心这样的工具就管用?考虑一下,相比那些平台,谷歌Play商店和苹果的应用程序商店取得了多大的成功。有什么重大区别吗?抛开庞大用户群不说,你有两个集中位置,所有设备都可以用来安装其软件(另一个好处是工具本身得到了大力宣传)。想一想市面上的每一个安卓设备(选择退出谷歌服务的那些设备除外),每个用户在使用谷歌Play商店。想一想地球上有多少安卓用户,这个数字确实很惊人。

现在再考虑一下Linux界。现在有几条路子可以将软件发送到台式机、笔记本电脑或服务器上?答案是并不多。下一个问题:外面有多少开发人员在构建出色的软件,然后只能将其作品发布到一个发行版?同样为数不多。我明白其中道理。由于Linux界有那么多的变种版本,开发人员开发跨所有平台运行的软件几乎是不可能的事情。

那么,有什么解决办法吗?办法有好多。

首先,就像世界上的每个小说家一样,每个开源开发人员需要成为营销高手。你需要回到大学,获得营销学硕士学位,回来继续开发,然后运用新学到的作品宣传知识来帮助宣传软件。

这一幕不会出现。

但是其主旨很有必要。你一定要宣传自己的作品。如果你不谈论作品,没人会知道。再想想这一点,如果你开发出了那个“杀手级应用程序”,不仅可以促使人们使用你的软件,还促使人们使用Linux。这对所有人来说真是一大双赢。

接下来就是Linux中程序包管理现状。尽管我很讨厌说这个(尽管我知道每个人都会大喊我疯了),但是说到程序包管理前端,Linux还是需要大幅改动。每个发行版不是试图重新发明一再改进的轮子,它们只要聚到一起,开发出面向所有发行版的统一前端。这倒不是说每一个版本的Linux都应该迁移至.deb或.rpms。而是说,需要有一个统一的前端来管理软件。这不仅会帮助最终用户,还会大大有助于宣传开发人员的作品(软件)。

我们不妨探讨一下Ubuntu在幕后对Ubuntu软件中心所做的工作。今年8月,有人发现Canonical叫停了收费的应用程序商店,却没有通知开发人员。实际上,此举弊大于利。原因何在?因为如果开发人员确实想从其作品中赚到一点钱,他们在Linux平台上再也没有一种容易的方法可以做到这一点。

整个Linux社区可以设立一个小组,专门负责开发和维护这个前端,他们的一部分工作就是推广新作品。在Ubuntu软件中心这个工具的主页上轮换介绍新软件,再增设一个新的更新部分。有一个醒目的收费部分,并提供一个标准化系统,以便开发人员提交作品。除此之外,剔除不再得到维护的软件。如果相当比例的软件形同僵尸,号称“我们应用程序商店有100万个软件”顶个鸟用。

旧模式再也行不通了。开源开发人员根本别指望开发好作品后,可以上传到Sourceforge或者使用Git,公众就会知道其是“杀手级应用程序”。开发人员需要帮助宣传(社交媒体是帮助宣传的一条好途径),需要有一个精心设计/管理的统一、集中的应用程序商店,可以跨所有发行版来共享。如果Linux开发人员重视将其开发的应用程序发到用户的台式机和笔记本电脑上,一定要出现这一幕。不然,他们就会继续与最终用户玩这个捉迷藏游戏。

就个人而言,这整个事件压在我的心头。有些软件是我每天都在使用的,我不明白它们为何没得到广泛使用。开源开发人员在不知疲倦地开发作品,到头来却得不到多大的回报。是到了改变这种现状的时候了。

还是那句话,还有什么解决办法吗?