您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

开源项目到底归谁管?

时间:2019-10-28 12:19:24  来源:  作者:

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

开源项目到底归谁管?

作者 | 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

本文为 CSDN 翻译,转载请注明来源出处。

【END】



Tags:开源   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
大家好,我是等天黑, 今天介绍一个开源免费的监控工具 Uptime Kuma, 简单实用, 主要用来监控 Web 和网络, 和 Prometheus 不一样的是, 它是轻量的, 基于Node.js 和 Vue 3 开发...【详细内容】
2021-12-16  Tags: 开源  点击:(14)  评论:(0)  加入收藏
我是一名程序员关注我们吧,我们会多多分享技术和资源。进来的朋友,可以多了解下青锋的产品,已开源多个产品的架构版本。Thymeleaf版(开源)1、采用技术: springboot、layui、Thymel...【详细内容】
2021-12-14  Tags: 开源  点击:(21)  评论:(0)  加入收藏
“磨刀不误砍柴工”。 优秀的工具有助于提高工作效率,安全工程师也需要优秀的安全软件来提高工作效率。 在具体的工作场景中,有很多种选择,这里有10种开源的免费安全工具,不仅可...【详细内容】
2021-11-23  Tags: 开源  点击:(33)  评论:(0)  加入收藏
Svelte https://svelte.dev/Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶...【详细内容】
2021-11-09  Tags: 开源  点击:(73)  评论:(0)  加入收藏
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个由百度开源的低代码前端框架——amis...【详细内容】
2021-11-05  Tags: 开源  点击:(68)  评论:(0)  加入收藏
这个开源项目程序可以持续爬取一个或多个新浪微博用户(如李文di、无疫烦)的数据,并将结果信息写入文件或数据库。写入信息几乎包括用户微博的所有数据,包括用户信息和微博信息两大类。...【详细内容】
2021-10-27  Tags: 开源  点击:(43)  评论:(0)  加入收藏
开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是 Lilishop 商城系统 基于SpringBoot 研发,B2B2C多用户商...【详细内容】
2021-10-21  Tags: 开源  点击:(229)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  Tags: 开源  点击:(37)  评论:(0)  加入收藏
最近,DVBLogic发布了一款跨平台开源软件叫做TVMosaic 社区服务器,而这个“TVMosaic”背后也有一些挺复杂的故事。 TVMosaic的前身是 DVBLink, DVBLink 是一个可将电脑或NAS变成PVR的软件,PVR即Personal Video Recorder 个...【详细内容】
2021-10-09  Tags: 开源  点击:(52)  评论:(0)  加入收藏
写在前面今天要分享的这款工具是一个和SQL相关的开源神器,它可以在一定程度上解决运维和开发之间常见的痛点一环(相信可能有小伙伴也有所体会),对于开发和运维来说也算是一种福...【详细内容】
2021-09-22  Tags: 开源  点击:(49)  评论:(0)  加入收藏
▌简易百科推荐
本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程。本文不过度关注细节,因此只是分别从arena层次、bin层次、chunk层次进行图解,而不涉及有关指针的具体操作。前...【详细内容】
2021-12-28  linux技术栈    Tags:glibc   点击:(3)  评论:(0)  加入收藏
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(2)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(10)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(20)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(25)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(25)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条