欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Redis 回归开源:AGPLv3 许可下的新篇章

1970/1/1编程开发

Redis 再次回归开源,采用 AGPLv3 许可证,标志着一个重要转折。

五个月前,我重新加入 Redis(编者注:作者 antirez 即 Salvatore Sanfilippo,Redis 原创造者),并迅速与同事们讨论是否可能转向 AGPL 许可证。令我惊讶的是,公司内部早已存在相关讨论,而且由来已久。许多人认为 AGPL 比 SSPL 更合适,尽管最终 Redis 切换到了 SSPL,但内部争论从未停止。我尝试为支持 AGPL 的阵营注入更多力量。我的感觉是,SSPL 在实际中未能被社区接受:OSI(开放源码促进会)不会批准它,软件社区也不会将 SSPL 视为真正的开源许可证。很快,我发现这一假设在公司各级中获得了越来越多的支持。

说实话,我真心希望我为新的 Vector Sets 数据类型编写的代码能在开源许可证下发布。编写开源软件已经深深植根于我:在我的职业生涯中,我很少写其他类型的代码。我太老了,现在无法改变。这可能显得有些孩子气,但正是因为我深知 Redis(以及我的新工作)将再次开源,我怀着巨大的热情编写了 Vector Sets。我理解我们工作的核心是改进 Redis,持续构建一个优秀、实用、简单、能够随软件栈需求演变的系统。然而,回归开源许可是这些努力与 Redis 项目保持一致、被用户群体接受,并为超越任何单一公司的人类集体事业做出贡献的基础。

因此,虽然我不能将这次许可变更归功于自己,但我希望我为此做出了一点贡献,因为今天我很开心。Redis 在 AGPLv3 条款下再次成为开源软件,我为此感到高兴。现在,是时候回到终端前,以我所能写出最好的代码来尊重 Redis 用户,并让 Vector Sets 更加实用:我还有一些改进的想法,希望更多想法能够在你们的反馈中涌现(这已经发生了)。祝编码愉快!

附注:Redis 8,第一个采用新许可证的版本,今天也正式发布(GA),包含许多新特性和核心性能提升:https://redis.io/blog/redis-8-ga/ 你还可以在此阅读 Redis CEO 的博客文章:https://redis.io/blog/agplv3/

背景与深度解析

开源许可证的演变:从 BSD 到 SSPL 再到 AGPL

Redis 长期以来一直以 BSD 许可证发布,这是最宽松的开源许可证之一,允许任何人自由使用、修改和分发,甚至用于闭源商业产品。然而,随着云计算的兴起,云厂商(如 AWS)直接托管 Redis 并提供托管服务,却不向社区回馈代码或贡献,这引发了 Redis Labs(现为 Redis Inc.)的担忧。

为了应对这一挑战,Redis 最初在 2018 年引入了 Commons Clause,后来在 2019 年宣布采用 SSPL(Server Side Public License,服务器端公共许可证)。SSPL 由 MongoDB 创建,其核心条款要求:如果你将程序作为公共服务提供给第三方,你必须开源所有使该服务运行的管理软件,包括但不限于用户界面、API、自动化软件等。这一条款远比 AGPL 严格,AGPL 只要求修改后的程序在网络上交互时公开源代码,而 SSPL 试图阻止云厂商利用开源代码构建托管服务而不回馈。

然而,SSPL 并未得到 OSI 的批准,许多开发者社区认为它不是开源许可证,因为它超出了“源代码”范畴,要求开放“服务”相关的所有代码。这导致了 Redis 在开源社区的信任度下降,也使得部分发行版(如 Fedora、Debian)将 Redis 的官方版本从默认仓库中移除。

为什么 AGPL 是更好的选择?

AGPL(Affero General Public License,Affero 通用公共许可证)是 GPLv3 的变种,由 Free Software Foundation 发布。它基于 GPLv3,但增加了一个额外的条款:如果用户通过网络使用修改后的程序(例如提供 SaaS 服务),则必须向用户提供对应源代码。AGPL 旨在填补 GPL 对网络服务的漏洞,同时保持与 GPL 相同的“传染性”原则,即要求任何修改或衍生作品都必须以相同许可证分发。

相对于 SSPL,AGPL 的“传染性”仅限于修改后的 Redis 程序本身,而不是整个服务端栈。这使得 AGPL 在技术上更容易被理解和接受,也更容易通过 OSI 认证。许多知名项目(如 Nextcloud、Grafana 某些组件)使用 AGPL,证明了其可行性。antirez 指出,SSPL 在实践上“未能被社区接受”,而 AGPL 则更易于恢复信任。

Vector Sets:新数据类型,开源热情的原动力

antirez 在文中多次提及 Vector Sets,这是他在回归 Redis 后开发的主要新功能之一。Vector Sets 结合了集合(Set)和向量(Vector)的特性,允许用户存储高维向量,并支持基于余弦相似度等度量标准的相似性搜索。这对于推荐系统、图像搜索、自然语言处理等 AI 应用至关重要,因为传统 Redis 数据结构并不原生支持高效的向量相似度计算。

antirez 坦言,他之所以在 Vector Sets 上投入巨大热情,正是因为知道它将以开源许可证发布。这表明,对于开发者而言,开源许可证不仅是法律约束,更是激励创新的心理契约。作为 Redis 的创始人,antirez 职业生涯中几乎全部贡献于开源,即使在商业驱动的公司中,他依然珍视开源带来的集体智慧与用户信任。

Redis 8:新许可证下的首个发布版本

根据附注,Redis 8 是首个在 AGPLv3 下发布的 GA 版本。关于 Redis 8 的细节,据官方博客透露,它带来了许多新特性,包括但不限于:* 性能提升:对核心数据结构(如哈希、列举)进行了大量优化,在某些基准测试中速度提升达 20%–40%。

  • 新命令:例如支持多字段分块写入的命令,减少了网络往返次数。
  • Vector Sets 进一步成熟:结合向量搜索与集合运算,支持更复杂的查询模式。
    然而,对于 Redis 8 之后是否继续采用 AGPL 还是考虑其他商业友好许可,官方并未承诺永久不变。实际上,Redis 的商业版本(Redis Stack 等)仍可能包含专有模块,但核心代码现在确保开源。

对开源生态的影响与启示

Redis 的这次许可切换,为开源世界提供重要先例:

  1. 社区力量 vs. 商业压力:Redis 的案例显示,即使商业公司希望在云服务获利,但在社区压力与开发者道义下,仍可能向更宽松的许可证回归。这验证了开源“回馈”的重要性,尤其是当技术领袖如 antirez 个人坚持开源理念时。
  2. 许可证选择需考虑生态兼容性:SSPL 的孤立性让 Redis 沦为“受争议”的开源项目,而 AGPL 作为 FSF 认可的许可证,更容易融入主流软件生态(如 Linux 发行版、云原生基金会的合规流程)。
  3. 开发者热情与代码质量的关系:开源许可不仅影响法律合规,更影响开发者热情。antirez 的坦白提醒我们,如果开发者内心不自由,很难产生高质量的代码。

当然,仍有疑问:AGPL 是否真的能阻止 AWS 等云厂商的“剥削”?实际上,AGPL 只要求云厂商在提供服务时公开修改后的代码,但如果未修改原始代码,他们并不需要开源相关管理工作。因此,AGPL 并非银弹,但至少恢复了用户对 Redis 作为“开源项目”的认知。对于 Redis 的长期发展,可能仍需探索更务实的开源+商业模式(例如开核、双许可证或开放核心,但必须界定清晰,避免误解。)。

结语与原文链接

antirez 的这篇博文不仅是一次许可证公告,更是对开源精神的礼赞。它提醒我们,无论商业风云如何变换,真正的开源代码来自那些相信自由软件能汇聚集体智慧的人们。如果你对 Redis 的内部决策和许可证之争感兴趣,建议阅读原文:

原文链接:Redis is open source again - antirez

以及相关博客:Redis 8 发布公告、CEO 关于 AGPLv3 的说明

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消