笔者今日在浏览 Stack Overflow 的时候,看到有开发者发表了一个这样的问题 —— “What is the incentive for curl to release the library for free?”,大意是想知道 curl 作者为什么会选择将其开源并且免费提供。
cURL 是一个利用 URL 语法在命令行下工作的数据传输工具,于1998年首次发布,支持 DICT、FILE、FTP、FTPS、Gopher、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、Telnet 和 TFTP。cURL 的原作者是 Daniel Stenberg (目前是 cURL 的核心开发者),同时也是 IETF HTTPbis 工作组的资深成员。
这名开发者表示最近开始在自己的 VC++ 项目中使用 libcurl,并且了解到 curl 和 libcurl 不但开源,而且完全免费。他好奇作者这样做纯粹是为了帮助开发者吗?
没想到 curl 作者本尊 Daniel Stenberg 亲自现身回答,他详细解答了这位开发者的疑问。以下内容编译自 Daniel 在问题下的回答。
Daniel 在 1998 年创建了 curl 项目,他编写了最初的 curl 版本,并创建了 libcurl 库。到目前为止,代码仓库包括的 24000 次 commit 有超过一半是 Daniel 本人提交的,他依然是项目的核心开发者。Daniel 表示已将 curl 视为自己的孩子。
Daniel 在完成 curl 的第一版开发后就将其开源了,和许多开源作者一样,Daniel 表示之所以选择开源 curl,是因为他使用过很多开源软件,并从中获益甚多,而回馈开源世界的最好方式当然就是「开源」,而且他也想跟其他开源作者一样 cool。
因为开源,来自全球各地的成千上万开发者参与进来一起帮助改进 curl,包括项目本身、文档、网站以及其他的周边细节。Daniel 认为,如果当初没有选择开源,curl 和 libcurl 绝对不会有今天的成就。现在的贡献者名单已超过 1900 个名字,并且每年保持新增几百个名字的速度。
正因为开源和不受限制的使用许可,curl 和 libcurl 推出后就被许多产品采用,并被迅速集成到无处不在的操作系统和 Linux 发行版上,最终覆盖的范围超乎想象。
最后也正因为 curl 的这种“无处不在”,它被全球各地的所有人使用 —— 从而成为了一个事实上的标准「传输库」。
据统计,curl 在全球拥有大约 60 亿的安装量,它运行在数十亿部移动电话、Windows 10 设备、游戏机和电视机上,毫无疑问 curl 是世界上使用最广泛的网络传输库。而这离不开最初创建它的人选择将它开源。
Daniel 表示不会为 curl 选择一个“合适”的许可证进而向用户收取费用,过去不会,未来也不会这样的计划。
为什么现在仍参与到 curl 的开发中?
Daniel 解释了自己仍继续参与开发 curl 并免费提供给大家使用的原因(Daniel 表示他不能代表其他的 curl 开发成员,每个人都有自己参与到其中的原因,所以下面只是他的个人观点):
我认为这仍然是一件值得去做的事。我为自己所取得的成就感到骄傲,我也真心想让世界变得更美好,但我觉得 curl 在这方面做得很少。
还要修复 bug 和增加新功能!
虽然 curl 是免费的工具,但我的时间不是,我有一份收入不错的工作来保证生活。curl 获得的捐赠足以维持它的发展,并保证它足够自由和中立而不被任何人和机构所控制。
curl 作为我的业余时间项目已有二十年,而投身到 curl 让我认识到了更多的朋友、改变了我的生活,还把我带到了我曾以为不会去的地方。
如果能重来,我还是会这样做。
虽然 curl 已有瞩目的成就,但 Daniel 依旧在不断改进它,修复错误、增加功能等,希望能为开发者提供最优秀的文件传输解决方案。
二十年来,一如既往地坚持一个项目会累吗?Daniel 表示这是当然的,偶尔会感到疲倦,毕竟这不是一项轻松的工作,而且有时候问题会很困难,而外界的声音有时也不是那么友好。但 curl 作为他生命的一部分,经历了困难时刻后,大部分的时光都是很美好的 —— 可以和优秀的人共事,而奖励也不一般:自己编写的这些代码参与到了推动互联网革命发展的进程中。
会有结束的那一天吗?Daniel 表示 curl 永远不会结束,他认为,到目前为止,开发 curl 是他能想象到的最有趣的工作。即使这项工作已经持续了二十年,他仍然这样认为,并计划坚持下去。
开源中国征稿啦!
开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 200 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。
现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿
我,开源中国,「在看」↓↓↓