2.3 拥有用户的重要性
我就这样继承了 popclient,同样重要的是,我继承了 popclient 的用户群。拥有用户是一件很美好的事,这不仅表明你正在服务于某种需要,表明你做对了某些事,如果发展得当,他们还会成为你的开发合作者。
UNIX 另一个传统强项也被 Linux 发挥到美妙的极致:很多用户本身就是黑客。因为可以拿到源代码,这些黑客能极为有效地缩短排错时间,只要给他们一点点鼓励,他们就会帮你查找问题、给出建议并帮助改善代码,这些比你自己做要快得多得多。
6.把你的用户当成开发合作者对待,如果想让代码质量快速提升并有效排错,这是最省心的途径。
这种做法的效力很容易被低估,事实上,连我们这些在开源世界里的人,都极大低估了这种做法的效力,也就是用户越多就越能有效对抗系统的复杂性,直到 Linus Torvalds 向我们明白地展示这一点。
我想,Linus 最聪明和最有价值的成就其实不是构建出一个 Linux 内核,而是他发明的这种 Linux 开发模式。有一次我当面向他表达了这个看法,他笑了,平静地重复了他常说的话:“我基本上是个很懒的人,别人做事,我得名誉。”像狐狸那样懒,或者像 Robert Heinlein 曾经描绘的一个很有名的角色,太懒以至于无所不能。
回顾以往,GNU Emacs Lisp 库和 Lisp 代码资源库可能要算是 Linux 这种成功方法的先例,和 Emacs 用 C 语言写的核心以及其他 GNU 工具不同,Lisp 代码池是不断更新的,并且在很大程度上是用户驱动的,大多数新想法和原型在达到最终稳定状态前,都会被重写 3 到 4 次,和 Linux 一样,其频繁的“松耦合”合作都是通过 Internet 实现的。
说实在的,在 fetchmail 之前我最成功的作品大概要数 Emacs VC(版本控制)模式了,当时我通过邮件和其他三人采用了类似 Linux 的合作方式。直到今天,我只和其中一人见过面(即 Richard Stallman,Emacs 的作者,自由软件基金会的创立人,参见 http://www.fsf.org)。Emacs 的 VC 模式提供了 SCCS、RCS 以及后来 CVS 的前端功能,使得用户可以完成“一键式”的版本控制操作。它是从某人写的一个简略而粗糙的 sccs.el 演化而来的,之所以能取得成功,是因为和 Emacs 本身不一样,Emacs 的 Lisp 代码可以迅速地完成“发布/测试/改进”循环。
不只是 Emacs,还有其他一些软件产品也使用了两层架构和两级用户群,内核使用大教堂模式开发,工具箱(toolbox) 使用集市模式开发,比如数据分析和可视化展现的商业化工具 MATLAB 就是这样,MATLAB 和其他类似产品的用户们发现,创新、酝酿和行动最频繁发生的地方总是在产品的开放部分,而这部分的改进也总是由庞大而多样化的用户群完成。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论