放弃你的代码,而不是你的时间
创始人
2024-03-01 21:07:20
0

作为软件开发人员,我认为我们可以认同开源代码 注1 已经改变了世界。它的公共性质去除了壁垒,可以让软件可以变的最好。但问题是,太多有价值的项目由于领导者的精力耗尽而停滞不前:

“我没有时间和精力去投入开源了。我在开源上没有得到任何收入,所以我在那上面花的时间,我可以用在‘生活上的事’,或者写作上……正因为如此,我决定现在结束我所有的开源工作。”

—— Ryan Bigg,几个 Ruby 和 Elixir 项目的前任维护者

“这也是一个巨大的机会成本,由于我无法同时学习或者完成很多事情,FubuMVC 占用了我很多的时间,这是它现在必须停下来的主要原因。”

—— 前 FubuMVC 项目负责人 Jeremy Miller

“当我们决定要孩子的时候,我可能会放弃开源,我预计最终解决我问题的方案将是:核武器。”

—— Nolan Lawson,PouchDB 的维护者之一

我们需要的是一种新的行业规范,即项目领导者将总是能获得(其付出的)时间上的补偿。我们还需要抛弃的想法是, 任何提交问题或合并请求的开发人员都自动会得到维护者的注意。

我们先来回顾一下开源代码在市场上的作用。它是一个积木。它是实用软件,是企业为了在别处获利而必须承担的成本。如果用户能够理解该代码的用途并且发现它比替代方案(闭源专用、定制的内部解决方案等)更有价值,那么围绕该软件的社区就会不断增长。它可以更好,更便宜,或两者兼而有之。

如果一个组织需要改进该代码,他们可以自由地聘请任何他们想要的开发人员。通常情况下为了他们的利益会将改进贡献给社区,因为由于代码合并的复杂性,这是他们能够轻松地从其他用户获得未来改进的唯一方式。这种“引力”倾向于把社区聚集在一起。

但是它也会加重项目维护者的负担,因为他们必须对这些改进做出反应。他们得到了什么回报?最好的情况是,这些社区贡献可能是他们将来可以使用的东西,但现在不是。最坏的情况下,这只不过是一个带着利他主义面具的自私请求罢了。

有一类开源项目避免了这个陷阱。Linux、MySQL、Android、Chromium 和 .NET Core 除了有名,有什么共同点么?他们都对一个或多个大型企业具有战略性重要意义,因为它们满足了这些利益。聪明的公司商品化他们的商品,没有什么比开源软件便宜的商品了。红帽需要那些使用 Linux 的公司来销售企业级 Linux,Oracle 使用 MySQL 作为销售 MySQL Enterprise 的引子,谷歌希望世界上每个人都拥有电话和浏览器,而微软则试图将开发者锁定在平台上然后将它们拉入 Azure 云。这些项目全部由各自公司直接资助。

但是那些其他的项目呢,那些不是大玩家核心战略的项目呢?

如果你是其中一个项目的负责人,请向社区成员收取年费。开放的源码,封闭的社区。给用户的信息应该是“尽你所愿地使用代码,但如果你想影响项目的未来,请为我们的时间支付。”将非付费用户锁定在论坛和问题跟踪之外,并忽略他们的电子邮件。不支付的人应该觉得他们错过了派对。

还要向贡献者收取合并非普通的合并请求的时间花费。如果一个特定的提交不会立即给你带来好处,请为你的时间收取全价。要有原则并记住 YAGNI

这会导致一个极小的社区和更多的分支么?绝对。但是,如果你坚持不懈地构建自己的愿景,并为其他人创造价值,他们会尽快为要做的贡献而支付。合并贡献的意愿是稀缺资源。如果没有它,用户必须反复地将它们的变化与你发布的每个新版本进行协调。

如果你想在代码库中保持高水平的概念完整性,那么限制社区是特别重要的。有自由贡献政策的无领导者项目没有必要收费。

为了实现更大的愿景,而不是单独为自己的业务支付成本,而是可能使其他人受益,去众筹吧。有许多成功的故事:

众筹有局限性。它不适合大型项目。但是,开源代码也是实用软件,它不需要雄心勃勃、冒险的破局者。它已经一点点地渗透到每个行业

这些观点代表着一条可持续发展的道路,也可以解决开源的多样性问题,这可能源于其历史上无偿的性质。但最重要的是,我们要记住,我们一生中只留下那么多的按键次数,而且我们总有一天会后悔那些我们浪费的东西。

  • 注 1 :当我说“开源”时,我的意思是代码许可以某种方式来构建专有的东西。这通常意味着一个宽松许可证(MIT 或 Apache 或 BSD),但并非总是如此。Linux 是当今科技行业的核心,但是是以 GPL 授权的。

感谢 Jason Haley、Don McNamara、Bryan Hogan 和 Nadia Eghbal 阅读了这篇文章的草稿。


via: http://wgross.net/essays/give-away-your-code-but-never-your-time

作者:William Gross 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

IBM、Red Hat 与...
此次合作将综合运用 Palo Alto 的网络级虚拟补丁技术(集成...
2026-06-28 21:05:53
开源软件促进全球技术共享
开源软件:构建人类技术未来的数字基石 在浩瀚的数字宇宙中,如果将...
2026-02-04 21:18:22
盛邦安全新注册《开源软件安...
证券之星消息,近日盛邦安全(688651)新注册了3个项目的软件著...
2025-09-30 06:44:31
南网科研院等申请开源软件依...
金融界2025年7月19日消息,国家知识产权局信息显示,南方电网科...
2025-07-19 15:14:19
赛昇研究院申请开源软件代码...
金融界2025年6月18日消息,国家知识产权局信息显示,赛昇数字经...
2025-06-18 17:40:38
LF开源软件学园五周年:感...
KubeCon + CloudNativeCon China 20...
2025-06-13 20:42:47

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...