软件也会死:开源软件停更、App 下架之后,许可证为什么像一份遗嘱
停更、下架、变质,是软件的三种「死法」。在 F-Droid 这类只收开源软件的生态里,许可证决定了一款软件死后还有没有人能接手。
停更、下架、变质,是软件的三种「死法」。在 F-Droid 这类只收开源软件的生态里,许可证决定了一款软件死后还有没有人能接手。
发布于 2026-09-08
能用,但只有两种结局:已经装上的还能打开,直到某次系统升级把它淘汰;换手机就基本装不回来了。真正致命的不是用不了,而是数据带不走。
用了三年的 App,某天打开只剩一句"该服务已停止"。你翻遍商店,答案是:开发者不做了。你什么都做不了——除非它是开源软件,比如在 F-Droid 上能找到的那些。
这就是今天想聊的事:软件是会死的。
更准确地说,你手机里的每一个 App,都不是"买"来的,而是"租"来的。对方可以随时单方面终止租约,还不用赔你一分钱。区别只在于:有的软件死的时候,你还能自己爬起来;有的不能。
而这个区别,早在软件出生那天,就被一份叫"许可证"的文件写死了。
大部分人对软件死亡的印象停留在"作者不更新了"。但那只是最温和的一种。
自然死亡。App 还在手机里,图标还能点开,但它依赖的外部世界变了,作者不打算再跟着改。
有一款日记应用的开发者,在商店页面留下过这样一段话:
"随着系统、云端服务和同步方式不断变化更新,我们再也没法让这个老应用继续正常工作了。"
这句话不是在说"出了 bug,正在修"。系统升级了,云端接口和同步方式也跟着换了,继续维护它的成本已经超过收益,而这个病治不好。
这类死亡最阴险的地方是它看起来还活着。你今天能用,明天能用,直到某天系统一升级,它彻底打不开——而你三年的日记还锁在里面。
被迫死亡,也是普通人最常撞上的一种。商店里搜不到了,购买记录可能也被清掉。你去第三方网站找旧安装包,本质上是赌运气:赌这个文件跟当年原版的一模一样,没被动过手脚。而你没有任何办法验证。(从哪下载软件才安全,我们在常见问题里单独讲过。)
同一款软件,在旧手机上还活着,在新手机上已经"从未存在过"。
第三种最难受,因为它在你手机里活得好好的,只是背叛了你:被收购之后加广告、加数据采集,或者把买断改成订阅、把你天天用的那个功能砍掉。公司还是那家公司,图标还是那个图标,但你们之间的默契单方面作废了。
| 死法 | 闭源软件:你能做什么 | 开源软件:你能做什么 |
|---|---|---|
| 停更(慢慢烂) | 等作者回来,或者自己适应它一天比一天难用 | 别人可以拿源码接着修;你也能退回能用的旧版本 |
| 下架(装不回来) | 换手机就彻底没了;只能去第三方站赌安装包干净 | 源码和构建方式都在公开仓库里,谁都能重新编译(也就是把源码变成能装的安装包)再分发 |
| 变质(不是它了) | 忍着,或者走人;数据未必带得走 | 数据格式开放可以先搬走;看不惯的改动可以被另起一份 |
能,但取决于两件事:源码是不是公开的、许可证允不允许别人接手改。两条都满足,软件死了还有人能救;少一条,你只能等。
所以真正致命的,往往不是"用不了",而是"数据带不走"。
一句话:你拿到的是成品,不是配方。
装进手机的那个安装包是一盘炒好的菜,源代码才是配方。没有配方,菜凉了你热不了,咸了你兑不了水,想换个厨师重做更是无从下手。
具体到你身上,是四件事都做不到:修不了(只有原作者手里有能改的东西)、改不了(加广告砍功能,你只能接受或离开)、搬不了(数据锁在私有格式和自家服务器里)、接手不了(你想自己做下去,法律上就不允许)。
作者消失之后,你唯一的救济是"等"。
这里必须说句公道话:这不是在指责开发者。 独立开发者停更、转行、精力耗尽都是常态,甚至是大多数小软件的必然结局。人家没有义务养你一辈子。
问题不在人,在结构:在这个结构里,你没有任何退路,把三年的记录和数据交给了一个随时可能消失的陌生人,而合同里没写"如果他跑了你怎么办"。
开源做的事情,就是把这条退路提前写进规则里。
它相当于软件提前写好的遗嘱,核心三条:代码公开、允许修改、允许再分发。合起来就是——作者不在了,任何人都能合法接手,不用征求谁同意。
一份开源许可证(作者公开发布的授权书),核心就三条:代码要公开,别人可以改,改完还能再发出去。
三条合起来意思很直接:作者不在了,任何人都可以合法接手,不用征求谁的同意。而且这份授权是有法律效力的。
就是把源码完整复制一份,换个人接着往下做,并起新的名字和包名。许可证已经提前授权了这件事,不需要原作者点头,也不用等他消失。
时间线值得一个字不差地看:
请注意这个时间点:分叉发生在项目宣布停更之前一年。
这是全文最关键的一个细节。很多人以为那个新版本是原项目停更以后才出现的替代品,其实刚好相反——社区是预见它会死,提前一年接的手。许可证让这件事能发生在最不坏的时机:不必等人家关门那天才抢救,苗头不对时就能合法另起一份继续走。
安卓上一款知名的开源密码管理器,原作者后来停更了。今天很多人在用的那个版本,项目说明里写得明明白白,第一句就是"本项目是某个早期项目的一个分叉"。
换句话说,你在开源软件推荐里看到的这类密码管理工具,本身就是一次继承的产物。它今天还在更新,不是因为原作者回来了,而是因为许可证允许别人接手。
有一款点对点的文件同步工具,项目安卓客户端已经停止维护:代码仓库被归档,最后一个版本停在 2024 年 12 月,项目站点下载页也不再提供安卓入口。
然后社区里有人接了过去,出现了持续更新的分叉版本。
一款日常在用的同步工具就这样真实地"死"过一次,又被社区救了回来。这类文件同步与传输工具在开源生态里并不少见。
当然,接手的过程不保证平顺。开源不是保证不出事,而是出事的时候大家看得见,并且有得选。
它们都不是靠某个人的善意发生的,是靠许可证提前写好的规则发生的。 没有人需要去求持有方别关、求原作者回来、等项目回心转意。许可证早就说了:你可以接。所以他们就直接接了。
三步:先看有没有人分叉(fork)接手;其次退回上一个还能用的旧版本;最后把数据导成 Markdown、.kdbx 这类开放格式搬走。
先把话说在前面:我们不谈意识形态。"开源改变了世界"这类话,对只想找个能用的 App 的人来说毫无意义。开源对你真正的好处,是四件可以立刻验证的事。
1. 老手机还能装到旧版本。 开源项目通常有公开的版本历史,新版本在你的旧机器上跑不动,还能退回上一个能用的,而不是"最新版,装不上拉倒"。
2. 数据格式开放,你能带着走。 这是最实用的一条。Markdown 笔记、.kdbx 密码库、.ics 日历文件都是公开格式,换任何同类软件都能读。相比之下,把三年笔记锁在某家公司的私有格式和自家服务器上,才是真正的定时炸弹。
3. 作者消失后不会立刻变成砖头。 只要源码还在,它就还能被重新编译出来,不会从世界上被彻底抹掉。
4. 有人能接手修,而且不需要原作者同意。 前面三个案例讲的就是这件事,这也是闭源软件做不到的。
2019 年一项针对 1,932 个热门开源项目的实证研究(ESEM 2019)发现,315 个(约 16%)经历过核心开发者离开、项目被放弃。而在这些被放弃的项目里,只有 128 个(约 41%)因为新的核心开发者接手而活了下来。
也就是说,六个开源项目里就有一个会"没人管",而没人管的项目里,能等到接盘侠的还不到一半。
所以开源不是给软件买了保险,是给你留了一把钥匙。钥匙不等于有人会来开门,但至少门是能被打开的。
前提:它的项目收录政策要求,仓库里的所有应用都必须是开源软件(FLOSS,比如 GPL、Apache 这类许可证),并尽量从公开源码编译验证。这让每一款都天然具备"停更后仍可被继承"这个前提。具体机制可以看由项目从源码编译的机制,这里不展开;还不认识它的话,可以先看认识 F-Droid。
除此之外,还有三个跟"软件死亡"直接相关的机制。
机制一:分叉是被允许、被登记的。 项目政策写得很清楚:分叉应用必须使用新的应用 ID,包名、图标、名字都得换掉。项目周报里那段问答更直白——有人问"我能不能 fork 一个停更的应用继续做",回答是:这是好事;原作者同意就直接更新原应用,不同意就做一个真正的分叉,我们把它当新应用收录。
软件死了有人接手,在这里不是灰色操作,是被写进流程的正常动作。
机制二:停更的应用不会被直接抹掉。 它有项目归档仓库保存旧版本(归档就是从主列表里移出去,文件还留着),需要时仍能安装。项目同时提醒:归档应用可能随系统升级失效,也可能带着未修补的漏洞,日常使用建议关闭归档。
机制三:它会主动清退停更的应用。 2024 年 9 月的一次集中审查中,一次性把 316 款长期未更新的应用移入归档(当周共 571 款应用有变动)。整理名单时,贡献者写下了一段有些伤感的话:让人难过的不只是开发者放手,还有译者投入的时间、用户测试和报告 bug 的精力、贡献者在收录和更新上的帮忙。
一款软件死掉,从来不是一个人的事。
最后说句公道话:F-Droid 不是长生不老药。 它也会下架应用,也会归档,上面的软件同样会停更、会烂掉。它的价值不在于让软件不死(这世上没人做得到),而在于把死亡这件事摆到台面上:闭源软件常常是某天悄无声息地就不见了,而在这里,谁都能看见它什么时候开始不更新、有没有人在讨论接手,你也有时间在被移走之前做打算。
这里做个明确的区分:本站怎么挑适合自己的开源软件那一页讲过"看维护活跃度"。这两件事不一样。
活跃度回答的是"现在好不好用",可持续性回答的是"它死了以后我怎么办"。只看前者,你很容易选到一款今天很火、更新很勤、但明天无人能接手的应用,因为它可能压根没写许可证,或者数据全锁在自家服务器上。
装之前看四件事:许可证写清楚了吗、数据能导出吗、有没有被人接手过、除了原作者还有几个人在维护。最后一条叫巴士系数,系数为 1 就很危险。
| 挑软件时该问的问题 | 为什么重要 | 怎么判断 |
|---|---|---|
| 1. 许可证写清楚了吗? | 没写许可证,等于源码看得见、法律上却谁也不能接手,就像没留遗嘱 | 它的每个应用页面都标明了许可证 |
| 2. 数据能导出吗? | 软件死了,数据能带走才算没白用 | 看有没有"导出"按钮,导出的是不是 Markdown、.kdbx、.ics 这类开放格式 |
| 3. 它被人接手过吗? | 被接手过的项目,说明"死一次还能活"在它身上被验证过 | 看介绍里有没有"本项目是某某项目的分叉" |
| 4. 除了原作者还有几个人在? | 只有一个人维护,等于他一撒手就结束 | 看提交记录里是不是只有一个人的名字 |
第四条有个通俗说法叫"巴士系数":这个项目需要几个人被巴士撞了才会完蛋?系数是 1,就意味着一个人出意外,项目就没了。
这四个问题不需要你懂技术,只需要在点安装之前多瞄一眼。而这一眼,可能省掉你三年后的那句"什么都做不了"。
这样的事已经发生过,而且还在发生。一套办公套件在 2010 年被社区提前接手,一款密码管理器停更后由分叉延续,一款同步工具的安卓端在 2024 年底停更后同样被社区接了过去。
如果你想知道"哪些软件在死后还有人能接手",一个省事的起点是 F-Droid 中文指南 里介绍的这个只收开源软件的生态:上面每一款至少都具备"停更后仍可被继承"这个前提。你不必先学会看许可证再开始挑,先从这个池子里挑,就已经绕过了最大的那个坑。
剩下的,就是上面那四问清单。