• 一个软件打磨了24年,被安装超过100亿次,居然赚不到钱?


    1

    2022年7月,瑞典程序员丹尼尔·斯坦伯格收到了一封姗姗来迟的邮件, 邮件来自微软,通知他的开源项目cURL获得了微软自由和开源软件(FOSS)基金会的大奖。

    43ed96f413ceba113721146e2c257bd6.png

    FOSS每个月会选取一个项目进行资助,奖金是一万美元,分十个月支付,cURL是今年1月份的赢家。

    一万美元的奖金对一个开源项目来说看起来不少,但是如果你了解cURL的话,就知道这和他的地位实在太不相称了。 

    4cdfb18a4b17e0ea8ec30439616ddea5.png

    cURL提供了一个库(liburl)和一个命令行工具,让大家可以轻松地来传输数据。

    它支持几乎所有的传输协议,除了最知名的HTTP、HTTPS之外,还支持 FTP, FTPS, Gopher IMAP, Kerberos, LDAP, MQTT, POP3, RTSP,  SCP, SMTP, SMB。

    可以说,在数据传输领域,只有你想不到,没有它做不到。

    正是由于这个特点,它被广泛地安装在这些设备和软件中:

    Linux、Windows、iOS、Android、MacOS 等主流操作系统。

    ad570ed253aae2f6cb50593ce2a484bb.png

    Nintendo Switch, Xbox and Sony PS5等游戏机。

    376ce00b0f9e06f3ced385e54d025b13.png

    Roku、Apple TV 等媒体播放器和机顶盒。

    6b4079f1559dc1eb11887028a0e17c2f.png

    几乎所有现有的物联网设备如智能厨房和医疗设备、打印机、智能手表、智能汽车。

    b8ced66b749b17b6e0c4077095f4a262.png

    丹尼尔自己估计,curl以及liburl被安装于全球超过100亿台设备中!

    100亿台设备,即使每台设备给Daniel 0.01美元的话,他已经是亿万富翁了。

    2

    丹尼尔从1996年开始开发cURL,当时他就是想从一个网站上自动下载汇率数据,像大家一样,他一开始先在网上找了一个开源的项目叫httpget,用得不亦乐乎。

    但和大多数人不同的是,他后来成为了httpget的维护者,开始进一步扩展功能,增加了对Gopher和FTP的支持。

    1998年3月,他正式发布了2200行代码的cURL,悲催的是,并没有多少人关注,两年的时间只有区区300次下载。

    815b1f6663158f5774ff96fee2456e17.png

    但是丹尼尔毫不在意,他在业余时间不断地打磨cURL,就是想提供一个良好的、快速的、可靠的传输工具。 

    这一打磨就是24年,到2021年,丹尼尔已经在上面花费了15000小时,平均每天1.78小时。

    cURL发布了197个版本,支持26种传输协议,修复了6787个Bug,代码增长到17万行,也拥有了2300位贡献者。

    3

    在商业世界中,丹尼尔的curl就像下图的那个努力干活,但是并没有多大回报的挖掘机一样。

    fd91cd4cab913d6644ab2f9177583e94.png

    他的付出和对世界的贡献并没有获得对应的回报!

    大约在2004年,丹尼尔曾经从瑞典的Internet基金会申请资金,“以便获取一些专注于curl的开发时间”,后来又从Adobe那里获得了一些资金来支持SFTP的开发。

    除此之外,在opencollective网站上,可以看到curl的赞助商和赞助个人,分为几个等级:

    55e899f3bf0d2547edaca83017b52ecd.png

    Backer :每月5美元

    Supporter :每月10美元

    Sliver Sponsor :每月100美元

    Gold Sponsor :每月500美元

    我粗略计算了一下curl每月的捐赠收入是: 

    52*5 + 3*25 + 46*100 + 1*500 = 5435 美元

    相比curl用户的数量,这点钱完全不匹配。

    就像微信公众号篇篇10万+,但是打赏只有几块钱。

    当然,丹尼尔自己可能不会这么想,他能24年如一日的维护curl,肯定不仅仅是因为金钱。

    他在stackoverflow在回答关于curl动力的问题时说:

    当然,二十多年每天都在做这件事,我有时候也会感到厌倦,有时会有障碍,有些事情很难,有些人也很丑陋和烦人....  但是最大的奖赏时我知道我的代码有助于推动无处不在的互联网革命。 

    4

    丹尼尔的境界非常之高,在对他深表敬意的同时,我们不由想到:

    curl这么厉害,这么流行都难以带来相匹配的收入,别的开源项目会怎么样呢?

    粗略总结一下,开源软件的发展有这些路径:

    1.自己搞了一个小开源软件,star 不少,写到简历中也有光彩

    有不少程序员做到了这一步。

    2. 开源软件解决了一个重要的、非常细分领域的问题,主要作为库的形式存在

    典型的就是curl 、log4j、openSSL, 他们支持着全球互联网的运行,知名度不高,相应收入也不高,出了问题还得背锅。

    77932f8182e783410f3061960e599ccc.png

    开发者能坚持下去的纯粹是爱好和成就感:我的软件支撑着全世界的运转,世界离了我不行。

    3.开源软件一不小心满足了一个超级大的需求,有着巨大的商机。

    于是成立了公司,社区版负责拉流量,商业版/企业版卖钱,顺便做技术支持。

    将来可能会被收购,运气好还能上市,从此生活美滋滋。

    这似乎是个主流的商业模式,典型的如Nginx、MySQL、Elastic Search、MongoDB、Docker、Redis、IDEA等。 

    可恨的是有些云厂商会把开源软件拿过来包装一下,当成云服务来卖,逼得开源软件不得不修改协议。

    4. 开源软件实在太牛了,以至于各个巨头公司都不得不低头迎合,成立基金会来支持后续发展。

    典型代表是Linux。

    (完)

    点击下方图片,查看更多精彩

    11b7c6ef115c1917f17679586d6ab08b.png

    97f29a8dbc83c177e081fe5e155a755d.png

    131bb7a2bf5a8f4ac95b6b6d190d606f.png

    618cf8c76e9aa8f9862f30e8a82c7964.png

  • 相关阅读:
    FinalShell 远程连接 Linux(Ubuntu)系统
    使用Java来开发物联网应用
    Java 模拟实现 定时器 和 线程池
    P27 含并行连结的网络 GoogLeNet / Inception V3
    华为云Stack的学习(八)
    查询快递,多次揽收件如何筛选出来
    首届人工智能安全大赛正式启动
    POI Excel单元格样式超过最大数(4000或64000)的解决方案
    IBM Spectrum LSF 重要的目录和配置文件
    【C++学习】string的模拟实现
  • 原文地址:https://blog.csdn.net/coderising/article/details/126277123