从长远角度来看,开源贡献必须是一条双行道。然而最近的统计显示,公司对开源项目的贡献远远低于企业对开源代码的使用。随着越来越多的公司加大对开源项目的贡献力度,这里有必要揭穿开源贡献一些常见的误解。
1. 开源早已赚足了眼球
1964年,一位名叫Kitty Genovese的年轻女子成为公众冷漠态度的受害者,这一现象引发了一场“旁观者效应”的大讨论。简单地说,这一术语描述的现象就是表明人们在周围有足够旁观者存在的时候自己不愿主动采取措施。
如果你明白上面所说的话,你就能想象得出是什么在一定程度上促成了Heartbleed的发生,这对互联网是一种威胁。开源软件在IT行业可以提供足够的眼球,原则上这些眼球是用来发现安全漏洞和缺陷的。然而,很多人利用这个想法采取了极端手段,在很多企业严重依赖的开源项目上做手脚,造成难以想象的后果。
由一小群志愿者在没有大量捐款或外部贡献的情况下维护着OpenSSL项目,使其形成了一个网络安全的核心部位。从本质上说,它已成为一个“旁观者效应”的受害者,因为很多人都相信会有人去贡献这个项目以确保它是安全的。正如Lou Shipley告诫的那样:“开源必须是一条双行道。”
2. 贡献的唯一方式就是编写代码
很多公司都极度缺乏开发人员和工程师,以至于在给开源社区做贡献的时候出现人员紧张局面。因此,当问及他们在贡献缺乏的事情的时候他们总是给一个歉意的答复。然而,给代码并不是唯一的方式。一些其它的贡献方式包括:
- 发现问题并报告问题。
- 修复简单漏洞。
- 帮助构建更完善的文档。
- 组织或赞助聚会。
- 为标准委员会做点事。
- 捐款——OpenSSL只有几千美元的捐赠项目,但它却为成千上万的企业带来收益。
此外你可以查看Barbara Shaurette所写的各种为社区做贡献的其他方式。
3. 项目上传完即万事大吉
一旦你上传项目到Github或类似的网站,你不能认为你的事情就结束了,更不能认为你的项目代码现在已经开源了。“除非你能明确地提供一个许可证,因为你可能跟这个项目代码还有着所有权利和责任等事项。通过Black Duck的扫描软件,我们发现,去年在Github上有超过四分之三的项目没有提供相关的、有效的许可证。这很难让别人在你的工作上建立相关贡献。一旦你开始这个项目,那么你需要声明一个许可证,别人才能相信它是真正的开源的。
更多细节可以在Black Duck和GitHub的网站阅读。
4. GPL要求你签字放弃版权
有一个很流行的说法,GPL和受欢迎的版权许可让你分配你的版权给第三方(FSF或其他人)。下面是General Counsel在这个问题上的阐述:
虽然GPL要求共享源代码,但是作者不需要分配或转让版权给任何实体单位。根据GPL的规定,你可能需要合并在GPL许可证下面的所有工作,并且是免费的。然而,你不需要分配你的版权。
公司可以从战略意义上释放某些GPL许可证下的代码,这么做的目的是希望别人采用代码并改进代码质量。同时,相同的公司可以允许同样的代码给OEM,例如,收取费用,只要它不包含其他第三方GPL代码。
5. 构建社区就会有贡献者
许多公司战略性的使用他们的开源贡献来建立一个技术社区。然而,他们只是幻想着能够抓住这一梦想“构建一个社区,贡献者就会来”。事实上,这个社区不可能成为一个正式的开源社区,因为你已经将项目上传到Github,并提供了一个许可证。Ohloh——是Black Duck 开放中心,其统计结果表明大多数项目并没有强大的社区利益,无法激起贡献者的兴趣。
构建一个开源社区和构建一个其它社区并没有太多的区别。你需要创建的是一个愿景,最初阶段投入足够的努力让这个社区运作起来,通过文档和高质量的代码让项目更容易被理解,接触相关社区的成员,而且,最重要的是,将项目的价值传达给公众。
文章来源:OpenSourceDelivers