最近有两次,有人问我为什么开源经济模式是合理的。第一次是在最近一次会议上,在电梯里遇到一位学术研究人员。我们谈论了开源,他问我:
"If the software is open source,
how are developers suppossed to make a living?".
第二次是最近,一位在伦斯勒理工学院(RPI)上过开源课程的学生。他问我他面临的一个困境,他编写了一个不错的 Web 框架,自然而然地他决定开源——一家公司发现该软件很有用,想要在其基础上构建,并愿意为此补偿他。他考虑是否应该
(a) Charge them a one-time fee for a customized license, or
(b) Charge them an hourly rate for consulting services
我强烈建议他选择 (b) ,并向他讲述了我在离开电梯后,在欢乐时光与那位学术研究人员进行的长时间对话。
这两个故事的核心是: “软件不是制造业” 因此, “软件不是产品。”正如埃里克·雷蒙德很久以前在他的书《大教堂与集市》中正确指出的那样: “软件是服务业” ,更准确地说,软件本身只是交付服务的平台。就像高速公路、水道、电网、电话网络和供水管道一样。
一旦我们理解了软件行业中重要的是拥有强大的软件来支持流经它的服务交付,那么就很清楚,软件的经济学不可能基于许可证的一次性付款,也不可能“按单位销售软件”。
软件的构建和维护是一个非常劳动密集型的过程。因此,为了正确核算其成本,我们必须采用一种基于开发人员投入于构建和维护此类服务的专业服务的每小时成本的方法。
这没什么新鲜的。对专业服务按小时收费是律师、医生、会计师、机械师、飞行员和护士在经济系统中运作了几十年(有些甚至几个世纪)的方式。
由此可见,当客户想要扩展、改进或定制我们拥有专业知识的软件时,我们最好的商业方法不是提供基于许可费的一次性交易,而是按小时费率提供我们的专业服务。
这样,开发人员的时间始终得到适当的补偿,并且客户可以根据自己是否正在接收所需的服务来控制和灵活地调整和纠正。 当然,当为一项不清楚需要多少小时才能完成的服务支付小时费率时,客户可能会对签订此类协议感到担忧。这时,开放的心态和开放的开发改变了一切;当参与开放式开发时,客户不仅可以每天看到软件的设计、实现和测试过程,还可以积极参与驱动软件,以确保其满足适当的需求。
当开发人员因其有限的时间和精力的稀缺性而获得补偿时,开源模式使软件开发的经济性能够与效率、高质量、低成本、可维护性、适用性和可扩展性保持一致。 compensated for the scarce good of their limited time and attention.
开放性对业务有利。
6 条评论