去年有个朋友想转行做数据工作,找我推荐编程书。我先问他预算,他说先看看免费的。结果这一看就是一下午——搜「Python 入门」,跳出来的前几页全是训练营广告和九块九引流课;好不容易搜到几个真免费的教程链接,点进去一半已经打不开了,网站改版的改版、转付费的转付费。他跟我说了句话我记到现在:免费的资源不是没有,是没人管,散在地上捡不起来。

今天这个项目,就是干「捡起来」这件事的。据榜单抓取数据(2026 年 10 月 19 日上午),它叫 free-programming-books,在 GitHub 全站总星数榜上排第 5 名,399,487 颗星,66,949 人 fork 过。fork 我照旧解释一下:把它的东西复制一份自己留着用,这个数越大,说明觉得它有用的人越多。2013 年 10 月建仓,到今年整整 13 年,抓取当天早上还在更新。这个榜前 4 名里 freeCodeCamp 我前几天写过导读,剩下 3 名全是「清单」性质,今天这份是清单里的清单——它自己不存一本书,管的是「全世界的免费编程资源在哪」。

先说它是啥。它由一个叫 Free Ebook Foundation 的非营利组织维护,按官方介绍,这个组织专门推动免费电子书的创作、分发和长期保存,捐赠在美国还能抵税。整个仓库其实就是一堆整理好的清单,官方给它配了两个网站:一个静态阅读版,一个带搜索框的动态搜索站,不用会 git 也能直接用。

里面到底有什么?按项目 GitHub 页的介绍,主页只是目录,真正的条目分散在 119 个子文件里,我按类给你数一遍。书籍类 45 个文件,英语的按编程语言和按主题分成两份,另外还有阿拉伯语、日语、西班牙语等 40 多种语言版本,中文书单独占一份。免费在线课程 40 个文件,同样是多语言的。播客和屏幕录像 21 个文件——屏幕录像就是有人把操作过程录下来给你跟着看。还有 10 个文件的杂项:速查表(把常用命令印成一页纸的东西)、在线演练场(浏览器里直接写代码运行,不用装环境)、习题集和竞赛题、交互式教程。剩下 3 个是贡献指南类的文档。

它解决什么麻烦?你把前面那个场景再想一遍。学编程的资料市场上,一头是几千上万的付费课,一头是散落全网、随时失联的免费资源。免费的不是质量差,是没人愿意长期干「收集、校验、归类」这种吃力不讨好的活——一个链接挂了,得有人发现它、补上它,13 年如一日。这份清单就是那个「有人」:它把散落的东西按语言和主题登记成一张可检索的大表,你想要的入门书、进阶书、练手题,顺着分类走就行。省下的不只是书钱,是把一下午搜出四个死链的时间。

不过有几件事得先说明白,免得期望错位。其一,它只是目录,仓库里一本书都没存,条目全是指向外部网站的超链接,免费资源死链率天然高,官方靠自动化工具定期扫,但扫得到不等于你点的时候还活着——拿它当正式学习资料前,自己先点一遍确认。其二,中文只是一份子文件,英文两册才是主体,完全不看英文的话,可选项会缩水不少。其三,不少免费书托管在境外站点,国内访问快慢不一,先试试再定。其四,条目没有难度分级,入门书和经典大部头混在一起,得自己挑。其五,许可协议是 CC BY 4.0,翻译过来就是:清单内容拿去做讲义、写文章甚至商用都行,但必须注明来源,不能假装是自己整理的。

再说 AI 能帮上什么忙。这东西本身不用安装,打开网站就能用,AI 的价值在旁边。头一件,把整个书单丢给豆包、Kimi 这类 AI 助手,说清你的基础和目标,让它直接从清单里帮你挑:比如「我只会中文,零基础,想学 Python 做数据处理,从中文书单里挑三本,告诉我先看哪本」——这比你自己从头翻几百个条目快得多。第二件,按官方说法它没有学习顺序,让 AI 把挑出来的书排个先后,每周看多少,卡住了拿报错去问 AI。第三件,碰到死链别急着放弃,把书名给 AI,让它帮你搜有没有新的存放地址,很多老书换了地方还在。至于 MCP(让 AI 直接调用外部工具的插座协议)和批量自动化玩法,官方文档里没有专门写,这块就到「当一份可检索的清单用」为止。

项目地址:github.com/EbookFoundation/free-programming-books。资料一直是免费的,缺的只是有人替你把它捡起来、码整齐。我先看明白了,你跟上。