多谢 @zauruso 邀请, 起决定作用的不是精神,而是精神背后的市场规律。
每年都有很多『社会活动家』搞出这样或者那样的活动,说的都很好听,但是大部分都是昙花一现。而开源不但活了下来,并且在不断的壮大,说明开源共享精神的背后,真的有市场的需求和经济的规律。
其实仔细研究Linux这个案例,大家就能发现很多的东西。Linux从开源以来,发展一直很迅速,当然Linus这个很称职的项目经理是Linux成功的重要因素之一,但是这也说明了市场对不受任何一家公司控制的操作系统的需求。开源就很可以满足很多公司,尤其是大公司的业务和安全上的需求。
如果说闭源是对公司专业化的信任的话,那么开源其实就是全世界有相似需求的人组成的一个卡特尔联合体。大家在系统管理和维护的过程中,总会遇到很多相似的问题。如果是闭源的企业,系统管理员除了提交bug给公司之外,也没有什么太好的办法。毕竟不是每个bug都有workaround的存在的。但是如果系统是开源的,有些有能力的程序员就可以自己去修改源代码来打补丁修复这个bug。所以开源的系统表面上看自由共享的,但是在这种使用者和创作者是同一个群体的情况下,其实相当于一个大型的互助协会——每个人都尽量的解决自己面对的问题,然后也都潜在的解决了其他人在未来可能面对的问题。
开源并不是万能的,看Linux在服务器领域攻城略地,但是在桌面领域举步维艰。因为在UI领域,使用者和创作者是非常分离的。UI的很多方面,尤其是大众觉得“贴心”的方面,就是为了方便不太习惯于命令行的人来进行操作的,而这些人基本上都不是有改写代码、打补丁的人群。这种分离就造成了两种后果,一则Linux社区本身意愿并不强,因为增加那么多贴心的小功能,让鼠标点来点去,不如一长串命令行输入来的痛快高效;二则也很难理解到用户的痛点。
几乎所有的开源软件,如果要想在大众领域,而非计算机专业领域人员这个群体取得成功,就要加一个闭源的、商业的壳。比如Wordpress,很多自动帮助人们生成博客网站的后台其实就是wordpress,就是把网站定制傻瓜化+商业化的模板。这个定制的过程本身并没有太多的创造性,并且需要为用户的习惯和误操作进行很多的折衷和妥协,而一般只有商业化的公司,才会有动机去进行这些看似琐碎,但是会显著提高用户满意度的事情。
上面这就是从公司层面上,开源得以流行,甚至能得到商业公司支持的原因。因为商业公司自己也需要用这些开源的技术,那么和其他的公司就这一个项目上组成一个『开源互助小组』,是对彼此都有好处的。
从程序员个人的角度来说,程序员个人也有动机去参与开源的开发。因为开源就是程序界的快男快女。在闭源时代,要想当程序明星为大众所知,是一个很难的事情,因为一个人程序写的牛,往往也是隐藏在公司的产品身后,公司可以决定把这个曝光度加到公司的身上,还是某个程序员的身上。但是开源相当于让一个人的作品直接暴露在大众的眼前,很多人就是通过自己的开源作品,和Github上的Repo作为简历,找到了非常好的工作。所以自己的开源项目本身,就对程序员的职业生涯和声誉产生正面的影响。
所以自己免费的把代码拿出来给别人用,并不一定是一个纯利他的行为,因为这本身也是对市场发出的信号,可以促进自己的职业生涯。
所以,无论是从公司还是个人层面,开源的繁荣的背后都是非常浓厚的商业和利己的因素在推动,这不是『情怀』和『开放精神』能够概括的。如果想把开源精神应用到其他领域,那就要看看是不是有某个领域能够符合这个特征。
有人提到学术界,学术界和程序员一样,是一个自产自销的小社区,但是其实学术界的文章开放的激励并不是太强。因为现在大家经常折衷的做法就是把同一篇工作论文放在免费的网站上,然后发表版本交给出版社处理。并不会对业内的知识的交流和沟通造成很大的影响。如果要说对大众开放的意义,很多学术论文写出来,无论从形式还是内容确实也不是给大众看的,很多论文商业化的前景也非常有限。
其实商业化前景目前比较热门的几个学术社区,比如机器学习,Open Access的呼声就非常的高,前段时间还抵制过Nature的子刊。因为这方面公司和学术圈的互动本来就很紧密,无论是造星也好,还是商业应用也罢,机会都相对较多;至于大部分吃瓜的学科的论文,Open Access与否,更多的只是学校的政绩,能否真的能像开源那样产生很大的影响,我持怀疑态度。