魔法锅

    注释

    1.如果假设编程人才均匀分布在项目用户(随时间不断增长)之中,那么供应不足问题事实上就与用户数之间成线性关系,但事实上这并不是问题所在。

    在注释2中探讨的动机(以及一些更传统的经济动机)暗示有才能的人倾向于寻找那些与他们兴趣相匹配的项目,而项目也在寻找他们。因此,理论上讲(经验也倾向于证实这点),最有价值(最有资质和最有积极性)的人才在寻找适合他们的项目时,通常会选择在项目生命周期的相对初期阶段,越往后越少。

    虽然缺乏具体的数据支持,但基于以往经验,我强烈倾向于认为:一个项目在生命周期成长过程中吸收人才的规律符合典型的逻辑斯谛曲线。

    2.Shawn Hargreaves在“Playing the Open Source Game”(http://www.talula.demon.co.uk/games.html)一文中就游戏软件是否适合开源给出了很好的分析。

    3.给会计人员:如果不用定值美元(constant dollar)而用贴现后现值(discounted present value)计算,“服务成本终将超过固定预付价格(fixed up-front price)”这一论断仍然有效,因为未来销售收入和服务成本有着同样的贴现率。

    一个类似但更微妙的相反论点是,对于每个软件拷贝,当买家停止使用时,服务成本将会变为零;因此如果用户在他(她)还没有产生太多服务成本之前就停止使用软件的话,你就还是赚的。基本上该论点仍在表达“工厂模式鼓励存架软件”。或许更有指导意义的说法是:服务成本超过销售收入的风险随着软件预期使用时间的增长而变大。这也就是说:工厂模式对质量是一种惩罚。

    Wayne Gramlich(Wayne@Gramlich.Net)指出,工厂模式之所以长期存在,一定程度上是因为会计准则的落后和陈旧,会计准则形成的年代里,机器和建筑物比人力更重要。在软件公司的账目上,一般将电脑、办公设施以及建筑等列为公司资产,而程序员则属于开支。而事实上,程序员才是真正的资产,电脑、办公设备和建筑物则无关紧要。这种扭曲的估值方法来自美国国税局和股票市场的压力,其目的是维持稳定、统一的会计准则,以减少用货币给公司估值时的复杂性,但其结果导致会计准则跟不上现实情况。

    基于这一观点,给产品标上高价(而不考虑未来的服务价值)在一定程度上是一种防卫机制,而所有相关方也一致假装认为标准的会计准则并没有在本体论层面上站不住脚。

    (Gramlich还指出这些准则使得一些软件公司在IPO之后很快出现奇怪的而且通常是自毁式的大肆收购:“通常软件公司发行一些额外的股票来筹措竞争基金。但是他们不会从中拿出任何一点来扩充编程队伍,因为会计准则会认为这是开支的增加。所以,新上市的软件公司不得不通过收购其他软件公司来发展壮大,因为收购行为在会计准则看来是一种投资。”)

    4.OpenSSH是开源项目变节后产生分支的典型例子,查看一下它的历史可知,在SSH(Secure Shell)走向封闭之后,OpenSSH从SSH的先前版本中分支而出。

    参考文献

    The Cathedral and the Bazaar,http://www.tuxedo.org/~esr/writings/cathedral-bazaar/

    Homesteading the Noosphere,http://www.tuxedo.org/~esr/writings/homesteading/

    De Marco and Lister.Peopleware:Productive Projects and Teams.New York:Dorset House,1987.

    致谢

    感谢David D.Friedman,与他几次极具启发性的讨论使我完善了开源合作的“反公地模型”。感谢Marshall van Alstyne,他指出竞争性信息在概念上的重要性。感谢Indiana Group的Ray Ontko提出的有益批评。感谢1999年6月之前一年里聆听我演讲的很多听众,他们对本文也有帮助,如果你是他们中的一员,你知道我说的是什么。

    本文首次发布后几天内收到的电子邮件回馈,帮助了本文的实质性改善,这可以看做是开源模式的又一个例证。Lloyd Wood指出开源软件的重要性在于它能“防患于未然”;Doug Dante提醒我关于“未来免费”的商业模式;Adam Moorhouse提出的问题引发我们对闭源回报的讨论;Lionel Oliviera Gresse帮我对其中一个商业模式想出了好名字;Stephen Turnbull对我未能严谨论述“搭便车”效应而产生的愚蠢错误给予了无情批评;Anthony Bailey和Warren Young帮我纠正了Doom案例中的一些错误;Eric W Sink敏锐地指出工厂模式在事实上鼓励了存架软件。