在国内,没有收入的开源是死胡同,不要为情怀去做开源。首先说结论,不论是公司机构还是个人。
国内的软件开发人员的生存境况不如国外,没钱谈理想,就是不要脸。美国等IT技术发达国家,首先是软件开发人员不愁生活,没有35岁的问题,有时间和精力去做自己喜欢的事情,可以为情怀埋单;但在国内软件开发人员基本的温饱还存在问题(按比例还是穷人多),时间都花在找吃的上面,哪里有时间谈情怀,经济基础决定上层建筑。
一、什么人在谈开源?
一类是官媒,开源是为国家建立基础,防止被掐脖子,提高技术能力,政治正确是唯一的支持,有什么实际的经济支持,对软件开发人员的好处,对企业使用开源提供产品倒是有政策倾斜,如政府采购有优先权等等。至于提供的技术是不是真正解决掐脖子的问题,是不是真正自足可控,谁又去进行详细的评估验证呢?当软件后门打开时,你连知道都不知道。
第二类是企业的开源社区,目的很明确,建立生态圈,建立围城,一旦使用,后期切换到其他生态圈的成本非常高,建立商业排他性。
第三类创业团队,目的也很明确,找金主,技术先进不先进,没有关系,只要是在投资风口的就立个开源项目,跟风活几年算几年。
第四类个人爱好,目的技术传播分享,几乎无偿提供,有幸运儿获得金主支持,项目长期干下去,发光发热的极少,大部分是项目更新趋于停滞。
二、开源好处
可以快速获得本领域的最新的技术成果,减少摸索的时间,经济上最省,这个是根本。这也是企业新进入一领域最喜欢干的事情,可以白嫖。对个人反而是学习的成分居多。
从开源的时间上看,特别是软件,大量的是已经在实践中获得验证后,提高了效率后,推广到整个业务领域的方式比较常见,这个是主流的开源实施的方式。
还有一种方式,就是HACK的方式,在某些灰色地带进行的软件创新,如软件破解,软件插件等等。这种方式很大程度上是要自由,不愿意受限的思想所主导。
三、开源坏处
技术成果被白嫖,有些技术一开始只是HACK直接交流使用的,是软件文化中的一部分,本身就带有江湖气。所以才有各种软件版权的许可,MIT, GPL V2, V3等等。目的就一个不能白嫖,你也要贡献。
一些商业公司或组织被迫做开源,一开始可以白嫖,谁不心动,又可以满足业务,有可以少花钱,多美的事情,只是其也知道自己也要开源,你不开源别人会告你,大公司树大招风,不开源不行;后期开源后,自己技术上来了,这时候就变成开源的主导者,有的公司采用商业版本和开源版本,太常规的操作,开源社区逐渐枯萎,最初的开发者或组织为他人做嫁衣。
对于个体或小团队的开源组织,对抗大公司是不太可能的,你没有钱去长时间维持。大部分开源项目都是一放几年,代码没有人更新维护;极少部分的项目找到金主,金主也分很多中,有的是软件基金会,有的是公司,所以有时你看软件的README中的版权声明时,会发现一段时间是这个公司或组织有版权,一段时间是另外一个公司或组织拥有版权。
四、在国内如何搞开源
一句话,有钱有时间就搞,有钱无时间别搞,无钱有时间别搞,无钱无时间更是别搞。
基本的要求就是要有钱有闲,对个人尤其如此,对公司可能要求不是那么高,但是一定是符合公司商业利益的,开源建生态圈,建立护城河;开源避免版权官司;使用开源降低费用,收购开源项目等等。
个人搞开源,需要非常喜爱此行业,而且有时间和钱的支持,可以专职进行搞开源项目,但还是建议个人前期还是兼职搞比较好,没有生存生活压力。就是要抽出业余时间搞自己喜欢的事情。
至于官媒所说的开源是软件竞争力的话,弥补软件技术空白,提升基础软件能力,听听就好,别当回事。开源的初衷不是弥补技术空白,而是要自由要分享。