|
这个问题在20年前问可能比较适合。可惜2019年,300多个答案中少有说到关键。
现在的问题应该是为什么“Facebook, Linkdin, Amazon, Google, Microsoft”是开源项目的主力?
因为软件只有开源才能生存。
写好软件,只是十月怀胎一朝分娩,这个软件要想长大成人,还有五年甚至更长的维护期。很多公司自己都活不过5年,不开源谁来维护?
学过软件工程都应该知道,维护的工作量十倍于软件开发。不开源谁来分摊这部分成本?
越是基础软件,生命周期越长,增值部分越少。比如说apache server,它会一直存在下去,直到web server不再需要。但很少有人能在apache server上赚钱,因为它没有什么特殊功能,都是标准定义,性能到了一个很高的平台。很少有人在这上面做出新的有特殊价值,值得别人专门付费。
但是,如果它不维护了,要不了一年,它就被抛弃了。新的硬件,操作系统,新的编译器,甚至新的开发人员,很快就会让这个软件遇到很多没有源代码就解决不了的问题。软件就真的死了。
前段时间,微博上有个新闻,一个很少见的给残疾人使用的输入法软件,遇到了无人维护的问题。如果这个软件是开源的,我想原本就不会有多少人知道,因为它会一直活着。
说一个很冷的知识,borland turbo c这个软件一直没有开源,虽然它其实还顽强的活着,也和死了一样。另一个watcom c虽然它自己死了很多年,以open watcom c的形式开源,又活了一段时间。网景/Mozilla/Firefox浏览器,更名几次,还是靠开源撑到了IE 6倒下。当然这个例子有时代的因素,但它如果不开源,我想它多半死了。
软件如何赚钱这个问题?
我的观点是。对于真正使用软件的用户,如果使用者有能力自己编译,安装,部署,自己解决问题,那么软件可以不收费。如果不能,请为这部分服务付费。对于需要二次销售的用户,请按license处理,这是个法律问题。 |
|