今天起来就看到 EMQX 将于明年初正式结束开源版产品生命周期。通常我是不评论时事的,不过最近关于产品是否应该开源的议题逐渐触达了国内先做开源产品再考虑商业化的公司,或许是一个整理过往的观点,集中提供相关思考方式的契机。| 夜天之书
Confluent 是一家著名的 Apache Kafka 提供商,其创始人在 LinkedIn 工作期间创造了 Kafka 项目,并将其贡献给了 Apache 基金会。这一模式后来也在 Apache 软件基金会(ASF)内被多次复制,即依托于 Apache 顶级项目打造商业产品,对应的商业公司核心成员是该开源项目的维护者或原始作者。 在《应当尊重和保护开源项目的知识产权》一文中,我介绍了 ASF 的商标品牌政策。在 Confluent 创...| 夜天之书
2019 年,当时的 Baidu Security X-Lab 团队将自己研发的安全计算框架 MesaTEE 捐赠到 Apache 孵化器,并更名为 Apache Teaclave 开始孵化。 时过境迁,当时的 X-Lab 早已不复存在,其孵化提案中引用的 MesaTEE 网站也被其他实体申请占用。甚至,初始成员大多已经离开百度公司,前往新的团队开发新的安全软件。 很长一段时间里,Teaclave 都是所谓“源自中国”的 Apache 孵化项目当中孵化时...| 夜天之书
日志是应用可观测的重要组成部分。可以说,任何运行在生产环境的应用,可能还没建立起指标(Metrics)体系,也或许还没上一套完整的追踪(Traces)方案,但是一定会打日志,至少是关键生命周期日志和错误日志。否则,一旦应用出现问题,几乎无从着手排查。 早在 2014 年底,Rust 生态就出现了官方的 log 库。这个库主要提供了打日志的宏指令定义,日志结构体的实现,...| 夜天之书
随着应用程序从单体走向分布式微服务架构,追踪(Trace)请求在各个模块间的流转变得越来越重要。然而,现有应用系统还没充分认识到分布式追踪的价值和必要性。这很大程度上是因为生态当中缺乏一个可靠、高效且易用的分布式追踪方案。 Rust 生态尤其如此。作为一个新兴的语言生态,可供 Rust 开发者选择的追踪框架并不多。目前常用的 tokio-rs/tracing 库存在明显的生态...| 夜天之书
上周,我在视频号(啸飞吟声)上做了一期连线直播,讨论包含企业开源软件变更协议在内的商业开源相关问题。其中,有一个重要的内容,就是作为开源软件的使用者,面对上游开源软件无法持续维护,或者企业开源的软件修改协议等潜在风险时,如何保障自己的使用安全。 在此前的一篇博文《开源软件有断供的风险吗?》当中,我已经说明了开源协议不可撤销地授予接...| 夜天之书
在年初的一篇关于商业开源的博文当中,我介绍了在开发商业软件的过程中,衍生出开源公共软件库的模式。在那篇博文里面,我只是简单罗列了相关开源库的名字及一句话总结。近期,我会结合商业开源实践的最新进展,对其中一些案例做详细展开。 首先介绍的是 Cronexpr,一个小巧的 Rust Crontab 解析库。其背后的开源模式,我称之为“涓滴开源”,即将商业软件依赖的微...| 夜天之书
自去年八月以来,我一直在 Apache 软件基金会(ASF)担任品牌管理委员会成员。近期,上海开源信息技术协会组织的首次“上海开源创新菁英奖”,评奖结果包括了若干 ASF 旗下的开源项目。然而,结果公布文章在引用这些项目时,存在部分对 ASF 品牌的误用。经由一位 ASF 中国成员报告,ASF 品牌管理委员会处理,以及与上海开源信息技术协会沟通后,今天发布了《关于 Apache ...| 夜天之书
下周五到周日,也就是 7 月 25 日到 27 日,一年一度的 Apache 社群峰会(CommunityOverCode Asia 2025)将在北京海淀举行。 峰会的最后一天,我和 Rust 社群的伙伴们组织了 Rust 分论坛,讨论开源生态以及 Apache 项目中 Rust 的发展和应用。同样在 27 日的早晨,我会做一个题为《七年之痒:我的 Apache 故事》的主题演讲,介绍 Apache 软件基金会如何深刻地影响了我的开源之路,以及每一...| 夜天之书
本文整理自《对话 tison - 新晋国际开源基金会董事,95 后创业者》,但是内容是按照原来设计的问题列表介绍我今年的新关注点,与播客节目实际聊天的内容不完全一致。以下是问题列表: 你从什么时候开始想“我要成为一个程序员”这件事情? 你参与的第一个开源项目是什么? 你对哪一类型的技术更感兴趣? 怎么会想到去做 ASF 孵化器导师的,这件事情是不是很耗费精...| 夜天之书
近期若干开源组织进行换届选举。在此期间,拥有投票权的成员往往会热烈讨论,提名新成员候选人和治理团队的候选人。虽然讨论是容易进行的,但是实际的投票流程和运作方式,在一个成员众多的组织中,可能会有不少成员并不清楚。 本文以 Apache 软件基金会(Apache Software Foundation, ASF)为例,介绍 ASF 所采用的投票方式。| 夜天之书
最近一个多月没有发布新的文章,我把时间大多投入在实践验证自己在多次演讲中都描绘过的开源孪生模式上。 开源孪生模式 本文展开介绍上图提及的各个具体实践,并说明这一模式如何可持续发展。| 夜天之书
近期,Linux 上游因为受美国出口管制条例的影响,将移除部分开发者的 MAINTAINER 权限,引起了新一轮对开源依赖的重新评估。 关于其中开源精神和社群治理的讨论,卫 Sir 的两篇文章已经讨论得比较清楚(见尾注)。本文主要从软件供应链的角度出发,回应对“开源软件的断供风险”的担忧。 简言之,开源协议只是向用户授权自由使用特定版本源代码。除此以外,大部分开...| 夜天之书
上周在北京参与了开源社主办的 2024 中国开源年会。其实相比于有点明显班味的“年会”,我的参会体验更像是经历了一场中国开源的年度嘉年华。这也是在会场和其他参会朋友交流时共同的体验:在开源社的 COSCon 活动上,能够最大限度地一次性见到所有在中国从事开源相关工作的人。 我在本次会场上有两个演讲,分别是 Rust 分论坛上分享的《高性能 Rust 编程:如何减少...| 夜天之书
首先介绍一下我在 Rust 标准库当中做的两个微小的工作。 第一个是从去年 8 月 14 日发起,今年 4 月 6 日合并,历时约 8 个月,目前仍在等待 stabilize 的为 OnceCell 和 OnceLock 增加新接口的提案: impl get_mut_or_init and get_mut_or_try_init for OnceCell and OnceLock 第一次提交贡献 第一次贡献成功合并后,马上第二个工作是从今年 4 月 8 号开始,7 月 6 号合并,历时约 3 个月,同样还在等待 stab...| 夜天之书
CommunityOverCode Asia 2024 于 7 月 26 日到 28 日在杭州举行。其前身是 Apache 软件基金会一年一度的 ApacheCon 活动,通常会在多地分别举办。今年已经举行的是本次亚洲大会,以及 6 月在斯洛伐克举行的欧洲大会。10 月,北美大会将在丹佛举行,我也会在北美的会议上分享两个主题: Mobilize Your Community Army: A Commercial OpenSource’s Perspective Equip the Community with Test Suite: Best Practice from Apache...| 夜天之书
6 月 24 日,我在北美湾区参与了一场线下的 Apache DataFusion 聚会活动。 其实我是 6 月 21 日才到的旧金山,6 月 18 日才发现湾区有这样一场线下活动。不过或许得益于我在今年在 DataFusion 做过几次贡献,GreptimeDB 是 DataFusion 在行业顶级的应用标杆,会议组织方很干脆的就增加了一个 Speaker 席位,让我能够做在聚会上做题为《Boosting a Time-Series Database With Apache DataFusion》的演讲。| 夜天之书
本文是 GreptimeDB 首位独立 Committer Eugene Tolbakov 所作。 在上一篇文章《GreptimeDB 首位独立 Committer Eugene Tolbakov 是怎样炼成的?》当中,我从社群维护者的视角介绍了 Eugene 的参与和成长之路。这篇文章是在此之后 Eugene 受到激励,从自己的角度出发,结合最近为 GreptimeDB 改良 SQL Interval 语法的实际经历,分享他对于开源贡献的看法和体验。 以下原文。 ---| 夜天之书
近年来,时序数据的增长是 Data Infra 领域一个不容忽视的趋势。这主要得益于万物互联带来的自然时序数据增长,以及软件应用上云和自身复杂化后的可观测性需求。前者可以认为是对联网设备的可观测性,而可观测性主要就建构在设备或应用不断上报的指标和日志等时序数据上。 分析时序数据的演变史几乎是大数据分析演变史的复现,即一开始都是把数据存在关系型数据...| 夜天之书
『太长不看版』 Apache Kvrocks 作为 Redis 的开源替代,近期支持了以下查询语法: 欢迎试用或跳转文末到完整示例段落查看具体步骤的含义。 原文作者 twice 发表于 Apache Kvrocks 官方博客。本文是取得原文作者许可的中文译文,翻译过程中间略有措辞顺序调整和演绎。| 夜天之书
近期主要时间都在适应产品市场(Product Marketing)的新角色,不少想法还在酝酿和斟酌当中,于是文章输出没有太多时间来推敲和选题,只能保持每月发布相关的进展或一些零碎的思考。或许我可以恢复最早的模式,多做更新但是文章内容可能不会太过完整。 原本这一期想讨论的是 ASF 开源项目代码的所有权,以及开源软件变更协议的具体含义与操作方式。但是这个话题稍显...| 夜天之书
由于 Apache 软件基金会(ASF)过去十年在国内的文化传播,许多开源软件的创作者都有一个将自己的软件捐赠到 ASF 并最终成为顶级项目的梦想。我所接触到的 Apache Fury / Apache OpenDAL / Apache StreamPark 都有这样的背景。 按照目前 ASF 的章程和惯例,开源项目要想成为 ASF 顶级项目,绝大多数情况下需要经过 ASF 孵化器孵化。 这个 ASF 孵化器本身是一个 ASF 的顶级项目,与其他项目...| 夜天之书
我在《GreptimeDB 社群观察报告》当中提过,GreptimeDB 的 good-first-issue 流转速度极快,大部分容易上手的工作往往在一周甚至两三天内就会有人认领,并且完成的情况也还不错。这个体验很难得。 在最近一些 Good First Issue 的流转过程中,我重新发现了一些典型的模式。正好同大家分享一下我对于如何处理 Good First Issue 这个问题的看法。| 夜天之书
GreptimeDB 是格睿科技(Greptime)公司研发的一款开源时序数据库,其源代码在 GitHub 平台公开发布。 https://github.com/greptimeteam/greptimedb 我从 2022 年开始知道有 GreptimeDB 这个项目。2023 年,我注意到他们的 Community Program 是有认真写的,不是无脑复制所谓成功项目的大段规则,于是开始跟相关成员探讨开源治理和社群运营的话题。后来,我读过 GreptimeDB 的源代码,发现他们的工程能...| 夜天之书
Apache OpenDAL 简介 Apache OpenDAL 是一个以软件库形式提供的数据访问层。它允许用户通过统一的 API 简单且高效地访问不同存储服务上的数据。你可以把它当作是一个更好的 S3 SDK 实现,也可以通过统一的 OpenDAL API 来简化配置访问不同的数据存储服务的工作(例如 S3 / HDFS / GCS / AliyunOSS 等)。 OpenDAL 以库形式提供,因此使用 OpenDAL 无需部署额外的服务。OpenDAL 的核心代码用 Rust 写...| 夜天之书
近几年,国内开源项目捐赠到 Apache 软件基金会(ASF)的案例很有一些。几乎每个在进入孵化器和从孵化器当中毕业时发通稿的项目,都会选择在标题中加入“全票通过”的字样。 诚然,大部分项目在 ASF 孵化器中茁壮成长,实际上投票结果也是没有反对票,使用这一标题无可非议。然而,对于把同侪社群(Community of Peers)作为社群核心价值之一的 ASF 来说,追求全票通过并...| 夜天之书
随着 Apache 软件基金会(ASF)在国内的深入发展,越来越多的项目希望藉由进入 ASF 孵化器孵化,来建设开源社群。在进入孵化器之前,项目发起人或其核心团队必须撰写一份孵化器提案来介绍项目的基本情况,以供孵化器项目管理委员会(Incubator Project Management Committee, IPMC)评估是否适合孵化。 ASF 孵化器成立于 2002 年,至今已有超过 20 年历史。截至本文写作时,孵化器一...| 夜天之书
上一篇文章《Rust 社群何以走到今天?》发布之后,得益于 Rust 社群的繁荣和成员的分享惯例,我收到了不少关于 Rust 现状的评论。 大部分评论集中在 Rust 项目社群的治理上,即 BDFL 和基金会会对 Rust 项目社群产生什么影响,以及 Rust 项目社群是否需要 Leadership 组织。| 夜天之书
本文有些标题党,实际想讲的内容,是我从部分 Rust 曾经的核心开发者的自述当中,所发现的 Rust 项目社群开源协同模式发展至今的一些特点。 我会从这些自述发言的内容切入和展开,对比其他社群遇到相似挑战的状况和应对方式,讨论 Rust 项目社群在协同方式维度上走到今天的沿革。| 夜天之书
译序 我在此前的多篇文章中讨论了商业开源的话题: 《企业开源的软件协议模型实践》 《企业实践开源的动机》 《商业源码协议为何得到 HashiCorp 等企业的垂青?》 《企业如何实践开源协同》 《中国不缺好的开源开发者》“商业探索与可持续”一节 《开源不是商业模式》 《诱导转向的伪开源战略》 《免费增值的商业模式》 这些讨论当中观点的源头,除了我在商业开源...| 夜天之书
过去数年,我从参与 Perl 6 和 Apache Flink 等项目出发,逐步进入到开源的世界当中。我在 2019 年成为 Apache Flink Committer,2020 年成为 Apache Curator 的 PMC 成员,2021 年全力投入 TiDB 社群的建设,2022 年成为 Apache 软件基金会(ASF)的正式成员和孵化器导师并接连帮助三个开源项目加入孵化器孵化,2023 年成为 Apache ZooKeeper Committer 和 Apache Pulsar PMC 成员。 在这个过程里,我持续接触到...| 夜天之书
当地时间 8 月 10 日,知名开源软件公司 HashiCorp 发布一则公告,称其原先在 Mozilla Public License 2.0 下发布的 Terraform、Consul 和 Vault 等多款软件,将在未来的版本中改为使用商业源码协议,即 Business Source License 1.1 来发布。 此前,已有其他知名开源软件公司也改用或从一开始就使用商业源码协议许可其源码公开的软件。 MariaDB 公司的产品 MaxScale 数据库代理; CockroachLabs 公司的产...| 夜天之书
Apache Kvrocks 是一个分布式 KV 数据库,使⽤ RocksDB 作为底层存储引擎并兼容 Redis 协议,旨在解决 Redis 内存成本⾼以及容量有限的问题,可以作为 Redis 的持久化变体做 drop-in 替换。 Kvrocks 起初是美图内部研发的软件,于 2019 年对外开源并独立运营。2022 年 4 月,Kvrocks 在 Champion 陈亮的推动下进入 ASF 孵化器孵化。在一年的孵化期间,参与者和用户数量翻了两番有余,同时有四名...| 夜天之书
在过去几年的投入和关注下,国产开源社群如雨后春笋一般冒了出来。今天,以 GPT 为首的 AI 新势力接过话题度的接力棒,我们可以在降温周期里回顾一下过去几年间冒出来的国产开源社群都有什么样的成绩,有些什么样共性的问题可以改进。 本文标题是国产开源社群的运营总是画风奇特,这也符合近几年来作为理论上开源社群的主要参与者,即软件开发者们的主流感受。...| 夜天之书
本轮开源之风吹起迄今数年,最大的影响还是越来越多的商业公司开始探索开源方法能够如何改变自己的经营策略。 开源策略循序渐进分成使用、参与和发起。在发起开源项目实践一线的,一个是打着开源旗号的创业公司,另一个就是大型企业尤其互联网企业(大厂)。 前者我在过去的文章里已经详细讨论了他们的动机、面临的风险和应对策略。 本文将关注大厂发起的开...| 夜天之书
3 月 31 日,马斯克如约开源了一系列推特推荐算法代码。 Twitter 开源推荐算法代码| 夜天之书
前几天,一篇名为《开源商业模式是个伪命题》的文章横空出世,看似犀利的观点却没有引起激烈的反驳。无论是开发专有软件的企业,还是重度投入到开源软件开发的企业,都认同开源本身并不是企业作为软件及服务提供商的商业模式。 行业当中有这样的共识并不奇怪。如果你在国际互联网上搜索『开源商业模式』关键字,其结果从 2016 年起就几乎被『开源不是商业模式...| 夜天之书
今天,在许多开源软件项目乃至任何稍带开放性的项目的宣传中,我们经常能看到营销内容包含“共建”的字样,似乎说了这个魔法的词汇,项目就能迎接纷至沓来的“共建者”,其乐融融地“一起做大蛋糕”。 然而,现实情况却是作为被营销对象的开发者日渐对这个词失去兴趣到产生反感。一眼看到某个项目营销言必称“共建”,心里就默默给它扣分拉黑甚至拉黑。共建...| 夜天之书
Community of Peers 可以翻译成『同侪社群』,意即社群由地位相同的成员组成,这是 Apache 软件基金会(ASF)的开源理念之一。 ASF 强调个体组成社群,每个成员代表他们自己而不是其所属的组织。不管成员是否受雇参与贡献,社群视角下他们都是一视同仁的志愿者。尽管只有 Committer 才有合并代码的权限,只有项目管理委员会(PMC)成员才能对项目的关键决议投有效票,但是除...| 夜天之书
上周末在给 Apache Ratis 的代码库上 Maven Wrapper 的时候,项目作者 @szetszwo 对 Pull Request (PR) 当中代码的合规问题和实现问题提出了一些问题。虽然这些问题并不难回答,但是我第一时间的反应却是“这么明显的答案,实在是懒得回复”。进而我又想到,如果是线下集中办公或者面对面 workshop 的情形,这些问题不到五分钟就能讨论清楚,而这两类不同环境当中开发者的表现差异...| 夜天之书
去年十一月,我成为了 Apache Pulsar 社群 Committers 的一员。 成为 Committer 之前和之后,我都积极参与了代码仓库上 Issue 和 Pull Request (PR) 的处理回应和评审。去年十二月期间,我把未解决的 Issue 和 PR 数量分别从接近 2000 个和 400 个,在动态增长的情况下缩小到了小于 1000 个和接近 200 个。 关于如何高效地、分门别类地处理社群积压的议题和补丁,我可能会用另一篇文章来讨论...| 夜天之书
我在《企业开源该选什么软件许可证?》一文当中,已经从软件许可证的角度讨论过不同协议对企业开源的意义。 不过,那篇文章主要是从许可证内容出发的,即先给定了协议,分析完协议细节,再判断是否符合企业和计划公开的软件的情形。本文从企业开源的不同诉求和风险出发,结合现存的企业组织实践,重新讨论源码公开第一步就要面临的选择软件协议问题应该如何...| 夜天之书
燃烧了过去一周的空闲时间,我终于定制好了自己的 Linux Desktop 环境。 虽然 Linux 经常被拿来跟 Windows 和 Mac OS X 相比较,但是 Linux 本身只是一个操作系统内核,为了满足用户能作为日常桌面系统使用的需求,还需要添加很多额外的功能。例如,作为内核的 Linux 只提供了识别网卡与其通信的能力,具体如何建立和维护网络链接,如何在开机时自动连接,如何设置网络代理,不...| 夜天之书
开源软件和自由软件的概念与其许可证紧密绑定。 通常,开源软件被定义为使用 OSI 认可的,即符合开源定义的许可证来分发的软件,而自由软件被定义成使用 GPL 或说 Copyleft 式许可证分发的软件。 尽管今天人们最关心的可能是软件的生产过程即如何进行开源协同,但是为软件选择什么样的许可证,仍然是一个项目启动时必须考虑和决定的问题。某种意义上说,软件可以被...| 夜天之书
本文整理自第七届中国开源年会开源码力圆桌:十字路口,代码是我们永恒的信仰上我的发言。| 夜天之书
众所周知,开源软件许可证粗略分为 Copyleft 类和 Permissive 类。 这两者常被提及的不同之处,是前者要求对软件的修改和派生仍需以相同条款发布,而后者允许修改软件和派生软件不再发布源代码。 不过,如果我们从两者相同的要求出发,重新看待开源共同体的成员对作为契约的开源许可证的认识,就会有崭新的发现:无论是 Copyleft 类的许可证,还是 Permissive 类的许可证,...| 夜天之书
过去两年间,我全职参与了多个开源项目的社群建设工作,逐渐形成了自己开展社群建设工作的知识体系,并将其发布在开源小镇网站上。 这个过程里,阅读开源主题的书籍对我借鉴成功经验、警惕历史教训和形成分析问题的框架起到了至关重要的作用。这几天频繁切换工作地点,总有几本开源之书不管到哪我都要随身携带,这里做一个推荐。| 夜天之书
开源软件的用户在使用过程中遇到问题时,几乎总是先在自己的环境上打补丁绕过或快速修复问题。开源协同的语境下,开源软件以及维护开源软件的社群统称为该软件的上游,用户依赖上游软件的应用或基于上游软件复刻(fork)的版本统称为下游。上游优先(Upstream First),指的就是用户将下游发现的问题、做出的修改反馈到上游社群的策略。 网络上已经有不少文章讨论...| 夜天之书
开源社群存在的目的,主要是制造高质量的开源软件,并促进该软件的使用。为了达到这两个目标,开源社群需要调动参与者的积极性,并且协同背景多样的参与者的贡献,共同修复软件缺陷、改善软件体验、增加软件功能、组织社群活动和发展软件生态。大多数开源社群的环境里,实际进行组织协调工作的成员,就是社群的维护者(Maintainer)。 不同开源社群对角色的定位...| 夜天之书
越来越多的开源软件占领了各个领域依赖链条的关键环节,越来越多的程序员也以参与知名开源软件的开发为荣,将开源贡献和在开源社群当中获得的头衔作为简历当中浓墨重彩的一部分。 在这样的背景下,技术驱动型公司的 HR 也随之需要掌握从开源社群当中找到组织需要的人才的方法。如果企业的业务依托于开源软件的发展,甚至公司直接投入人力参与开源社群,那么 HR...| 夜天之书
分布式系统的开发者知道,不同于本地方法调用总是被执行,要么成功要么失败,分布式系统之间各个组件的远程调用还存在第三种可能,那就是超时。 从消息发送者的角度看来,超时意味着没有确认信息返回。但是当前调用对应的一系列操作到底是已经成功,只是回复丢失,还是其中某些失败某些成功,或者全部失败,甚至是请求本身没发出去,这些情况一概无法断言。 ...| 夜天之书
随着信息化和数字化的发展,传统企业的业务发展在软件的帮助下突飞猛进。软件技术日新月异,几乎每隔几年就会有全新的技术和产品颠覆过往业务开展的方式。然而,掌握前沿软件技术的人相对于全行业的需求可谓是凤毛麟角。为了规模化前沿技术的价值,越来越多的软件服务公司如同雨后春笋一样不断出现。 顾名思义,软件服务公司主要以提供高质量的软件或软件服...| 夜天之书
数字化时代下绝大多数工作都有关键绩效指标(KPI)指导,任何组织都期望找到一个合理的指标来校准战略方向,衡量工作成果。 然而,并非所有工作都能有 KPI 准确地衡量产出。著名软件工程师,同时也是《重构》《分析模式》等书籍的作者 Martin Fowler 曾经写过一篇博客论证软件工程师的生产力是无法衡量的。 开源社群成员的重要组成部分,也是一切价值的核心飞轮就是...| 夜天之书
开源软件不是凭空出现的,开发开源软件是一项艰苦卓绝的工作。每个开源软件的背后少则有原作者一人的投入,多则协同了成千上万人组成的开源社群的共同努力。然而,开源软件的源代码总是免费可得,并且开源软件协议总是不限制用户的使用形式。 基于开源软件完成工作乃至搭建业务盈利的用户,并不总是参与软件开发的人,这种形似经济学中“搭便车”的行为,在...| 夜天之书
《程序员修炼之道》讲了一个有趣的“石头汤”寓言。这个寓言里,饿着肚子的外来人在村子里烧了一锅水,放了三块石头,开始煮“石头汤”。这样的行为引来好奇的村民围观,外来人顺势在“石头汤”的基础上引导村民们添加食材以改善这锅料理。最后,村民和外来人一起煮出了一锅靓汤,外来人于是把石头从汤里扔掉,所有人分享了这顿美餐。 开源协同的工作方式与...| 夜天之书
随着开源软件全面占据软件供应链的各个阶段,商业公司开发基础软件或业务逻辑的时候,已经避不开对软件的使用了。经过一段时间对开源软件的使用,以及开源吞噬软件的趋势影响,研发能力突出的公司或团队,也会加入到开发开源软件的行列中来。 商业模型当中开源软件位置的不同,体现出企业实践开源动机的不同,并且会很大程度影响企业实践开源的行为。本文将...| 夜天之书
《大教堂与集市》中有一个著名的 Linus 定律,“只要眼睛多,bug 容易捉”。在这本书里面,作者讨论了开源社群的集市开发模式,以其开放的特征,以及提供源码从而支持参与者基于相同的真实的源码进行高效交流,驯服了大型软件开发的复杂性。诚然,在其论述中,基于源码的,快速发布反馈缺陷报告和补丁修补的开源协同方式,能够制造出 Linux 这样的大型开源软件。...| 夜天之书
开源社群虽然是围绕开源软件建立起来的,但是建设繁荣的开源生态,依靠只读的源代码是不够的。建设繁荣的开源生态需要开源协同,而协同的基础是沟通。沟通不仅有论坛和聊天室的交互式形式,还有主动的内容生产和发布,包括不同受众的文档的撰写和翻译,以及技术文章的传播等等。这些内容创造都可以归类为技术写作,也就是说,围绕开源软件的技术写作,是建...| 夜天之书
《开源之迷》是“开源之道”主创适兕所著“开源之道三部曲”的第一部。本书的“迷”是着迷的“迷”,旨在向读者介绍什么是开源,以及开源令人欲罢不能的优势。适兕在《适兕是如何生存的?》提到,自己从 2015 开始运行“开源之道”,2018 年辞去全职工作,一心发展开源之道。开源之迷,一至于此。 本书发售前,我曾经应邀写了一小段推荐词,不过最后因为出版的...| 夜天之书
早在今年初,适兕就建立了「开源之史」讨论小组,旨在探讨有关技术、人物、思想、文化等开源世界发生过的事件和演化。 一开始,我对这个小组保持观望态度,既期待能够从中了解一些或许自己还不知道的历史,又对历史研究抱有一定的怀疑。一直以来,我都推崇关注现在,解决实际问题,研究历史尤其是尚未有定论也没有“信史”的“开源之史”,到底有多大的作用...| 夜天之书
几天前 @Xuanwo 的一篇文章《开源运营当论迹不论心》讨论了 TDengine 代码灭虫计划活动中不尊重开源协同的规律,只是通过市场运营手段强行把开发者推进来的误区。 本文从这个例子出发,进一步举例讨论开源社群需要什么样的代码贡献。| 夜天之书
大约二十年前我刚开始进入互联网的世界的时候,支撑起整个网络的基础设施,就包括了 Apache 软件基金会(ASF)治下的软件。 Apache Httpd 是开启这个故事的软件,巅峰时期有超过七成的市场占有率,即使是在今天 NGINX 等新技术蓬勃发展的时代,也有三成左右的市场占有率。由 Linux、Apache Httpd、MySQL 和 PHP 组成的 LAMP 技术栈,是开源吞噬软件应用的第一场大型胜利。 我从 2018 ...| 夜天之书
时隔两年,以姜宁老师的分享为契机,我重读了《知识社群》一书。结合这两年在开源社群方向的经验,我从中发现了不少极具实践价值的内容。 《知识社群》一书从知识社群的社会性出发,从知识社群的历史沿革,全球知识经济的发展进程,以及知识社群在知识时代的机遇三点立论,阐述了知识社群的时代价值。进一步地,本书介绍了知识社群的三个结构要素,划分了知...| 夜天之书
如何吸引开源开发人员参与项目?如何让他们留下来,成为项目共同体的一部分?这是两个做开源运营必须回答的问题。 我对这两个问题的回答,简而言之是和开源参与者共同创造价值,使得开源项目和开源共同体能够回答潜在参与者的两个事关去留的灵魂提问。 我能为你做什么? 我应该怎么做到? 从共同创造价值的角度出发,通过开源运营回答参与者可以做什么的问题...| 夜天之书
随着越来越多新的要素进入开源领域,如何建立一个高效的开源共同体,如何维护一个富有价值的开源共同体,逐渐成为每个参与者或多或少关注的问题。 Apache 软件基金会为每个项目提供了基础的治理原则,并在项目孵化到顶级项目的过程中通过孵化器导师的帮助建立起开源项目的治理模型,但是这一模型对每个具体项目在特定时期未必是最优的。同时,其他不在 Apache 软...| 夜天之书
历时五天,我总算把《大教堂与集市》这本经典的开源文化著作认真读了一遍,真是酣畅淋漓。 本书是作者 Eric S. Raymond 的文集,其中最著名的一篇就是《大教堂与集市》,其他几篇分别是《黑客圈简史》《开垦心智层》《魔法锅》和《黑客的反击》。最有价值的是《大教堂与集市》和《开垦心智层》两章,系统解释了开源软件是如何生产的,开源开发的优势在哪,开源软...| 夜天之书
大部分人参与开源社区会面临的一个巨大挑战,那就是缺乏时间。本文试图提供一种方式,帮助想要参与开源社区的同学高效利用有限的时间。 在一个开源社区里,maintainers 需要关注的范围比 contributors 要大得多。本文分别讨论这两类人群适用的参与开源社区的技巧,以减少过程中的摩擦,提高时间的利用率。| 夜天之书
本文部分启发自在 ALC Beijing 录制播客时讨论的内容,仅引用我个人的观点。播客内容应该近期会在前面链接的网站上发布。 《开放式组织》这本书单看它本身,讲的是红帽公司的组织管理经验。这是一个将商业价值建立在开源项目之上的公司审视公司内部的组织形式的著作,并且主要关注在红帽这个案例上。这样,不管是在经验的普遍性上,还是在开放式组织这种形式跨越...| 夜天之书
随着开源概念的红火,越来越多的企业将内部项目公开托管到 GitHub 等平台,也有越来越多依托开源项目建立起来的企业。对于这些企业来说,它们的目标不只是开放项目源代码,更希望能够形成开源共同体,打造围绕项目的软件生态。 然而,其中大部分项目由于成员背景的单一性,最终都终结于仅源码可得的形态。对于这些新兴项目来说,初始成员从属于同一企业是既定...| 夜天之书
在过去几年的投入和关注下,国产开源社群如雨后春笋一般冒了出来。今天,以 GPT 为首的 AI 新势力接过话题度的接力棒,我们可以在降温周期里回顾一下过去几年间冒出来的国产开源社群都有什么样的成绩,有些什么样共性的问题可以改进。 本文标题是国产开源社群的运营总是画风奇特,这也符合近几年来作为理论上开源社群的主要参与者,即软件开发者们的主流感受。...| 夜天之书
前几天,一篇名为《开源商业模式是个伪命题》的文章横空出世,看似犀利的观点却没有引起激烈的反驳。无论是开发专有软件的企业,还是重度投入到开源软件开发的企业,都认同开源本身并不是企业作为软件及服务提供商的商业模式。 行业当中有这样的共识并不奇怪。如果你在国际互联网上搜索『开源商业模式』关键字,其结果从 2016 年起就几乎被『开源不是商业模式...| 夜天之书
我在《企业开源该选什么软件许可证?》一文当中,已经从软件许可证的角度讨论过不同协议对企业开源的意义。 不过,那篇文章主要是从许可证内容出发的,即先给定了协议,分析完协议细节,再判断是否符合企业和计划公开的软件的情形。本文从企业开源的不同诉求和风险出发,结合现存的企业组织实践,重新讨论源码公开第一步就要面临的选择软件协议问题应该如何...| 夜天之书
燃烧了过去一周的空闲时间,我终于定制好了自己的 Linux Desktop 环境。 虽然 Linux 经常被拿来跟 Windows 和 Mac OS X 相比较,但是 Linux 本身只是一个操作系统内核,为了满足用户能作为日常桌面系统使用的需求,还需要添加很多额外的功能。例如,作为内核的 Linux 只提供了识别网卡与其通信的能力,具体如何建立和维护网络链接,如何在开机时自动连接,如何设置网络代| 夜天之书
开源软件和自由软件的概念与其许可证紧密绑定。 通常,开源软件被定义为使用 OSI 认可的,即符合开源定义的许可证来分发的软件,而自由软件被定义成使用 GPL 或说 Copyleft 式许可证分发的软件。 尽管今天人们最关心的可能是软件的生产过程即如何进行开源协同,但是为软件选择什么样的许可证,仍然是一个项目启动时必须考虑和决定的问题。某种意义上说,软件可以被...| 夜天之书
开源社群存在的目的,主要是制造高质量的开源软件,并促进该软件的使用。为了达到这两个目标,开源社群需要调动参与者的积极性,并且协同背景多样的参与者的贡献,共同修复软件缺陷、改善软件体验、增加软件功能、组织社群活动和发展软件生态。大多数开源社群的环境里,实际进行组织协调工作的成员,就是社群的维护者(Maintainer)。 不同开源社群对角色的定位...| 夜天之书
随着信息化和数字化的发展,传统企业的业务发展在软件的帮助下突飞猛进。软件技术日新月异,几乎每隔几年就会有全新的技术和产品颠覆过往业务开展的方式。然而,掌握前沿软件技术的人相对于全行业的需求可谓是凤毛麟角。为了规模化前沿技术的价值,越来越多的软件服务公司如同雨后春笋一样不断出现。 顾名思义,软件服务公司主要以提供高质量的软件或软件服...| 夜天之书
开源软件不是凭空出现的,开发开源软件是一项艰苦卓绝的工作。每个开源软件的背后少则有原作者一人的投入,多则协同了成千上万人组成的开源社群的共同努力。然而,开源软件的源代码总是免费可得,并且开源软件协议总是不限制用户的使用形式。 基于开源软件完成工作乃至搭建业务盈利的用户,并不总是参与软件开发的人,这种形似经济学中“搭便车”的行为,在...| 夜天之书
随着开源软件全面占据软件供应链的各个阶段,商业公司开发基础软件或业务逻辑的时候,已经避不开对软件的使用了。经过一段时间对开源软件的使用,以及开源吞噬软件的趋势影响,研发能力突出的公司或团队,也会加入到开发开源软件的行列中来。 商业模型当中开源软件位置的不同,体现出企业实践开源动机的不同,并且会很大程度影响企业实践开源的行为。本文将...| 夜天之书
如何吸引开源开发人员参与项目?如何让他们留下来,成为项目共同体的一部分?这是两个做开源运营必须回答的问题。 我对这两个问题的回答,简而言之是和开源参与者共同创造价值,使得开源项目和开源共同体能够回答潜在参与者的两个事关去留的灵魂提问。 我能为你做什么? 我应该怎么做到? 从共同创造价值的角度出发,通过开源运营回答参与者可以做什么的问题...| 夜天之书
历时五天,我总算把《大教堂与集市》这本经典的开源文化著作认真读了一遍,真是酣畅淋漓。 本书是作者 Eric S. Raymond 的文集,其中最著名的一篇就是《大教堂与集市》,其他几篇分别是《黑客圈简史》《开垦心智层》《魔法锅》和《黑客的反击》。最有价值的是《大教堂与集市》和《开垦心智层》两章,系统解释了开源软件是如何生产的,开源开发的优势在哪,开源软...| 夜天之书
本文部分启发自在 ALC Beijing 录制播客时讨论的内容,仅引用我个人的观点。播客内容应该近期会在前面链接的网站上发布。 《开放式组织》这本书单看它本身,讲的是红帽公司的组织管理经验。这是一个将商业价值建立在开源项目之上的公司审视公司内部的组织形式的著作,并且主要关注在红帽这个案例上。这样,不管是在经验的普遍性上,还是在开放式组织这种形式跨越...| 夜天之书
近几年,国内开源项目捐赠到 Apache 软件基金会(ASF)的案例很有一些。几乎每个在进入孵化器和从孵化器当中毕业时发通稿的项目,都会选择在标题中加入“全票通过”的字样。 诚然,大部分项目在 ASF 孵化器中茁壮成长,实际上投票结果也是没有反对票,使用这一标题无可非议。然而,对于把同侪社群(Community of Peers)作为社群核心价值之一的 ASF 来说,追求全票通过并...| 夜天之书
分布式系统的开发者知道,不同于本地方法调用总是被执行,要么成功要么失败,分布式系统之间各个组件的远程调用还存在第三种可能,那就是超时。 从消息发送者的角度看来,超时意味着没有确认信息返回。但是当前调用对应的一系列操作到底是已经成功,只是回复丢失,还是其中某些失败某些成功,或者全部失败,甚至是请求本身没发出去,这些情况一概无法断言。 ...| 夜天之书
CommunityOverCode Asia 2024 于 7 月 26 日到 28 日在杭州举行。其前身是 Apache 软件基金会一年一度的 ApacheCon 活动,通常会在多地分别举办。今年已经举行的是本次亚洲大会,以及 6 月在斯洛伐克举行的欧洲大会。10 月,北美大会将在丹佛举行,我也会在北美的会议上分享两个主题: Mobilize Your Community Army: A Co| 夜天之书
6 月 24 日,我在北美湾区参与了一场线下的 Apache DataFusion 聚会活动。 其实我是 6 月 21 日才到的旧金山,6 月 18 日才发现湾区有这样一场线下活动。不过或许得益于我在今年在 DataFusion 做过几次贡献,GreptimeDB 是 DataFusion 在行业顶级的应用标杆,会议组织方很干脆的就增加了一个 Speaker 席位,让我能够做在聚会上做题为《Boo| 夜天之书
随着开源概念的红火,越来越多的企业将内部项目公开托管到 GitHub 等平台,也有越来越多依托开源项目建立起来的企业。对于这些企业来说,它们的目标不只是开放项目源代码,更希望能够形成开源共同体,打造围绕项目的软件生态。 然而,其中大部分项目由于成员背景的单一性,最终都终结于仅源码可得的形态。对于这些新兴项目来说,初始成员从属于同一企业是既定...| 夜天之书