查看原文
其他

被开源绑架的开源项目开发者

脚本之家 2021-06-29
 关注脚本之家”,与百万开发者在一起

 选自WIRED 

作者:CLIVE THOMPSON

机器之心编译

编辑:张倩

本文经 机器之心(ID:almosthuman2014)授权转载,转载请联系出处( 文末包邮送书!)
被开源项目捆住的打工人,每天下班还要花几个小时维护项目,时间和精力都在经受着考验。


当你在浏览某些简洁、美观的网页时,或许你应该感谢 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 万美元。除了写代码之外,他还录制了教学视频,帮助使用者掌握软件的高级用法,这种方式帮助他获得了不少收入。

此外,Eghbal 认为,订阅服务也可以提供新的付费方式。但有人担心这会改变开发者创建开源项目的初衷。

随着开源社区的不断扩大,我们应该思考的是:众包这种模式究竟能做到什么?这种模式的局限性可能比想象中的要大。开源革命的重担被一些已经非常疲惫的人扛在了肩上。

参考链接:https://www.wired.com/story/open-source-coders-few-tired/

(完)






今日送书福利  

《Python青少年编程魔法课堂》本书分为两篇:第1篇主要是带领读者掌握Python的基本语法,包括使用数字、创建常量和变量、写表达式、创建判断结构、创建循环控制结构、定义函数和类等;第2篇主要是带领读者练习使用Python额外支持的模块,如tkinter、turtle、matplotlib和pygame等。本书通过一些有趣、好玩的Python编程小案例,一步步带领读者掌握Python编程。

《趣学Python算法100例》本书以通俗易懂的语言详尽地介绍了用Python语言编写的100个算法实例。这些实例大体上按照“问题描述→问题分析→算法设计→确定程序框架→程序编码实现→运行结果→问题拓展”的流程进行讲解,每个实例又根据实际需要有所取舍。这些实例兼顾了趣味性、实用性和可操作性,而且大多是围绕一些经典算法问题展开的。

《R语言数据可视化实战》本书不但介绍了普通的统计图形的绘制,而且介绍了交互式图形及动画图形的绘制,另外还介绍了如何使用Shiny工具包进行数据探索与可视化。相信通过阅读本书,读者可以在较短时间内比较系统地掌握R语言数据可视化技术。

  留言赠书参与方法 

分享一下你想要这本书的理由?或者一些其他的工作学习经验,活动截止时会选出5名小锦鲤,中奖者可以获得上面的一本书籍,每本书数量有限,先到先选,包邮到家。活动截止时间:2020年12月11日 16:00 整

兑奖截止时间:2020年12月13日 16:00 整


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存