被开源项目捆住的打工人,每天下班还要花几个小时维护项目,时间和精力都在经受着考验。
当你在浏览某些简洁、美观的网页时,或许你应该感谢 Jacob Thornton 和 Mark Otto。
2011 年,他们开源了一款名为「Bootstrap」的 Web 前端开发框架,可以让你利用一系列模块和组件快速搭建一个优雅的网页。然而,他们并没有从这个项目中获得经济报酬。
项目开源之初,他们都是 Twitter 的员工。两人做这个项目也是出于对开源精神的拥护。虽然项目很有挑战,但随着 Bootstrap 知名度的提高,很多知名网站都用上了这个框架,如 Green Day、奥巴马的白宫网站等。Jacob Thornton 和 Mark Otto 也逐渐积累了一些名气。最重要的是,助人为乐的感觉确实还不错。
但 Thornton 很快发现,成功的开源项目也有它「磨人」的一面:每周都有无数的人向他和 Otto 报告 bug、要求添加新特性、提出疑问或表扬。因此,Thornton 每天下班之后还要抽出四五个小时的时间来维护 Bootstrap,包括管理查询、写新代码等琐碎的工作。「下班之后我不能和别人一起吃晚饭,」Thornton 表示,因为他觉得这样会让用户失望,「我不应该在外边玩,而是应该花时间维护 Bootstrap」。
「我有一种负罪感,」Thornton 坦言,但他还是坚持了下来,一做就是 9 年。目前,Thornton、Otto 仍然带领着一小组核心贡献者在维护 Bootstrap,项目的 star 量也已经达到了 145k。但由于长期面临这种压力,Thornton 也经常想要退出。
当「开源」这一概念在九十年代刚开始流行的时候,它被解读为一种大胆而新颖的公共劳动形式:在你把代码开源之后,就会有几十甚至上百人加入这个项目,大家一起做出改进。「人多好办事」,每个人都会有归属感。
如今,开源项目的确取得了很大成功。很多初创公司在创建自己的产品时都依赖类似 Bootstrap 的开源软件,包括开源 web-server 代码、开源神经网络代码等。然而,除了 Linux 等大型项目外,大多数项目都没有那么多人参与维护,而是由一个小团队完成大部分工作。这种压力让开源项目维护者不堪重负。
为什么会出现这种情况?一直致力于推动开源社区发展的著名作家 Nadia Eghbal 指出,部分原因在于,那些随机参与的人只做出了很小的贡献,比如修复一个 bug。编写和重写代码需要大量的综合性工作,而这种工作又很难分解,因此只能由一小撮人来完成。
而且,核心开发者还要回复其他贡献者的微小贡献(帮助请求更得回应)。因此,这些开发者像明星一样被自己的狂热粉丝包围,但却没有明星的巨额报酬。
有时候,核心开发者也可以直接走人,让其他人来收拾烂摊子。调查表明,大约有 9.5% 的开源代码已经被遗弃了,事实可能比这个数字还要大。这是一个危险的信号:如果代码停止更新,后面依赖这个项目的人就可能蒙受损失。更糟糕的是,被遗弃的代码可能会被滥用。两年前,一位化名 right9ctrl 的开发者接手了比特币公司用过的一部分开源代码,然后将其重写,用于窃取加密货币。
没有人知道该如何面对开源开发者的这种困境,但有人认为,为他们筹集资金或许有所帮助。Ashley Williams 是 Rust 开发团队的成员之一,他们正试图创建一个支持核心贡献者的基金会,或想办法让公司留住贡献者。(一些比较大的开源项目就是以这种方式蓬勃发展起来的,Facebook、谷歌等公司还会为全职进行开源开发的职员提供报酬。)
其实,GitHub 的打赏功能也起到了一定的作用。今年 7 月份,有开发者表示自己凭借该功能在一年之内赚到了 10 万美元。除了写代码之外,他还录制了教学视频,帮助使用者掌握软件的高级用法,这种方式帮助他获得了不少收入(详情参见《我,一个靠 GitHub 打赏谋生的码农,年入十万美元》)。
此外,Eghbal 认为,订阅服务也可以提供新的付费方式。但有人担心这会改变开发者创建开源项目的初衷。
随着开源社区的不断扩大,我们应该思考的是:众包这种模式究竟能做到什么?这种模式的局限性可能比想象中的要大。开源革命的重担被一些已经非常疲惫的人扛在了肩上。
参考链接:https://www.wired.com/story/open-source-coders-few-tired/
12月6日,机器之心将举办2020 NeurIPS MeetUp。此次MeetUp精选数十篇论文,覆盖深度学习、强化学习、计算机视觉、NLP等多个热门主题,设置4场Keynote、13篇论文分享和28个Poster。
时间:12月6日9:00-18:00
地址:北京燕莎中心凯宾斯基饭店(亮马桥)
点击阅读原文,立即报名。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com