Python论坛  - 讨论区

标题:Re: Re: 答复: [python-chinese] 谈点python题外的,和设计有关的问题

2005年05月12日 星期四 09:13

Carambo qutr at tjub.com.cn
Thu May 12 09:13:01 HKT 2005

说得很好呀,强烈支持一下!


Carambo , qutr at tjub.com.cn 
2005-5-12 
----- 收到以下来信内容 ----- 
发件人: Wayne Wood 
收件人: python-chinese 
时  间: 2005-05-11, 19:56:48
主  题: Re: 答复: [python-chinese] 谈点python题外的,和设计有关的问题


这其中牵扯到另一个看似有悖常理的问题,开源会不会让软件人员没钱花,呵呵,也许这是干我们这行的最关心的问题――曾有很多人这样问过我:软件都 free 了,你咋吃饭啊?

大家都知道现在 free 叫 open-source,这样就没有歧义了,因此就叫做“自由与开放”―― GNU 的要义是自由,要让每个人都享有自由,包括开发者和用户,而不是其他的什么东西

首先看看在商业软件模式下的不合理的现象,比如说微软存在银行里的钱是怎么来的。微软做出了 windows,当然这是有价值的,比如说值 100 美元,然后一张 windows 光盘就卖你 100 美元,很合理,可是微软一直在压制新的 windows 光盘,每张都卖 100 美元,那么这个市场付了多少价值给微软呢?如果按照当前的状况,可能是无穷多 ―― 这样的价值评价体系合不合理呢?你必须看到,软件和汽车不同,再造一辆汽车需要同样多的原材料及其他成本,而再压一张光盘的成本相对来说少得可怜,所以我们把卖汽车的模式搬到软件上本身就是不合理的,要不然盖茨怎么能迅速聚敛巨额财富,他真的创造了那么多的价值?我不是说不该给盖茨钱,我是在想是不是给得太多了

盖茨卖给我这张光盘,没有源码,那么我基本上就依附于盖茨,万一盖茨跑了,除了问题找谁?其实这就是不自由,软件开发商被收购或解散了,软件基本上就废了,再没有支持了,又没有源码,就不能再找第三方―― QT 给 KDE 带来的问题不就是这样吗,所以他们才在这个 license 上反复的磋商。这个问题就不是钱不钱的问题了,有钱也难以让一个失去支持的二进制软件起死回生

GNU 的要义有两点,首先要让用户得到自由,不能让他们依附于开发者,所以需要将代码开放给他们,这样他们就可以自己去折腾了,可以自力更生,也可以寻求第三方的支持(当然如果愿意也可以向开发者寻求支持),这样在开发者消亡后软件的生命继续。foxpro 不再被支持,老版 vb 不再被发展,win98 不再被支持,等等等等,是不是会让很多人和公司受到极大的影响,谁来向这些人负责?

作为一个开发者,我们也是开发平台的用户,比如说微软吧,我刚入门 VC,发现自己必须学习 COM 才能够编写更大的程序,刚学会 COM,.net 说它是比 COM 更优的选择,而流行的编程语言是 VB.NET 和 C#,呵呵,不要告诉我只要掌握思想就可以以不变应万变,难道我掌握一门新的语言,领悟细节上的差异也会不需要时间和精力,也许有人说我可以不跟风,但是老的东西已经或者正在失去支持,我怎么办?就算我不管,用户的要求和老板的决策会同意?所以商业软件使得用户是不自由的,我们开发者也深有体会

UNIX 和 Linux 的这种开发模式的开发平台,可能很难用,但是至少它稳定,没怎么变,我就算花时间去学了,但是我几乎不用再换了,去做自己真正要做的事情去了,不用担心失去支持

有开发者说如果开源,自己就会丢掉饭碗 ―― 不会,因为 open 并不是免费,你可以收取费用的,即使你不收费(好多都不收费),也不用为生计担忧。GPL 有两条,第一是 open,第二是没有担保,这样用户除了问题怎么办啊,只能寻求支持 ―― 你可以在这个时候收费,因为你又一次付出了劳动,你并不是仅仅刻了张光盘就收取巨额费用,而且你也没有强迫用户,没有垄断,因为他不愿意他可以找别人。这就是自由,没有不劳而获,没有依附关系,软件也会因此而更有生命力

张雄 写道: 
Wayne Wood说的很有道理,我觉得还有一个因素是 开源项目是Haker或者程序员展示自
己推介自己的很好的手段。许多开源项目的核心开发人员最终都找到了喜欢的工作、满
意的薪水。

如果单论软件的最高水平(特别是软件设计技巧),开源项目应该优于商业软件(指通
过Money推动组织开发,应用于商业目的的软件)。但是个人觉得,开源软件缺乏持续
进步的良好模式。商业软件虽然一定程度上阻碍了人类的“智力共享”从而妨碍软件水
平的提高,但是在资本的强力驱动和严密组织下,一群并不快乐的程序员也能做出优秀
的软件――更重要的是这些程序员的成果会被迅速、高度产业化,挣来的钱又会有一部
分转化为软件开发能力和产业化能力。我们可以看到很多优秀的开源软件,但是我们看
到的越来越多的是成熟的商业化软件。老的开源运动领袖们所代表的价值观,会逐步受
到冷落,这也是无可奈何的事情。如果开源运动能从单纯的崇尚系统设计、软件开发技
巧的价值观,转变到给新的开源运动参与者(做市场分析、业务分析和产业化的人)更
多的发言权和主导权,或许会有新的出路。

当然,开源项目成功的软件开发过程、模式和方法,和商业化、产业化并非矛盾。各大
资本利益集团出于与对手竞争的需要,会对开源项目进行资金、技术和市场等各方面的
支持。但是,从这个角度看,开源项目虽然有成为挡箭牌、杀人刀的嫌疑,但也总比清
油孤灯孤芳自赏的好。

这是我的想法,难免片面,发出来大家聊。

-----邮件原件-----
发件人: python-chinese-bounces at lists.python.cn
[mailto:python-chinese-bounces at lists.python.cn] 代表 Wayne Wood
发送时间: 2005年5月11日 14:45
收件人: python-chinese at lists.python.cn
主题: Re: [python-chinese] 谈点python题外的,和设计有关的问题

我来谈几点自己的看法啊,呵呵

为什么开源社区能够在自由和松散的集合方式下开发出具有如此复杂度的软件(不
仅仅是 linux kernel 了):

1、目的不同:知之者不如好之者,好之者不如乐之者;如果你是一名 hacker,首
先你是真正喜欢这个东西,不然你会成为 hacker 的,其次你知道自己的代码会被
千千万万的高手看到,你会努力的精益求精,然后你会为自己的代码和软件被别人
用到,成为有用的东西而感到真正的兴奋,而不是通过得到多少多少钱而感到满
足;如果你是一名员工,你是为了生存(至少大多数人都是这样),你没得选择
(比如用户要求,老板决策等等),你只需向老板负责,只要能通过,代码可能会
一团糟(想想winXP比win98的臃肿程度),反正也不会有多少人看到,拿了钱了事
(可能你比较高尚,但是这不代表所有人都这样)

2、工作的方式和效率不同:黑客的生活应该是相当紧张的(从一些经典的黑客文
化的文献中可以看出),他们虽然说工作的时间很少,但效率应该是非常高,交流
虽然很少,但都是精要,因为彼此的水平和理解能力都非常的强;黑客比较注重动
手能力,一般会自己钻研问题,尽量避免浪费别人的时间,这样又将效率提高到了
一个新的档次(我不是黑客,只能用这些“应该”来表达我的想法)

3、文化和精神的力量:黑客的群体应该说是很庞大的,因为是不是一名黑客并不
局限于他的水平,精神和文化应该是更重要的因素,也就是说要具有最基本的素
质;不可否认,黑客的精神影响了一批又一批人(从开源软件的发展就可以看
出),因此大家愿意为此做出贡献,比如说报告一个 bug,甚至帮助查错纠错,作
为开源软件的用户,我们有这个条件,也愿意这样做,黑客为我们做了那么多,我
们付出这一点点努力算得了什么――可是全世界的这种微小的力量集合起来,有哪一
家公司的调试、测试团队比得了呢?试想你发过多少次微软的错误报告,发了会有
用吗?

4、编程水平:这是一批真正顶尖级的编程狂呀!文档很多的程序不见得就是好程
序(当然文档很少更不见得),注释也不是越多越好,优秀的程序是一目了然的,
已经不用别的什么东西去解释和说明了,我相信他们是可以达到这种我们无法想象
的水平的,因为很多软件的行为和功能是令我瞠目结舌的,无论是编程水平不高还
是设计思路不好都绝不可能做到这样优秀(比如 TeX 的断词算法、浮动对象的处
理,Emacs 的自动补全、增量搜索及其速度,Mozilla/firefox 强大的扩展性,等
等,也许我很土,但是这些东西的确让我吃惊)。我想水平高的程序员已经是用钱
难以打动的了,就像整天到处乱窜演讲的难保是真正的科学家。鲍尔曼曾疑惑他花
这么多钱雇来的这么多高级程序员纠集起来为什么还比不了一帮子闲散业余人员分
散工作,我想鲍尔曼应该是水平很高的人了,为什么还想不通这个道理?

就这个问题我是想过很长时间,其实理由有很多,鉴于篇幅先说这么多(有兴趣也
可以去看看 大教堂与集市等文献)。不过,有一点很重要,看似有悖常理,其实
开放的软件反而更不容易出现漏洞,自由的软件也不会让程序员失业,呵呵

Falls Huang 写道:

  
看到这么多人在谈什么设计模式,我想探讨一个问题。

总所周知,linux kernel取得了很大的成功,但是它的开发方式很松散,很多开发
者仅仅通过email/irc来交流,相当一部分内核的hacker不会为开发kernel而获得
报酬(ibm/redhat有部分全职员工做kernel,不过在所有kernel的开发者中占的比
例不是很多)。这么一个松散的团队,居然能开发出一个功能复杂而稳定的内核,
实在让人惊讶。 国内很多公司招聘全职员工,坐在一起开发一个复杂度不如linux
kernel的项目,有时还会失败。

这些kernek hacker写的文档非常少,但是他们居然能成功地协调开发,我觉得非
常不可思议。 在我的公司里,我如果让某个员工接手一个文档很少的项目,他肯
定会说:“文档这么少,怎么做?”看看linux kernel那少得可怜的文档,根本没有
什么UML,没有什么设计模式,完全无法理解这些人怎么协调工作一个数百万的项
目的。

谁能解释下他们取得成功的原因是什么? 为什么在国内的公司里没法复制他们的
开发模式呢?

 

    



_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese

  

_______________________________________________
python-chinese list
python-chinese at lists.python.cn
http://python.cn/mailman/listinfo/python-chinese
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050512/59093962/attachment-0001.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号