开源软件,字面上的简单解释就是源代码开放的软件,意味着第三者可以掌握软件的核心技术对其进行再创造,这有利于人类社会的协作和发展。开源软件又称为自由软件,是一场上世纪80年代开始的运动,因互联网而广泛传播,因Linux而声名鹊起。理解软件的自由前提是有很强的法律意识,有些软件虽然源代码开放,但不允许别人修改和再创造。就好比专利,虽然公开了技术,但一段时间内不允许别人使用,它一方面保护了原创者的利益,成为创新的一种激励机制;另一方面阻碍了社会发展的进度,许多公司利用专利制度去阻止别的公司发展。自由软件就是要既公开技术,又允许别人利用和发展。由于国人版权意识薄弱,因而大多关心的是是否可以获得软件代码,其它法律问题通常是忽略的。就好比只关心买来的软件是否可用,而不在乎是否正版。开源对于需要“祖传秘方”的传统社会和行业是一个冲击,对于公开自己的技术被视为一种无私的奉献,也意味着比较让人接受。通常大部分人都乐于见到无私奉献的人和事,但自己不会去做并且不希望身边的亲人做。
通常,成功的开源软件需要有技术出众的作者,这样才能在业界做出名堂,为人所知。有些开源软件仅有一个人维护,有些则可以达到成千上万人,取决于软件的复杂度和应用范围。有很多开发者的软件当然是成功的,但只有一个人写的软件也可以很成功,事实上很多成功的软件都是一两个人写的。
开源软件有一定的黑客文化背景,是一种展示个人技术的方式。如果一个软件工程师在简历中添加一句:Linux内核的开发者之一,那么别人都不会质疑他的技术能力。一个有趣的例子是Python的作者Guido去Google面试,简历只有一句话:我写了Python。从这一点来看,做开源软件不一定是很无私的,它不见得就没有任何回报。事实上无私奉献不代表没有回报,也不一定就只有精神回报。只要能把自己锻炼成强者,不需要太计较眼前得失。
开源软件的公布可以在现在最流行的Github上发布,也可以在类似的平台如Google Code和SourceForge上发布。开源中国是一个信息收录的平台,本身不提供软件代码托管服务。搜索引擎对于主流开源软件平台的软件有较高关键字优先级,如果你在某一领域范围内做了开源软件在主流平台发布了,领域内的人很容易搜索到。
评论