本文作者长期以来一直定期为开源世界贡献代码,最近重新思索了一下开源软件的意义,在开发者中引起了强烈共鸣。
15年来,我一直定期地贡献开源代码,但是现在我停下来思考这对我自己究竟意味着什么,也许仅仅是因为我喜欢写代码,也许是我消遣时间的方式:写代码而非思考其中的意义……但是最近我开始反复思考开源、 它与IT行业的关系,以及对我——一个开发者来说,OSS(开源软件)究竟是什么。
首先,开源对我来说与自由软件运动无关,而是为了对全人类做贡献。这意味着很多,比如我从不关心别人是如何对待我的代码,也不关心别人是否会发布自己的修改版本,我只希望他们愿意使用我的代码,而不论是以哪种方式。
我还非常希望别人能从中获得乐趣、学习新的知识,甚至挣钱。别人使用我的代码挣了钱,并不意味着我失去了什么,恰恰相反,我从中获得了我所想要的:
- 如果别人使用我的代码挣到钱,意味着我对世界产生了更大的影响。
- 如果有N个项目使用了我的代码并从中受益,他们很有可能会愿意与我分享其所得收入,或者直接雇佣我。
- 我也可以使用自己和他人的开源代码,并获得收益。
出于以上原因,我选择了BSD这个几乎等同于“做你所愿”的开源协议。
但是,很明显并非所有人都这样想,很多开源代码贡献者并不希望别人将其想法用于商业产品,他们只希望继续发布同样许可的作品。
对我来说,使用GPL协议所需要遵守的众多规则如同枷锁,限制了人们使用开源代码的自由。但是,接收的回报跟协议本身没有多大关系:如果它真的有用,那么人们会愿意以某种方式进行回馈,而非维护一个分支。发展才是真正的价值的。同样,不能进化的代码库也没有意义。如果你贡献的开源代码很有价值,相信其他同行也愿意把自己的修改合并进去。
无论如何,作为一个用户,我喜欢更少的补丁集和更多的自由。这没有什么可多说的。
在我看来,开源最缺乏的回报在于金钱,而非补丁。创业公司,以及众多低成本运营的IT企业都强烈依赖于众多开源程序。企业应当向他们所使用的核心开源软件的开发者捐赠一部分收入,因为他们的成功离不开这些软件,我认为更理智的方式是雇佣这帮人专门负责开源软件的开发(就像VMware和我的关系一样),或者直接捐款。
很多开发者的工作仅仅是因为一时的激情,只有很少一部分从中受益。如果能分配些捐款,相信人们会更关心他们一时激情的开源作品,因此带来的经济价值可能比日 常薪水工作更多。很可惜,你无法pull request不会付款,虽然通过提交源代码来帮助源代码很有意义,但在我看来还不够***。
也许你的视角完全不一样,但在我看来,当今IT行业很多的价值都是由开源软件所驱动的,其中很多又是在业余或工作间隙时间努力完成,当然,前提是有个允许允许你这样做的雇主。
从经济角度来看,我觉得这样做还不够好:如果聪明的程序员有机会自由地做自己所喜欢之事、为流行的开源应用贡献代码,一定可以创造更多的商业价值。
各位网友,你们是如何看待开源与赚钱的?
英文原文: Antirez weblog,编译: CSDN