开源项目到底归谁管?
致敬为免费提供开源软件而辛苦劳作的开发人员。
作者 | 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
相关文章
-
出去千万别说UI和美工是一个职业,千万别暴露你的缺点哦
文章来源:老铁商城2019-10-31 -
我优化多年的 C 语言竟然被 80行Haskell 打败了?
文章来源:老铁商城2019-10-20 -
当程序员遇到中秋节,会产生怎样的化学反应......
文章来源:老铁商城2019-09-18 -
淘宝、京东这些网站的哪个部分用了web前端技术?你能学会吗?
文章来源:老铁商城2019-09-18 -
Linux和哪些行业有关?2019Linux运维必备哪些技能?
文章来源:老铁商城2019-09-18 -
公认最具影响力的4种编程语言!平均薪资20K,Java第一
文章来源:老铁商城2019-09-18 -
PYPL 9 月编程排行榜:Python第一,继续称霸!就业薪资怎么样?
文章来源:老铁商城2019-09-18