一个软件打磨了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

【Ubuntu】Windows11下VMware虚拟机安装Ubuntu24.04的避坑指南与性能调优 本文详细指导在Windows11系统下,使用VMware虚拟机安装Ubuntu24.04的完整流程与关键技巧。内容涵盖从环境准备、VMware关键配置、Ubuntu系统安装到安装后的性能调优与必备工具安装,旨在帮助用户避开常见陷阱,打造一个流畅高效的Linux开发环境。 阅读详情

相关推荐

【HALCON工业视觉应用探索】02. C# + Halcon铸件毛刺机器人打磨引导:点云处理从实验室到工业现场的全流程落地

摘要:铸件毛刺的自动化打磨是机械制造领域的重要难题,其随机性(高度0.1-3mm)和复杂工况导致人工打磨效率低(3分钟/件)、工伤率高。本文基于Halcon 24.11与.NET 6,构建了一套点云处理方案:通过线激光扫描仪获取三维点云,经预处理、毛刺检测、路径规划三大模块,引导机器人完成打磨。虚拟实验测试显示,对高度>1mm的毛刺检出率达100%,定位误差±0.08mm,但工业现场受油污、粉尘影响,性能降至检出率68-75%、处理时间>45秒。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1128

从 160 行代码到 200 亿安装量:Curl 的传奇故事

导读:本文介绍了 curl 的创始人 Daniel Stenberg 在 FOSDEM 2024大会上的演讲内容。Stenberg 分享了他从事开源项目的经历和见解,强调了成功的开源项目背后并没有天才或魔法,只是长期的努力和对创意的持续追求。他还提到了 curl 项目的起源和发展历程,以及在开发过程中所遇到的挑战和教训。尽管 curl 已经成为一项广泛应用的数据传输工具,但 Stenberg 强调...

开源社KAIYUANSHE的博客 425

Hive数据迁移

【迁移背景】 本次需要将老集群的hive数据(共30多张表)迁移至新集群中。 老集群版本为CDH5.13,未启用kerberos; 新集群版本为CDH5.14,启用了kerberos。 由于cloudera官方文档说明,在5.x的版本不支持从未启用kerberos的集群与启用了kerberos的集群之间的数据复制。因此无法通过bdr方式进行数据同步。于是采用手工方式进行测试验证。 第一步...

wangkuangood3200的专栏 469

GraphQL初体验,Node.js构建GraphQL API指南

微信搜索【前端全栈开发者】关注这个脱发、摆摊、卖货、持续学习的程序员,第一时间阅读最新文章,会优先两天发表新文章。关注即可大礼包,准能为你节省不少钱! 在过去的几年中,GraphQL已经成为一种非常流行的API规范,该规范专注于使客户端(无论客户端是前端还是第三方)的数据获取更加容易。 在传统的基于REST的API方法中,客户端发出请求,而服务器决定响应: curl https://api.heroku.space/users/1 { "id": 1, "name": "Luke", "..

前端全栈开发者 1051

python 携程登陆_Python 学习练习之用户登录接口

目的:用python实现简单用户注册,登陆,加黑功能,放个流程图吧。以下内容仅为练习 执行流程:[root@zabbix login]# python user_login.pyusername:tompassword:123456Are you want to register ? [y/n]yRegister successful,Please relogin ![root@zabbix lo...

weixin_28679635的博客 517

Rancher入门到精通 - Nginx Ingress 配置指南

Rancher 是一个开源的容器管理平台,它提供了一套完整且易于使用的工具来部署、管理和扩展容器化应用。而 Nginx Ingress 则是一个常用的开源 Ingress 控制器,用于将外部请求流量导入到 Kubernetes 集群中的服务。在开始之前,请确保您已经正确安装了 Rancher 平台和 Nginx Ingress 控制器。

TechInk的博客 1311

libcurl 使用方法简介

libcurl 使用方法简介背景简介使用方法1、easy interface使用方法2、multi interface使用方法 背景 最近想做一个简单的HLS拉流程序,HTTP的下载部分觉得采用libcurl来进行比较合适及方便,所以先介绍libcurl的基本用法,然后使用libcurl完成一个简单的下载小程序。 简介 libcurl是一个跨平台的开源网络协议库,支持http, https, rt...

myvest的专栏 4万+

SAPGUI excel 导出时遇到的运行时错误:STRING_SIZE_TOO_LARGE

当报表导出需求远超单一 XLSX 文件的物理承载力时,与其在 SAPGUI 中硬拼 2 GB 限制,不如把分页、过滤、流式写入作为设计前提。掌握 ABAP2XLSX 或 CSV + Power Query 等工具链,既能满足审计合规,又能让应用服务器远离的噩梦。祝你在下一次导出海量数据时,既高效又优雅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 641

curl 创始人:“我喜欢 GitHub”

学习目标 1、一周掌握 JAVA入门到进阶知识(持续写作中……) 2、掌握基础C#l窗体知识(创作中……) 3、手把手教你vbs脚本制作(完善中……) 4、强大的 IDEA编程利器(编写中……) 5、经典常见的 面试题目技巧(更新中……) curl 创始人:“我喜欢 GitHub”学习目标前言总结 前言 希望:2021新的一年,想要的都拥有,得不到的都释怀! curl 创始人兼首席开发者 Daniel Stenberg 对于部分批评者认为 curl 项目不应该使用 GitHub 的观点..

王大师企业官方博客 545

VTK API 详解(134):vtkOBJWriter - 写入 OBJ 模型

是 VTK 中用于将数据写入 Wavefront OBJ 文件格式的类。OBJ 格式是广泛支持的 3D 网格模型格式,支持顶点、面和基本几何信息的保存,便于模型在多种三维软件间交换。

yumeiguo的博客 140

【CAN总线测试】——通讯相关诊断测试

本章主要介绍通讯相关诊断测试用例设计

LOVE135149的博客 1815

组装笔记本计算机,老笔记本DIY 不到100元就可改装一体机

老笔记本DIY 不到100元就可改装一体机2018-06-24 07:15:50126点赞337收藏70评论嗨!各位看官好,没错,又是我。今天又要跟大家讨论一个话题:“淘汰下来的笔记本,你放角落吃会了吗?”,难不成拿去换脸盆?不....或许有许多小伙伴会把屏幕拆出来改装成显示器,又或者把淘汰下来的笔记本取下移动硬盘变成移动硬盘,当然,这些或许大家早已见多了,今天我们就玩不一样的——分尸(笔记本DI...

weixin_30983209的博客 4428

【PX4学习笔记】1. ROS及PX4环境搭建

环境 Ubuntu18.04 安装教程参考 https://www.guyuehome.com/8983 安装过程中问题的解决 问题1 rosdep init 错误的终极解决方法 注意etc/下的ros和rostep文件夹要自己建 问题2 Ubuntu安装ROS报错 sudo: rosdep:找不到命令 问题3(更好地解决了问题1、2)【推荐】 解决GitHub的raw.githubusercontent.com无法连接问题 问题4:GeographicLib的安装 教程中安装GeographicLib d

【人工智障 | 计算鸡视觉 | 机器孩】 8233

我决定在2026年做一件疯狂的事:开发100个应用

2026年创作100个APP

寺西创客的专栏 953

OPTEE常见13类问题与解答

OPTEE常见13类问题并解答

AI-安全-功耗 1204

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

腾讯企点首次写入财报 服务超过100万家企业

腾讯企点首次写入财报。11月10日,腾讯发布2021年第三季度财报。财报显示,CRM SaaS解决方案——腾讯企点已经服务了超过100万家企业,并愈来愈多地被大中型企业采用。腾讯企点为客户提供全天候多渠道的人工智能客户服务,帮助企业客户显著降低客服成本。   作为智慧客户服务的领先者,腾讯企点经历了PC、移动互联网时代,已经为教育、工业、零售、泛互、金融、物流、会展等80多个行业提供了数字化方案。   国际知名市场研究机构沙利文发布的《2021年中国智能客服市场报告》显示,腾讯企点无论是在协作能力、

cover_se的博客

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

一位程序员,做了一个浏览器插件,赚了 4 万美元

今天分享的是一个能为开发者带来 4 万刀收入的浏览器插件 ReaderMode;这又是一篇旧文, 4 万刀已经是前年(2021 年)的事了。这个插件花了 8 个月时间累计营收 1 万刀,但仅仅一年多后,累计收入就翻了 4 倍。听起来好像不太真实,但看完你可能会对浏览器插件市场有不一样的看法。

Web面试那些事儿的博客 330

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Ubuntu 24.04 LTS 桌面体验与深度配置指南:从安装到开发环境

操作系统是计算机软件的核心,它管理硬件资源并为应用程序提供运行环境。其原理在于通过内核调度进程、管理内存和文件系统,为用户提供稳定高效的操作平台。在众多Linux发行版中,Ubuntu因其易用性和强大的社区支持而广受欢迎,尤其适合作为开发和生产环境的基础。Ubuntu 24.04 LTS作为长期支持版本,在桌面体验、系统稳定性和开发工具链方面进行了显著优化。本文聚焦于该版本的实际部署与配置,涵盖了LVM分区管理、全盘加密、显卡驱动选型以及Docker环境搭建等关键工程实践。其中,通过配置Docker镜像加速

weixin_33806859的博客 293

C语言100题练习计划 24——查找指定字符

C语言100题练习计划 24——查找指定字符。一起来看看如何查找吧!(附有详细注释源码)

Code_流苏:在代码中寻诗意,在实践中觅真知 2427

网易2020年财报:游戏赚了、教育赔了、音乐稳了

配图来自Canva可画 新的一年,网易握紧游戏王牌,积极孕育新营收增长点。 近期,网易发布了2020年四季度及全年财报。财报显示,2020年四季度,网易实现营收198亿元,同比增长25.6%,市场预期196.73亿元;调整后净利润15.98亿元,市场预期17亿元;2020年,网易公司净收入为736.7亿元,同比增长24.4%。非公认会计准则下,归属于公司股东的持续经营净利润为147.1亿元。 而网易营收增长是网易游戏业务、网易有道和网易云音乐业务协同推动的结果。 用网易CEO丁磊的话来说就是:“..

liukuang110的博客 327

openEuler 24.03 LTS 从零安装到基础环境配置实战指南

Linux 发行版是服务器运维与信创适配的基础运行环境,其安装配置直接决定系统可用性与后续运维效率。openEuler 作为面向企业级场景的国产开源操作系统,基于 Linux 内核构建,提供长期支持版本与稳定的软件包管理机制,在国产化替代与信创环境中具备显著的生态适配价值。在实际落地中,运维人员常面临虚拟机与物理机部署、网络配置、SSH 远程连接及 Docker 等常用工具安装等基础环节。围绕这些高频操作场景,下面系统梳理 openEuler 的安装流程与基础环境搭建要点,帮助开发者快速完成从系统部署到日常

weixin_33937913的博客 512

Ubuntu 24.04搜狗输入法安装与闪屏问题终极解决方案

输入法框架是操作系统与输入法软件之间的桥梁,它负责管理不同输入法引擎的注册、切换和事件传递。在Linux系统中,IBus作为主流的输入法框架,通过模块化设计支持多种输入法引擎。其工作原理是应用程序通过输入法协议与IBus守护进程通信,再由IBus调用具体的输入法引擎处理输入事件并返回候选词。这种架构的技术价值在于实现了输入法与桌面环境的解耦,提升了系统的模块化和可扩展性。然而,随着显示服务器协议从传统的X11向现代化的Wayland演进,输入法框架与图形合成器之间的兼容性挑战逐渐凸显,尤其是在候选词框渲染等

weixin_30846347的博客 243

国产AI服务如何实现日调用1.4万亿次的工程实践

大模型服务从实验室走向大规模生产,核心已不再是参数量或评测分数,而是高并发、低延迟、低成本、强稳定性的工程化能力。‘AI即服务’(AIaaS)的本质,是将大模型转化为像数据库或消息队列一样可即取、可计量、可编排的基础设施。这要求在模型轻量化、推理引擎优化、服务框架设计与异构基础设施调度四个维度深度协同。其中,混合专家(MoE)结构的可控激活、PagedAttention显存管理、无状态服务治理及RDMA网络加速等关键技术,共同支撑起每秒亿级请求的确定性响应。本文以Qwen3.6-Plus为实证案例,解析万亿

weixin_30369041的博客 445

Qwen3-TTS开源模型部署教程:适配A10/A100/V100显卡的GPU显存优化方案

本文介绍了如何在星图GPU平台上自动化部署【声音设计】Qwen3-TTS-12Hz-1.7B-VoiceDesign镜像,适配A10/A100/V100显卡并实现显存优化。用户可快速启动WebUI,通过自然语言描述音色(如'沉稳男声、新闻播报感')生成高质量24kHz语音,典型应用于播客配音、智能客服及视频旁白等场景。

weixin_42596214的博客 687

程序员私藏的“军火库”列表!2025年首次公开,24+细分领域,150+开发办公利器,100%官方渠道,从此告别选择困难症。

《程序员高效开发工具大全》为解决开发者面临的信息过载、安全风险和选择困难等痛点,精选150+款官方正版工具,覆盖编码、调试、协作等24个领域。通过科学分类和100%安全验证,帮助开发者快速定位最佳工具,提升工作效率。该清单包含IDE、版本控制、数据库等核心开发工具,以及包管理器、快速启动器等效率工具,支持离线查阅,旨在让开发者专注创造而非工具选择。

weixin_44736252的博客 1030
上一篇: JavaScript大神:我们能对 JavaScript 做的最好事情就是让它退役!
下一篇: 美国EDA软件再断供,抽掉了中国半导体发展的梯子
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值