开源的意义不是免费

开源已经是软件领域占据绝对主导的一种策略。但是,很不幸,大部分人对开源的认知都无外乎两个点:“免费”“开箱即用”。所谓免费就是说你开源的软件,我不用买许可证,直接用,你的协议最好还是MIT,这样我用起来一点版权顾虑都没有。开源=免费,这几乎成为行业共知。而“开箱即用”则体现在使用者对开源软件的依赖性,它们希望一个开源软件可以按照自己的想法工作,如果不行的情况下,就去给软件作者提issue。实际上,在我看来,“免费软件”和“开源”完全是两个层面的事。开源的真正意义是,让原本封闭的独裁的技术公开,让其他开发者可以从中学习,在自己的产品里使用开源代码里面的思想、思路、甚至是实现方式,而非提供完整的产品免费给人用。但现在行业里面曲解开源精神,以github为主导的开源世界实际上是推崇“开源免费软件”这一完整的概念,而非“开源”概念本身,也就是说,一个开源项目的作者,被要求把这个项目做成一个完整的,其他开发者拿过去就开箱即用的,而且还要有完整文档的,甚至issue反馈即时的项目。这其实是做软件的思路,而非做开源的思路,开源变成了软件的一种分发方式,开源精神本身反而在这种潮流中被淡忘,甚至如果不按这种模式行事的开源项目,还会被数落。开发者不仅不感谢开源者将自己的思想公之于众,反而以形式化的要求去数落他,这样而言,他大可以不开源了,自己好好把项目做好,赚更多钱,而对于那些叫嚣开源项目完整性的人,多半不喜欢去看源码,而喜欢看文档,也就是那类拿来主义而已。