开源维护者的无声危机:为何60%的维护者正在考虑放弃
2022年1月9日,周末。全球无数开发者的终端突然开始疯狂输出乱码——每一个使用colors.js或faker.js的项目都中招了。这两个npm包每周下载量超过2000万次,被数以万计的企业级应用依赖。它们的维护者Marak Squires做了一件震惊社区的事:他故意在代码中植入无限循环,让所有使用这些库的应用崩溃。 ...
2022年1月9日,周末。全球无数开发者的终端突然开始疯狂输出乱码——每一个使用colors.js或faker.js的项目都中招了。这两个npm包每周下载量超过2000万次,被数以万计的企业级应用依赖。它们的维护者Marak Squires做了一件震惊社区的事:他故意在代码中植入无限循环,让所有使用这些库的应用崩溃。 ...
2026年2月,苏黎世联邦理工学院(ETH Zurich)的应用密码学研究组在USENIX Security会议上发表了一篇论文,标题措辞犀利:“Zero Knowledge (About) Encryption”——关于加密的零知识。这篇论文分析了三大云密码管理器,发现了25种攻击手法,其中大多数可以恢复存储的密码。 ...
2006年5月,SmartBear Software完成了一项为期10个月的研究。他们在Cisco Systems的MeetingPlace产品组跟踪了2500次代码评审,涉及320万行代码和50名开发者。这是有史以来规模最大的轻量级代码评审案例研究。 ...
1992年,Ward Cunningham在OOPSLA会议上做了一个经验报告。他当时正在开发一个金融应用,第一版代码写得比较仓促,他知道将来需要重写。为了向非技术的管理者解释为什么软件需要持续改进,他想到了一个比喻: ...
2012年6月30日,一次闰秒插入导致Reddit、LinkedIn等知名网站相继瘫痪。Linux内核处理闰秒时触发死锁,服务器CPU飙升至100%。这个事故揭示了一个被严重低估的问题:在分布式系统中,时间是最大的不确定性来源。 ...
2004年,一位名为Michael Feathers的软件工程师在《Working Effectively with Legacy Code》一书中写下了一个令人不安的定义:“遗留代码就是没有测试的代码。“这个定义的潜台词是:如果你不敢改,它就是遗留代码。 ...
2016年3月22日,一个名为left-pad的npm包被其作者从仓库中删除。这个只有11行代码的函数库,每周下载量仅数百次,却在接下来的几个小时里让全球数以万计的项目构建失败——包括Babel、React和Node.js的核心工具链。 ...