放弃你的代码,而不是你的时间
作为软件开发人员,我深知开源代码已经深刻改变了世界。其公共性质打破了壁垒,让软件得以发挥最佳潜能。当前存在一个突出问题:许多有价值的开源项目因领导者的精力耗尽而停滞不前。
Ryan Bigg,曾经是多个Ruby和Elixir项目的重要维护者,他这样表达了他的困境:“我在开源上的投入并未得到相应的回报,因此我决定结束我的所有开源工作。”前FubuMVC项目负责人Jeremy Miller也表达了类似的观点,因为无法同时处理多项任务,他无法继续推进该项目。Nolan Lawson,PouchDB的维护者之一,甚至表示当他决定要孩子时,可能会放弃开源。
我们需要一种新的行业规范,确保项目领导者总能获得与其投入相称的时间补偿。我们需要摒弃的想法是,任何提交问题或合并请求的开发人员都能自动得到维护者的关注。
开源代码在市场上的作用犹如积木,是企业为了在其他领域获利而投入成本获得的实用软件。当代码对用户有价值且比替代方案更优质时,围绕该软件的社区就会不断增长。但要维持这样的社区,项目维护者需要应对大量改进和建议。他们得到了什么?除了可能的未来使用,可能一无所有。
有一类开源项目成功地避免了这个问题。Linux、MySQL、Android、Chromium和.NET Core等项目的共同点在于,它们对一家或多家大型企业具有战略意义。这些企业会资助这些项目的发展。但那些不符合大企业核心战略的项目怎么办呢?
如果你是这类项目的负责人,建议向社区成员收取年费。开放的源码,但封闭的社区。鼓励用户付费以影响项目的未来。将非付费用户排除在论坛、问题跟踪之外,并向贡献者收取合并请求的时间费用。这会导致一个更小的社区和更多的分支,但如果你坚持创造价值,其他人会愿意为贡献付费。众筹是一个实现更大愿景的途径,有许多成功的例子,如Font Awesome 5、Ruby enVironment Management (RVM)和Django REST framework 3。
宽敞的自由空间:理解开源许可证背后的理念
在科技领域,我们经常会听到关于各种许可证的讨论,MIT、Apache、BSD,这些都是开源世界的标识。并非所有的开源项目都采用相同的授权方式。Linux,作为科技领域的核心,采用的是GPL(GNU通用公共许可证)授权方式。这意味着它的源代码是公开的,任何人都可以自由使用、修改和分享。但这不是简单的代码赠送,而是对知识的共享和互惠互利的体现。
这篇文章的作者William Gross向我们分享了他的观点:分享你的代码,但不代表要牺牲你的时间。感谢Jason Haley、Don McNamara、Bryan Hogan和Nadia Eghbal阅读了这篇文章的草稿,他们的意见让文章更加充实和完善。
你可能会有很多疑问:开源项目背后的理念是什么?为何我们要分享自己的代码?答案是开放、透明和共享。开源项目鼓励开发者们共享他们的知识和技术,这不仅有助于推动技术的进步,还能让每个人从中学到更多知识。这并不意味着你要无偿付出你的时间和努力。代码是可以分享的,但你的时间应当被你自主掌控。这就是开源世界的理念。
想要了解更多关于这篇文章的内容,可以访问其出处链接:
文章从网络整理,文章内容不代表本站观点,转账请注明【蓑衣网】