5 大专院校应该成为开源软件的主力军
一个有趣的现象是,很多开源软件其实就是作者在大专院校或者研究机构工作或学习时发起的,比如本文提到的三个国内早期的开源软件项目。甚至某些开源软件由特定的大学主持和维护,如 BSD 操作系统、PostgreSQL 关系数据库、Minix 操作系统等等。
从国际视角看,开源软件的发展离不开一些知名大学的参与,BSD 和 MIT 许可证分别由加州大学伯克利分校和麻省理工学院定义,并由两所大学在其众多开源软件中使用,也被其他开源软件广泛应用。值得一提的是,苹果公司 Mac 操作系统和 iOS 操作系统,均使用了加州大学伯克利分校开发的 BSD 操作系统内核。
从现实情况看,国内在各大公司工作的程序员们,除非因为供职单位支持,否则很难独立发起和维护一个大型的开源软件,但在大专院校和科研机构工作的老师和学生,则有得天独厚的条件(主要是有大量的时间,并可能和科研课题和教学任务相结合)来发起和持续维护一个开源软件项目。清华大学陈渝副教授主持的 SkyEye 和 ucore 两个开源项目就是典型的案例。笔者希望国内有更多的大专院校和科研单位(尤其是教师)能够积极参与到开源软件的发展当中,并成为国内开源软件的主力军。
6 政府和开源社区应该做什么?
说实话,笔者并不认为政府在开源软件的发展中应该起主导作用。政府要做的就是制定公平、合理的规则,促进相关法律法规的完善。
从法律上讲,你编写了一个程序,你就自动获得这个程序的软件著作权。在实际操作中,法律要求进行软件著作权的登记,就如同房产证一样,你非要有个政府颁发的证书才能得到法律的承认。我们暂且不论这个做法是否合理,也不论登记收费这事儿,你需要了解的是,在中国,如果你打算遵循 GPL 许可证开源你的软件,你就无法登记著作权!
当然,众所周知,中国的知识产权保护力度不够,不仅仅阻碍了软件产业的发展,也阻碍了开源软件的发展。
还有,在中国,要注册一家非公益性的 NGO 组织(国外各种软件基金会都是这类组织),是非常非常困难的。这导致截止今天,中国没有任何一家支持开源软件为己任的非营利性基金会组织。
政府所要做的,就是撤销那些违背历史发展大潮的法规和规定,并建立完善的知识产权保护制度,加强对盗版等的打击力度,教育国民尊重他人劳动成果,而不是仅仅停留在口头上。
政府,把上面这些问题解决好了,比直接参与推动开源软件什么的,要强许多倍!比如,加大知识产权的保护力度,一方面可以让商业软件在传统贩卖软件使用许可的商业模式下得到良性发展的机会,也可以让一部分人转向使用免费的开源软件,进而促进开源软件的发展。
当然,在现阶段,通过从财政中拿出来一些钱,设立一些奖励基金之类的东西,给开源软件的作者以一些奖励,也许是更有效的途径。
开源软件本就应该是以松散、自组织的形式开发和发展,开源社区的存在,为开源软件开发者和使用者提供赖以生存的土壤。开源社区可以是网站、论坛,也可以是松散的交流、展演等。当然,开源社区第一步要解决的问题就是自己的生存问题。
笔者的建议是,开源社区应该尝试在现有法律框架下,以有限责任公司的治理结构来做国外开源基金会所做的工作。通过这样一种方式,可以有效避免无法注册 NGO 组织的问题,然后从企业(尤其是那些大型互联网企业)当中募集捐款,通过赞助一些开源项目,逐步推进开源软件社区的良性发展。
另外,国内开源社区还需要从使用者社区转向开发者社区,为开发者参与开源软件提供便利,如建立类似 GitHub/SourceForge 那样的开源软件托管站点,为开源软件项目提供邮件列表、论坛、博客服务等等。
7 结语——给那些仅仅使用开源软件但不做贡献的企业
将开源软件和商业结合,不管是在自己的项目中使用开源软件,还是靠自己的开源软件来赚钱,都无可厚非。关键是,我们需要尊重开源软件著作权的拥有者,按照开源软件所采纳的许可证办事,只有这样,开源软件才能得到长足发展。
通常,开源软件的作者发布开源软件,是希望获得最多用户使用的,在此基础上,作者要么会获得业界的追捧而一夜成名,要么获得一定的商业利益。所以,从某种角度上讲,使用开源软件本身就是对开源软件的一种支持。
但是,这并不意味着你可以随意使用他人的开源软件。合法使用开源软件的前提,就是遵守开源软件的许可证规定的各种义务。
当然,更有积极意义的方式是,将使用开源软件中遇到的问题或者修正、增强代码提交给开源软件的作者,帮助其改善作品。其实,这是任何使用开源软件的企业都能做到的。
作者:魏永明(飞漫软件CEO)。本文经章文嵩、陈渝审阅。
【专题:开源软件】