科技爱好者周刊(第 263 期):开源软件如何赚钱?

作者: 阮一峰

日期: 2023年7月21日

这里记录每周值得分享的科技内容,周五发布。

本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系[email protected])。

封面图

秘鲁首都利马是一个神奇的城市,建在面向太平洋的悬崖之上。要去海滩,还要下山。(via

开源软件如何赚钱?

众所周知,开源软件很难赚钱,尤其是 GPL 许可证的代码。

GPL 规定,必须向使用者提供源码,并且使用者有权重新发布源码。

这就是说,别人可以免费分发你的软件,所以你无法靠出售软件获利。

既然卖不了软件,那么能不能卖服务呢,出售代码的支持、定制、咨询服务?

我一直认为是可以的。证据就是有一家软件公司,依靠软件支持服务,赚到了大钱,还上市了。

这家公司就是红帽公司,它出售 Linux 企业级支持和咨询服务,1999年成功上市,2019年被 IBM 以340亿美元的高价收购。

但是,这个成功故事在上个月嘎然而止。突然之间,所有人惊觉,软件客服的商业模式再也行不通了

下面我就来说说,到底发生了什么事。

红帽的主要产品,就是它自己的 Linux 发行版,叫做 RHEL(Red Hat Enterprise Linux 的缩写)。它卖的是这个发行版的支持服务。

根据 GPL 许可证,它必须免费提供源码,所以市场上有很多它的克隆版。那些不愿意买红帽服务的公司,就用克隆版,很多互联网大厂都这样做。

以前,最流行的红帽克隆版是 CentOS。它甚至比红帽本身的使用量都要大。

自从红帽被 IBM 收购以后,就觉得克隆版对生意的冲击太大了。它就收购了 CentOS,并在两年前把它停掉,改成自家的测试版,起名为 CentOS Stream,等于让社区帮它找 Bug。

这件事让很多人不爽,但是红帽的源码是公开的,一个克隆版没了,那就再推其他克隆版。现在最流行的克隆版有两个:Alma Linux 和 Rocky Linux。

上月发生的事情就是,红帽公司突然宣布源码不再公开了,只向索要源码的客户私下提供

这个声明像炸弹一样,在业界炸开了锅。开源世界里面,从来没人这么干过。

大家仔细分析以后,发现这居然符合 GPL 许可证。因为 GPL 只要求向使用者提供源码,红帽的使用者都是付费客户,所以它可以私下提供源码。

问题是你成为红帽客户的时候,必须签一个《用户协议》,里面明确规定,如果你重新发布源码,红帽有权终止用户合同。这等于说,发布克隆版的人,从此就无权获得源码了,从而实际上禁止了克隆版。

这一招真是高明啊,既没有违反 GPL,又消灭了克隆版。红帽一定是找了很多律师,反复研究才想出这种做法。

这件事对红帽的长期影响,还有待观察。但是,至少说明了一点,红帽觉得"客服模式"赚的钱太少了,只有禁掉克隆版,才能赚更多的钱

红帽是业内唯一的开源软件"客服模式"的成功案例,就这样终结了。一家开源软件公司,通过客服赚到大钱,以前还有红帽,以后就绝迹了。

国外媒体总结了几个原因为什么"客服模式"行不通,我觉得说得非常好。

(1)客服模式利润微薄,客户不愿意为支持服务支付高价。

(2)客服很难扩展。客户可能会大量使用软件,但是只购买一份服务。

(3)客服模式无法实现高速增长。软件越易用越可靠,用户就越不需要购买支持服务。"如果你出色构造了软件,你最终会让自己失业,因为客户可以在没有帮助的情况下使用它。"

(4)客服模式很难获得早期收入。创业公司好不容易找到100个初始用户,其中可能只有几个会购买服务,也许一个都没有。

因此,开源软件的盈利模式,一定不是客服,而是其他模式。不过,今天已经写得太长了,这个话题只好留到下周。

科技动态

1、待办显示屏

一个国外程序员使用平板显示器,制作了一个"待办事项显示屏"。

每天放在桌子上,提醒自己要办什么事,进度如何。

显示屏的上部显示最近几个月的日历,下面是每周的待办事项和进度。

这个设备成本很低,操作又很简单,可以取代传统的日历和台历,非常实用,也许还有商业潜力。

2、世界最大办公楼

印度建造了一座世界最大办公楼,位置在孟买以北约250公里的苏拉特。

那里是世界钻石加工中心,全球约90%的钻石在那里切割。这次新建的就是钻石交易所。

整栋大楼的建筑面积约66万平方米,一共9个矩形单元通过中央走廊连在一起。整个建筑物高为15层楼,可以容纳65,000人同时办公。

在它之前,世界最大的办公楼是美国国防部五角大楼,建筑面积61万平方米。世界最大的建筑物则是成都的环球中心,建筑面积176万平方米。

3、法律摇篮曲

互联网大厂的用户协议,充满了法律术语,冗长而乏味。如果仔细阅读,让人昏昏欲睡。

有人想到一个点子,邀请配音演员来朗读这些协议,把录音放在网上,用来助眠。

如果你睡不着,不妨去 zzzuckerberg.com,听听这些录音,也许很快就会睡着。

Instagram 协议的音频长达51分钟,TikTok 长约38分钟。

4、AI 音乐平台

各种音乐网站收录的,都是人类创造的音乐。现在有一个网站,专门收录 AI 创作的音乐。

这个叫做 Mubert 的网站表示,已经收录了1亿首曲子,跟世界最大音乐网站 Spotify 的规模相当,你可以无穷无尽地收听。

AI 音乐没有版权,用户可以任意使用,包括商用。这个网站还提供工具,让你按照自己的喜好生成音乐,添加到它的曲库。

文章

1、GitHub 支持无密码登录(英文)

GitHub 宣布,本月开始支持 Passkey(无密码登录),本文教你怎么打开这个功能。

2、《芯片战争》作者专访(英文)

专访畅销书《芯片战争》作者克里斯·米勒,谈美国芯片战略和中美芯片竞争。

3、structuredClone() 简介(英文)

JavaScript 自带的拷贝,都是浅拷贝,现在浏览器引入一个全局函数structuredClone(),用来深拷贝。

4、圆圈滚动问题(英文)

上图中,两个圆的半径分别是 r 和 4r。小圆沿着大圆滚动一圈,请问这时小圆自身滚动了几圈?(提示:答案不是4圈。)

5、CSS Media Query 入门(英文)

本文是 CSS 入门科普文章,介绍如何使用 Media Query 完成响应式设计,写得很清晰。

6、Git 内部原理的快速介绍(英文)

Chrome 团队工程师写的 Git 原理简单介绍,理清 Git 的一些基本概念。

7、哈希是什么

一篇入门科普文章,图文并茂,通俗解释哈希的原理,怎么使用,写得很好。

8、socket 到底是个啥(中文)

socket 的概念往往是常见面试问题,作者介绍了 socket 的使用场景和底层实现。(@xxxsalted 投稿)

工具

1、hiSHtory

一个强大的 Shell 操作历史的搜索工具,可以替代 Bash 内置的 ctrl-r 搜索。

2、talk

一个开源的 Web 应用,基于 WebRTC 技术的多人群聊软件,支持视频、音频和文字聊天。

3、TinyVG

SVG 图片格式的二进制版本,可以大大缩小 SVG 文件体积。

4、Gitstars

一个开源的在线服务,用来管理你在 GitHub 打过星标的项目(收藏的项目)。(@cfour-hi 投稿)

5、迅排设计

开源的在线海报图片设计器。(@palxiao 投稿)

6、Spring Startup Ananlyzer

Spring 性能分析工具,收集启动过程数据,生成交互式分析报告。(@linyimin0812 投稿)

7、WebAV

Chrome 94 开放了 WebCodecs API,意味着 JS 也能处理音视频了。这是一个实验性项目,尝试提供简单易用的 API 在浏览器中处理音视频数据。(@hughfenghen 投稿)

8、kafka-console-ui

一款轻量级的 Kafka 可视化管理平台。(@xxd763795151 投稿)

9、killport

一个 Rust 语言写的命令行程序,可以杀死占用指定端口的进程。

10、Sniffnet

一个跨平台桌面应用,用来追踪监控网络流量,并以可视化的方式呈现。

资源

1、Triviance

使用 ChatGPT 生成的智力测验的题库,超过100万题,都是四选一的选择题,还分成不同的主题。

2、FastGPT

新兴搜索引擎 Kagi 推出的 GPT 聊天,免费使用,响应很快,支持中文。

3、ToolAI

AI 网站目录,收录了全球5000个 AI 网站。(@littledot2020 投稿)

4、Python 数据分析(第三版)(Python for Data Analysis)

一本英文教材,最新的第三版,讲授 Python 数据分析的初步知识,免费阅读。

图片

1、冰山的底部

人们总是说,冰山露出水面的部分不到20%。

一个德国的水下摄影师,特意前往格陵兰,拍摄水下的冰山。

她拍到了很多震撼的冰山底部的照片。

2、最大的化石花

1872年,在北欧波罗的海附近,发现了一块距今3000多万前的琥珀化石。

令人震惊的是,这块化石里面有一朵完整的花。

这是已知最大的化石花,花瓣长达28毫米,我们可以看到它在3000多万年前盛开的样子。

文摘

1、成年期的快与慢

我们生活在这样一个社会:小孩子像成年人一样老成,而成年人像小孩子一样幼稚。

现在的孩子们比以前更容易接触到成年人的世界,因此他们更早成人化。

从很小的年龄起,他们就在视频网站观看暴力和战争,在社交网络上看到性感和暴露的照片和视频。

然而,当孩子们成年以后,他们往往无法实现经济独立,也没有机会承担足够的责任。

结果,整个社会的文化就变得很幼稚,成年人感到无法做出承诺,即使承诺了也缺乏信心,对以后的生活感到难以把握。

他们的行事方式和处事态度,就像还在青少年时期。

2、JSLint 的许可证

JSON 格式的发明者道格拉斯(Douglas Crockford),在一次演讲中讲了一件趣事。

他在自己开发的 JSLint 软件许可证中设置了一个条款,要求"该软件应该用于善,而不是恶"。

后来,他收到一封来自 IBM 公司律师的信。

律师说,他们想使用 JSLint,但是这个许可证让他们有点为难。他们很确定,IBM 不会用它来作恶,但没法保证 IBM 客户的行为。因此询问道格拉斯,能不能给他们一个不同的许可证?

道格拉斯回信:"可以。我允许 IBM、它的客户、合作伙伴使用 JSLint 作恶。"

律师回信说:"非常感谢,道格拉斯!"

言论

1、

我们家的洗碗机经常坏,上一次是我自己修好的,这一次修不好了。

一连10天,我都用手洗碗。虽然我小时候就是这样做,但是洗碗机让我忘了,自己曾经多么讨厌这件事。好在新洗碗机终于到了。

-- 莱纳斯·托沃兹,Linux 创始人

2、

Linux 桌面环境,可能永远不会普及到大众。因为 Linux 使用者真正关心的是能否完成工作,他们对于桌面的要求,只要拥有浏览器即可满足,所以社区没有足够动力改善桌面体验。

-- 《今年不是 Linux 桌面年》

3、

网络社区最不能容忍的,就是大量持续涌入的陌生人,这让社区变成一个类似火车站的地方。成员的行为模式变得就像路过,人来人往,没有真正的归属感。

-- 《杀死社区》

4、

以太坊发明者 Vitalik Buterin 在创建以太坊之前,是一名记者,为比特币杂志撰稿。 他(或者他的父亲)说,他们相信写作帮助他理清了思想。

-- Hacker News 读者

历史上的本周

极简主义的胜利(2022 #216)

视频学习胜过读书吗?(2021 #166)

世界的未来就是一个火药桶(2020 #116)

创业不是零和游戏(2019 #66)

(完)

留言(42条)

阮老师,请教一件事,之前拜读过您翻译的《黑盒与画家》,我也想翻译出版一本技术类书籍,但是不知道如何才能获得这个机会,我之前联系过person出版社的人,但是没有得到回复。

IBM作恶了吗?

红帽被ibm收购前怎么没饿死?没道理被ibm收购了反而发不出工资了,就是ibm太贪婪罢了。

开源软件的盈利模式,一定不是客服,而是其他模式。

不能赞同更多,开源软件其实就是用爱发电,想要赚钱就选择闭源。FakeJs,Core-Js, 都是前车之鉴。

引用expii的发言:

红帽被ibm收购前怎么没饿死?没道理被ibm收购了反而发不出工资了,就是ibm太贪婪罢了。

红帽不行了,最大的应该是云计算对它的冲击

讯排设计加上AI,先可以一键生成海报,再能够针对海报做自定义,感觉会更好

Triviance这个不是智力测试吧

关于圆的问题,需要看清楚小圆绕大圆一周的路径判断不能以接触点来看,需要以小圆的圆心来看。最终答案等于5

这个fastgpt,相当智障了:

-你被开发出来的目的是什么?
-我是一款AI助手,被开发出来的目的是为用户提供信息。
-你能提供哪些信息?
-对不起,我无法提供任何个人信息。

本期看到了一个 男人至死是少年 的另一种解释

当小圆沿着大圆滚动一圈时,小圆自身也会绕自己的圆心旋转。由于大圆的半径是小圆的4倍,所以在一次滚动过程中,小圆绕自己的圆心旋转了4圈。同时,小圆也绕大圆滚动了一圈。

考虑到小圆自身的旋转,我们将小圆绕自己的圆心旋转的4圈加上小圆绕大圆滚动的那一圈,得到小圆自身滚动了5圈。

引用让心灵去旅行的发言:

IBM作恶了吗?

你怎么证明他没做恶呢?

很喜欢这句话。好的网络社区不应该变成一个类似火车站的地方,间接性谈论技术与话题,持续性大量持续涌入的陌生人。久而久之,人来人往,社区并没有给人们真正的归属感。这五六年待过不少的所谓技术群聊(类似于网络社区),曾经认真分享过个人点点滴滴,也曾经义无反顾地离开了,到后来发现原来一个人自由自在挺好的。

引用让心灵去旅行的发言:

IBM作恶了吗?

跟五角大楼合作,用于杀人武器,算不算作恶?IBM保证不了,所以要这个许可也合理。

引用老曹的发言:

当小圆沿着大圆滚动一圈时,小圆自身也会绕自己的圆心旋转。由于大圆的半径是小圆的4倍,所以在一次滚动过程中,小圆绕自己的圆心旋转了4圈。同时,小圆也绕大圆滚动了一圈。

考虑到小圆自身的旋转,我们将小圆绕自己的圆心旋转的4圈加上小圆绕大圆滚动的那一圈,得到小圆自身滚动了5圈。

也可以这么理解 ,小圆转的圈数全长等于小圆心的位移一圈(半径4R+R) 而不是切点的位移(半径4R),把圆圈拉直更好理解。

开源公司还得看 hashicorp ,几乎所有的产品都开源,基础服务免费,提供企业级的增值服务。国内也有,TiDB 也是差不多的模式。

开源那部分的协议是怎么样的,参与贡献源代码的,也必须接受红帽的“半闭源”的规矩吗?
另外,这样就没有开源社区给红帽贡献了吧?

引用Ben Lin的发言:

开源那部分的协议是怎么样的,参与贡献源代码的,也必须接受红帽的“半闭源”的规矩吗?
另外,这样就没有开源社区给红帽贡献了吧?

除非开源社区也对IBM红帽闭源否则它依然可以获得开源社区的支持。

@匿名诺夫:

哈哈,复制你的话试了一次,一模一样,可能这个gtp前后语境不关联,相比之下,确实待完善

Spring Startup Ananlyzer 目前只能再Linux或者Mac os上使用。

一句话总结红帽公司:Fedora是阿尔法测试,CentOS是贝塔测试,RHEL是最终版本

冰山底部的照片太有压迫感了 我本来没巨物恐惧症的,但是看了觉得好恐怖

引用阿水的发言:

阮老师,请教一件事,之前拜读过您翻译的《黑盒与画家》,我也想翻译出版一本技术类书籍,但是不知道如何才能获得这个机会,我之前联系过person出版社的人,但是没有得到回复。

我给清华大学出版社写了几本书。通常出书的流程是,填写申请表格和样章给编辑拿去审核,通过了可以开始写。需要介绍的话给我发邮件,看看你文章怎么样。优秀的作品值得推广 [email protected]

引用Noah的发言:

一句话总结红帽公司:Fedora是阿尔法测试,CentOS是贝塔测试,RHEL是最终版本

这种说法是不对的. Fedora和RHEL是不同的团队负责的. Fedora会跟随这Linux 主线的内核版本更新的而更新. RHEL则并不会. RHEL在一个版本周期跟着主线内核版本去更新内核. 打个比方, RHEL 8 是基于4.18 开发的, 8.1-8.7 他们会从主线获取驱动移植到4.18上. 而不是基于其他版本的内核重新开发. 而Fedora. 就可以直接更新到最新的内核版本,这个内核版本基本不会跟linux 内核主线差太多. 所以 RHEL和 FEDORA 没有必然关系. 因为内核版本根本不一样.

律师说,他们想使用 JSLint,但是这个许可证让他们有点为难。他们很确定,IBM 不会用它来作恶,但没法保证 IBM 客户的行为。因此询问道格拉斯,能不能给他们一个不同的许可证?

----------律师有这么认真吗?没事找事??

大小⚪的问题很有意思,习惯用固定的坐标系来思考问题结果得到了错误的答案。固有思维真可怕

引用杨百万的发言:

也可以这么理解 ,小圆转的圈数全长等于小圆心的位移一圈(半径4R+R)而不是切点的位移(半径4R),把圆圈拉直更好理解。

把大圆拉成直线后,小圆转的圈数是4圈!如果不拉成直线是5圈!

把小圆无限缩小为一个点,是小圆的圆心,小圆圆心绕大圆转动(此时大圆半径为5R),小圆半径为R,所以为5圈

Git 内部原理的快速介绍
--这个要梯子,没有梯子哪里可以看到吗

大小圆那个问题,用参考系来讲应该比较好理解。如果定义小圆转一圈是相对于大圆外表来说,这就相当于一个人在地球赤道上翻跟斗,答案4圈,但是相对于更大的环境来说,就变成了5圈。(额...这样想想是不是还有更多维度的答案?)

世界上最大的办公楼,这是一件很酷的事

阮老师的文章,每周必看啊

可以理解为小圆发生了4次自转和一次公转吗

引用BLEE的发言:

关于圆的问题,需要看清楚小圆绕大圆一周的路径判断不能以接触点来看,需要以小圆的圆心来看。最终答案等于5

茅塞顿开

阮老师的文档 通俗易懂如沐春风

(其实发送之前,我写了三百字,最终决定简短一点。)

我在找纯产品展示(图片、或者视频)的项目带后台管理有推荐的吗?

大小圆的问题有两种比较直观的解释:
1,设想大圆的直径为0,也就变成了一个点,而小圆绕这个点转一圈其自身也转了一圈。
2,小圆的圆心运动的轨迹为半径为5r的圆,可以类比为小圆在直线上滚动了10pi*r的距离。

killport好用

引用阿水的发言:

阮老师,请教一件事,之前拜读过您翻译的《黑盒与画家》,我也想翻译出版一本技术类书籍,但是不知道如何才能获得这个机会,我之前联系过person出版社的人,但是没有得到回复。


你联系一下异步社区 看没有这种机会

我有个建议, 可不可以把科技动态的标题和正文写在一起, 把中间的插图放在正文之后? 插图都很大, 标题和正文很小, 不方便观看.

大小圆问题可以想象在最初位置标记小圆上的两圆接触点, 在小圆滚动时, 该点相对于小圆静止. 但每时每刻都有新的接触点, 并和该点形成一个夹角θ, 只有特定位置才会两点重合并且θ为0. 当标记点第一次在小圆正下方时, 小圆已自转了一圈, 但还需要再自转θ角才能使两点重合, 重合时的θ记为θ',刚好在大圆上移动了0.5ΠR, 几何关系得θ'为0.5Π, 也就是说小圆自转一圈后, 还得自转0.5Π的角度才能到达大圆周长的四分之一处. 这样重复四次, 小圆就需要多滚 4*0.5Π = 2Π 的角度, 刚好是一圈, 所以是五圈.

引用匿名诺夫的发言:

这个fastgpt,相当智障了:

-你被开发出来的目的是什么?
-我是一款AI助手,被开发出来的目的是为用户提供信息。
-你能提供哪些信息?
-对不起,我无法提供任何个人信息。

我问了几个编程方面的知识问题,回答的相当不错。比我在编辑器上集成的AI插件回答的都要好很多

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接