AKA的未来-我的思考

作者:HansB (AKA)

[返回]

  以下是我这一段时间的一些想法,和大家商榷:

软件格局的发展方向,信息技术的未来

  *“软件危机”是不可解决的

  也许我这么说,很多人,特别是搞软件工程的人会大光其火。不过我确实是这么想的。我曾经在Aka上发表过一篇文章,阐述了我对软件的看法。我认为,软件是人类历史上从未出现过的一种新的事物,它有太多的二相性,这使得我们用任何一种以往的思维方式和工作方法都不能有效的处理它。
  软件介于物质工程和社会工程之间,软件工程的思想是用物质工程的思维方式来考察软件的物质工程的一面,其手段包括严密的需求分析,按部就班的开发过程模型和文档管理等等之类。而Linux和OSS试图用社会工程的方法来解决软件的问题,其手段包括演化,协作等等(有点像达尔文的进化思想)。
  软件又是介于商品(用于交换的劳动产品)和人类思想成果之间的。传统的版权思想保护的是它作为商品的一面,及其私有性,不可任意复制传播性;而GNU GPL试图保护软件的另一面,及其作为思想成果的共享,传播的权利(见SMTH BBS FreeDevelop的讨论:http://bbs.tsinghua.edu.cn/cgi-bin/bbsdoc?X=freedevelop)。
  我素来崇尚中国古老相传的“中庸”思想,我觉得道路在二者之间。任何一方也不可能单纯依靠自己的力量完满解决软件问题。就好像光是有波粒二相性的:它既是波,又是粒子,单纯用一种理论是不能圆满解释问题的。只有两种解释相辅相成,相互补充,我们才能对光有全面丰满的了解。软件也是一样,只有用两种思想和方法相辅相成,相互补充,才能解决软件问题(我一直不说解决“软件危机”,我觉得“解决软件危机”恰似一个极限,我们只能永远逼近它, 但永不能达到)。
  其实,在光的波粒二相性背后,又一个更加深刻的事实,那就是:光既不是粒子,也不是波。“那它是什么?”光,就是光。它既具有粒子的性质,也具有波的性质,
  如果我们用粒子的眼镜来看它,它就是粒子,我们就看不倒它波的一面。反之亦然。而其实,它什么也不是,它就是光。这一点,在波尔提出的“互补原理”中阐述的很清楚。同样,软件也是这样的,它既是物质工程,也是社会工程,它既不是物质工程,也不是社会工程,它是软件。它既是商品,也是思想成果,它既不是商品,也不是思想成果,它是软件。
  中间道路也许太没有立场了,但它是最切实际的道路。我想,Linux近来的发展可以验证这一点。OSS,GPL的Linux可以和Oracle,WordPerfect等等共存,证明了二者可以相互补充,相辅相成。
“两手都要抓,两手都要硬”。 呵呵。

  *编程能力的普及

  考察软件和编程语言的发展,我们可以看到一个趋势,在界面变得越来越人性化的同时,编程语言也变得越来越强大,简单,易学易用,会编程的人将越来越多。和人类历史上任何一种工具一样,计算机要适应人,而同时也改变了人。特别是近来各种脚本语言的流行,使得这点愈加明显。说的这点,顺便谈谈Java。我对Java感到很失望。本来他可以成为一个非常好的c/c++的继承人,但是现在被Sun搞得什么也不是。“Applet”?现在的动态HTML的发展大家都可以看到了,Applet能做的事DHTML基本上也能做,而且更小,更安全。“Write once, run everywhere”?如果你是做服务器程序,移植性和跨平台的重要性不大,倒是性能要占第一位,可这恰是Java的弱点;如果你是要作别的应用,众多的脚本语言(Perl,Pythond等等)不比Java更可移植?而且更好学,开发起来更快。所以,现在Sun只好又提出一个Jini,想挽回颓势。可谁又知道它的前途?如果Java能轻装上阵,去掉Applet,去掉不必要的安全性检查,着重于它的性能和功能,把它变成编译型语言,那么凭着它的易学易用,凭着它对指针bug的免疫力,自动垃圾收集和内置的线程等等,它代替c/c++的进程将快的多。Java是个好语言,可是快成了盲目的理想主义和商业斗争的牺牲品。

  *网络的发展,复制,版权

  计算机和网络的发展使得信息产品创造和复制史无前例的容易和廉价。这会对传统的版权概念产生巨大的冲击。网络协同提出了创造信息产品的全新概念。Linux的版权是谁的?Banly的《守门》(http://www.nease.net/~banly)的版权是谁的?我和小波讨论过,我们都认为市集模式不光可以应用在软件开发上,也可以应用在翻译,写作等等方面。只要是可以通过多个人的协作创造的思想成果和信息产品都可以应用这种模式。甚至连音乐,绘画等极端强调个性的艺术,在网上也有用这种模式加以尝试的。可是,用市集模式创造的成果的版权是不属于任何一个特定的人的。它属于一个团体,一个多变的,不断变化的,永不定型的团体。这就好像,人的一个思想不能归功于某一个特定的神经元,而应该归功于所有的神经元。
  我们不是经常喊“社会化大生产”么?对信息产品的生产来说,还有比这种模式更宏大的吗?我相信,这种模式将是将来信息产品生产的主流模式。传统的模式,就是现在大多数商业软件公司采取的模式,代表着过去,而市集模式代表着未来。
  但是,我要强调一点,我不认为传统的模式将会被淘汰。由于软件的二相性,这两种模式将会并存。我设想种的模式是(对软件来说):对于基础软件,如操作系统,通用数据库系统等等,作为国家甚至全人类的软基础设施,采取市集模式来开发和演化。国家像投资于公路,光纤等基础设施一样投资于基础软件的开发,国家的投资来源于纳税人。对于特殊的专门软件来说,可以用市集模式,也可以用教堂模式,通过公司机制来完成。公司利用这种软件来挣钱。

AKA的定位究竟是怎样的

  组织,引导和探索

  我们处在一个剧烈变化的时代。谁也不能确定明天会发生什么事情。我觉得Aka应该在我们走向未来的征途中起到一个组织力量,引导方向和探索未知的作用。

AKA的发展方向、发展策略是什么

  如我以前所考虑的一样,我们初期可以立足于低成本的运作。一台PC,一套Linux,一套mail-list,web,ftp,我们的基本要求其实并不高。发展的策略要以一个个实打实的项目来吸引,组织大家。稳扎稳打,一步一个脚印。

关于商业发展模式

  大家对商业发展的模式一直讨论的很多。我谈谈我的想法。我认为Aka本身不宜也不易商业化。但是我们可以和商业组织建立一些有益的联系。比如建立一个类似RedHat的oss软件的组织,本地化,和服务的公司。它可以不断的从Aka中吸取养分,挣来的钱用于Aka的发展。又比如像O'Relly公司运营Perl的方式,挂靠在某个公司之下。其实我们的发展要不了多少钱。我们加入Aka也不是为了马上就能挣到钱,要不然,还不如去买白菜。我们看重的,是Aka能为大家带来的长远利益。

目前AKA中存在的问题和解决思路

  实干和清谈

  我们现在的主要缺点是说得太多,做得太少。 Chatter的出炉,只是一个起点。我建议用一个实打实的项目来组织和吸引大家。像滚雪球一样,越滚越大,但是开始时的最小的雪球是必不可少的。没有开始的那一粒沙子,就没有最后的璀璨夺目的珍珠。

要能忍受寂寞

  我还要提醒大家不要急功近利。我们要能忍受寂寞。毕竟,中国虽大,会编程的人又有多少?既会编程,有肯牺牲业余时间参加进来的人又有多少?这些人里,有稳定的上网条件的人又有多少呢?有时我们会非常寂寞,但是我们只要不断的努力,坚持,我相信我们一定会迎来蓬勃发展的那一天。如果Linus和他的同志们不是甘于寂寞的一直坚持着,会有今天的Linux吗?

  最后,我想侃侃我的一个设想,请大家讨论:

MUD式的组织方式

  MUD的特点:

  o 成长的乐趣;
  o 角色扮演,幻想;体验各种不同的生活;
  o 交流;

  MUD的模式:

  o 拜师,练武,探险

  为什么我们不能用类似于MUD的方式来组织我们的项目呢?
  比如我们要汉化Linux,可以有一个门派来搞这个项目,本门的师傅是一个水平很高的Linuxer,他负责把项目进行划分,把大家各自的成果组织到一起,负责教新入门的弟子“武功”——关于Linux的知识和技巧。而新入门的弟子必须用心学习,通过考试——完成项目的一个模块,完成的好可以晋级,学更高级的“武功”,完成更难得模块。直到成长为一代大虾,可以自立“门派”——自己组建项目。在MUD中,武功的增长不过是系统的一个计数器在增长而已,而在我们这里,增长的是真正的知识和才干。这是显式的“市集”。请大家参考一些通过web玩的MUD(因为我觉得我们这种“MUD”不需要太多的实时性),如Adventure -- http://www-tjw.stanford.edu/adventure

  写了半天,不知所云。只望能抛砖引玉。

[返回]