正如本部分一开始所说,操作系统只是一个桥梁,应用才是用户的目的。应用的丰富程度决定了用户是否需要投奔一个系统,而应用能否丰富,则取决于有多少开发者的支持。开发者支持的关键因素,一个在应用的受众多不多,一个在收益的渠道是否有保障。传统桌面端而言,Windows平台的优势在于受众多,收益方面虽然门槛较高,而且一直受盗版所困扰,但整个Windows软件产业还是产生了巨大的营收的。iOS的崛起,其实是吸收了大量没能力跨过那道盈利门槛的小开发团队。平心而论,iOS开发比Windows开发的难度大(都说Objective-C是垃圾语言,更不用说iOS开发的SDK必须在Mac上才能跑),但是既然iOS能够为开发者带来收益,那么倍受支持也是必然之事了。 为什么要开发Linux应用? Linux应用的开发者,很多带有一种浪漫色彩:从学生时代接触编程和Linux系统,出于兴趣和对开源理念的认同,参与及发起了很多Linux应用大小项目的开发,在毕业后进入一家Linux厂商或Google这样认同开放理念的企业。比如SCIM输入法平台的作者苏哲,在初中时代开始接触编程,在高中、大学期间开发了Smart Fdisk、Smart Boot Manager、Smart Common Input Method platform等项目,硕士毕业后相继在Turbolinux和Novell SUSE工作,在07年加入Google的Linux开发小组。根据他本人的介绍,当初进行Linux应用开发就主要是为了兴趣,顺便拿点奖金,算是比较完美。 由于Linux平台多是开源软件,所以商业模式并不那么稳定。成立自由软件基金会的RMS最初倒是靠卖带有Emacs的软盘赚到一笔钱,不过这条路现在肯定行不通。RMS认为在自由软件时代,软件公司的出路在于服务和培训。但这条道路显然没有留给没什么背景的个人开发者们多少机会。广告也是一条路,好比LVS的作者章文嵩博士就在LVS官网上靠Google Adsense赚了不少钱,但广告模式的不稳定和不确定性也往往令很多开发者感到纠结。 一方面是收入没有保障,另一方面,Linux开发相比Windows开发的难度也更高一些。对于Windows开发者而言,Windows有固定的SDK,API接口也都是一致的,开发过程相对流畅;而对于Linux开发者而言,有时不得不从不同的第三方库中调用,比如QT库、GTK库、XML库等。在同一个应用中使用多个第三方库,造成的困难就在于需要将不同的库黏合在一起。虽然听苏哲说过去两年来基本形成了Gnome用GTK、KDE用QT的稳定趋势,情况有所好转,但也相对有限。 难赚钱,难开发,可以说对于没有发行版厂商背景的开发者而言,促使他们进行Linux应用开发的最大动力就是兴趣和对开源理念的认同。相对于由商业模式支撑的产业而言,由兴趣支持的产业是难以持久的。当兴趣逐渐被消磨、生存压力压倒了信仰的时候,独立开发者们还有什么理由去开发Linux应用?网络层、内核层的Linux开发还好,由于Linux设备众多,底层Linux开发的商机并不少。但是Linux桌面开发? 问题就先提到这里,如果有关注Linux的读者们认为Linux应用开发,尤其是Linux桌面应用开发有其他理由的,欢迎在评论或微博中探讨。微博中探讨的朋友们可以采用#Linux桌面开发#这个标签。 在下一篇文章中,笔者会对Linux桌面应用未来比较可行的发展方向进行尝试性的解读,欢迎大家继续关注! |