星期三, 七月 15, 2009

[闲聊] 猫在控制我们 对自由软件的一点小感想

第一个,"你对狗好,狗会认为你是他的主人;你对猫好,猫会认为它是你的主人"。这话很久了,不过看最新研究,也许真的是那么回事。

http://www.yeeyan.com/articles/view/80966/50285  翻译
http://www.guardian.co.uk/science/2009/jul/13/cats-purr-food-research 原文

第二个:

自由软件好不好?好。
很好嘛?不算很好。

对于自由软件,有两种不同的观点。一个痛恨,认为是程序员的自我毁灭,毁掉软件行业的毒瘤,没有干出任何有价值的东西。
一个认为是未来的方向,对抗商业公司的救赎。

我的想法很简单,生产力决定生产关系,现在已经有自由软件的条件,但是还不具备大力推广的条件。
  1. 现在有很多场合,做一个商业软件,划不来,但是大家都有这个需求,那么只能做自由软件。如果一个软件有商业化的价值,那么就让他商业化,最多做一个自由软件的竞争者去满足低端用户和特殊用户,还有促进其进步。不到这个场合的,做自由软件,那就是抢人饭碗。
  2. 反过来,好多企业有特殊要求,这些软件不能给别的公司用,过几年就过时,那些脑残领导为了省钱要用免费的自由软件,那就是为了省钱而浪费钱,甚至一些软件已经脱离行业需求了,还在那里继续膨胀臃肿,就好比公路上面设一个收费站收了几十年,变成只是为了收费而不让人快速经过,脱离为了修新路凑集资金的原意,反而骂自由软件修了条绕道的路,那就是阻碍进步了。
自由软件有什么用?能够减少重复劳动,能够有便宜的技术,让世界更美好。如果追求自由到了极致,各自为政,大家都不待见,那就是原教旨主义,于事无补。

自由软件的关键是开放源代码。对于打算不劳而获的人来说,这是一个陷阱。我讨厌自由软件的原教旨主义,他们就没有干成几件大事。教主倒是自己做了几件大事,把unix的基础命令梳理了一遍,但是,一旦遇到大工程,自由软件就束手无策了。



  • 自由软件一定需要一定程度的独裁管理。
现在linux的发行版多如牛毛,即使只在个人桌面领域也有好多大型发行版,最可恶的是居然互相之间还不相容。软件是用来简化人类的劳动的,不是用来添乱的。商业公司或者个人都有把自由软件当做自己政治斗争战场的倾向,这个时侯我们宁可要一个独裁者。如果我用linux需要花的时间变多了,把这些事件乘以工资大于windows的价格,那么我还不如用windows。

做自由软件的人往往有几个毛病,喜欢自己开新项目,而不是去修补别人的项目,结果留下无数的孤儿项目;喜欢写代码,实现酷的东西,不喜欢做界面,修修补补。问题是这么干,一个是很多人重新发明轮子,结果整个行业的软件原地踏步,浪费时间,和自由软件减少重复劳动的初衷相反;一个是对于提高用户体验是一个极其糟糕的策略。

不过说起来要人去做那些提高用户体验的琐碎的工作,也不该用自由软件,这些东西无趣但是有用,正应该商业公司来做。
错误决定比没有决定好,因为对于自由软件,错误容易弥补,混乱则难以弥合。
  • 授权松一些好。
现在的自由软件授权有各种版本,从极左的到妥协的都有。我的想法是自由软件的授权要适可而止。把商业公司使用GPL软件的事情揪出来,逼他们交出自己的代码,看起来很有快感,其实逼得商业用户以后再也不用,结果有什么用呢?
用户界面优化,针对一些特殊用户的功能,这些本来就该商业公司来做。

  • 做更多的贴近用户的工具
现在自由软件有很多的工具,很多的小工具。比如远有awk,perl,近有代码版本管理,都是很实用的。可是,说起来,都是给程序员自己用的,光是入门都要三天。为什么没有普通用户也能明白的一些工具?因为不酷,琐碎,没激情。大家看看,现在有几个好用的傻瓜式ide不是商业的?gtk的工具漂亮得很,什么跨平台界面,自动多语言界面,结果一安装,上手就是没有vb快。技术完全不成问题,比vb强多了(毕竟隔了多少年),然后呢?首先安装编译工具就要跨越无数的难关,版本问题,路径问题,编译参数,记住无数的命令……好了,有一个快速开发界面,bravo!可是连个函数速查和例子程序都没有,老大,不是每个人都是记忆超群的程序天才。

对用户来说,与其做很多的功能,让已经写出来的功能更好用才是正途。有没有能够让用户自己改进界面的简单方法?有没有让傻瓜也能轻松学会的教程?有的程序就像一些sfc时代的游戏,明明音乐和设定很棒,可是走三步就遇敌,升级缓慢,新技能10级才有一个,不能存盘,估计打完序章就没人玩下去了。让用户学习新功能,打算有贡献的初级程序员能短平快的给出帮助,难。其实这对于商业软件一样是个难题,不过,与其做一万个没人用的软件,不如集中精力做这么一件事情。

软件开发的门槛高,开发者就脱离群众,最后就变成自由开发者自己能用的东西。

0 Comments:

发表评论

<< Home