开源项目到底归谁管?

摘要

致敬为免费提供开源软件而辛苦劳作的开发人员。作者|JOELM.MOSKOWITZ译者|弯月,责编|郭芮出品|CSDN(ID:CSDNnews)以下为译文:当你购买利浦Hue的智能灯或iPhone之类的产品时,你可能会

  致敬为免费提供开源软件而辛苦劳作的开发人员。

  

  作者 | JOEL M. MOSKOWITZ

  译者 | 弯月,责编 | 郭芮

  出品 | CSDN(ID:CSDNnews)

  以下为译文:

  当你购买利浦Hue的智能灯或iPhone之类的产品时,你可能会认为编写代码的人获得了报酬。对于直接编写产品软件的人来说确实如此,然而每个技术公司还需要依赖无数的免费代码,比如从GitHub和GitLab等网站上的“开源”项目获得免费代码。

  通常,这些开发人员也很乐意免费工作。他们通过编写开源软件提高自己的技术力,从社区中获取反馈,或者免费提供创新来帮助行业发展。Google维护了数百个开源项目,据其称开源“推进并鼓励技术的协作与开发,以解决现实问题。

  但是,当数百万人使用的软件仅由一个社区或一个人维护,而且这些人都是免费的义工,那么有时就会出现意外情况。2014年,灾难性的“心脏出血”bug瓦解了数亿个网站的安全性,背后是一个名为OpenSSL开源库中的一个问题引发的,该库虽然有数以百万计的人在使用,但负责更新和修改代码的只有一个专职开发人员,试问我们又怎能奢望他不会犯错呢?有时,开发人员会感到厌倦而放弃他们的项目,而这些项目也会在不经意地遭到破坏。

  我们不能要求免费工作的程序员排查问题,或继续维护由于某种原因而失去兴趣的软件,尽管有些公司还是会尝试。另一方面,没有得到适当维护的项目会导致整个技术生态系统变得脆弱。因此,有些开源程序员要求各个公司付费,不是为了获得他们的代码,而是为了获得他们的支持服务。

  Daniel Stenberg就是这样的一名程序员。他创建了cURL,这是世界上最受欢迎的开源项目之一。

  开发人员可以利用cURL在两个系统之间传输信息,通常某个API的服务需要从另一个系统请求数据或从另一个系统发送数据。根据Stenberg的说法,数十亿部智能手机,“数亿”台电视和至少1亿部智能汽车,以及基本上你每天接触的所有现代联网设备和服务都使用了cURL。鉴于Stenberg在志愿者社区的协助下负责了绝大部分维护工作,因此说cURL的使用规模实在令人震惊。但是,在诸多依赖他的代码的公司中,很少有公司意识到这是他的代码。

  居住在瑞典斯德哥尔摩附近的Stenberg于1998年创建了cURL,至今仍免费维护该项目,尽管他最近在一家名为wolfSSL的公司工作,现在该公司付钱让他“尽可能全职”地为公司工作。有时,依靠特定开源软件的公司会雇用项目的创建者来构建这些项目,因此wolfSSL要求Stenberg不仅要维护cURL,而且还与他签署了提供cURL个人支持的服务合同。

  Stenberg从未没想到cURL的知名度会如此之高。实际上,自从这款软件诞生以来,过了很多年才得到了广泛使用。由于这些代码无需任何商业许可即可免费使用,因此各个公司在使用的时候都没有告诉他。他发现自己创建的软件越来越流行,是因为有人告诉他在软件的“关于”窗口或其他文档中看到了他的名字。他表示:“这是一个循序渐进的过程,我都没有预料到。”

  Stenberg说,在创建了cURL的前20年中,他只是利用业余时间管理这个项目,同时还在从事其他“真正的软件开发工作”来维持生计。该项目的维护工作量巨大:他花费了数千小时来提升cURL、修复bug和改进代码。cURL的GitHub存储库中总共有25,000个“提交”和更新,其中有14,000个来自Stenberg。其他开发人员贡献的代码都没有超过2,586个提交。

  cURL幸存了下来,归功于一系列赞助商,他们赞助了该项目的托管和其他费用(尽管Stenberg说没有大型公司参与其中),以及Stenberg等开发人员免费贡献了自己的时间。Stenberg说,他相信开放源代码的存在很重要,而且他从未后悔开放cURL的源代码。然而,令他感到失望的是,如果出现问题,各个公司则要求他提供帮助。

  去年,一家海外的公司由于cURL的问题而不得不暂停了将固件升级部署到数百万台设备后,慌慌张张地联系到他。Stenberg说:“我不得不给他们解释,我无法在短时间内前往他们的国家来帮助他们解决这个问题……,因为cURL只是我的业余工作,我有一份全职工作。”

  因为他非常在乎这个项目,所以他找了一个朋友来帮助。他的朋友前往那个国家,帮忙解决了这个问题。

  Stenberg认为,为了向提供这种服务的开源程序员支付报酬,各个大公司都应该向开发人员支付与代码库相关的支持服务的费用,这是对他们付出的时间的补偿,同时也有助于确保这些项目的长期维护。Stenberg希望通过在wolfSSL的工作,说服苹果等公司付费换取专门的支持,但这条路任重而道远。

  支持合同的价格不菲,通常在数千美元之间,支付费用后就可以使用项目,而且在出现问题时也可以获得专门的支持。但是,需要此类服务的公司(尤其是使用cURL的公司)通常都资金雄厚或影响广泛。

  目前尚不清楚这些公司是否会对这种合同感兴趣。以前曾有一家公司要求Stenberg飞往另一个国家帮助他们解决问题,当Stenberg提出支持服务费用时,他们拒绝了。

  这让Stenberg感到万分失望。他说:“当发现人们在利用我们,却没有在获得利益的同时做出相应的贡献,我感到很恼火。”但他仍然认为支持服务合同是维护开源的长期途径:“这些程序员理应得到回报,而不仅仅是通过策展人或大型开源项目/公司提供绝大部分的资金支持。”

  开源社区中的许多人反对收取金钱的想法,这仍然是一个有争议的话题。开源社区中的一些人认为,金钱换不来“自由”,但现实是,为自由而辛苦劳作的人们也是普通人,他们也要吃饭和养家糊口。

  如今,如果有开发人员或公司发送电子邮件给Stenberg寻求帮助时,他会说:“我的态度已经转变,像您这种情况,可以考虑一下支付支持合同的费用。”

  当我问Stenberg是否还会维持cURL(已经20年了)时,他说他不打算放弃,这个项目已经成为他生活的一部分。

  “当然,我也希望能够获得报酬。”他补充道。

  原文:https://onezero.medium.com/the-internet-relies-on-people-working-for-free-a79104a68bcc

匿名

发表评论

匿名网友