2024 年 10 月,曾经在数字音频领域独领风骚的音乐播放软件 Winamp,突然宣布停止其开源化进程,并从 GitHub 上删除了此前公开的所有源代码。这一决定不仅在科技圈内引起了广泛讨论,同时也暴露了老旧软件在开源过程中可能遭遇的种种挑战。
作为 90 年代末到 2000 年代初最受欢迎的 MP3 播放工具之一,Winamp 凭借其高度定制化的皮肤系统和视觉化插件,成为了那个时代数字音乐文化的重要组成部分。尽管随着时间推移,流媒体服务逐渐成为主流,Winamp 的用户基础也随之缩减,但这款软件依然承载了许多人的美好回忆。
为了重振品牌,2023 年,Winamp 的现拥有者比利时 Llama Group SA 宣布将这款软件开源,旨在吸引社区贡献和支持。2024 年 9 月 24 日,Llama Group 如期在 GitHub 上发布了 Winamp 的“遗产播放器代码”。这一消息立刻吸引了大量开发者和爱好者的关注。
起初,Winamp 的源码发布得到了热烈响应。然而,这种喜悦之情并没有维持太久,因为很快人们就发现了一系列的问题。最引人注目的是 Winamp 所使用的“Winamp 协作许可证(WCL)Version 1.0”,其中明确规定不允许任何用户创建、维护或分发软件的分支版本。这种规定显然违背了开源的核心原则,即自由分享和改进代码的能力。对此,Winamp 的一位创始开发者 Justin Frankel 公开表示,这样的许可证条款“非常不合理”。
面对外界批评,Llama Group 迅速作出回应,更新了许可证条款为 WCL 1.0.1 版本。新版本虽然允许创建分支,但仍禁止分发修改后的代码。尽管如此,这一调整并没有解决根本问题 – 开发者可以查看 Winamp 的源码,却无法基于现有代码开发新产品。
除此之外,更严重的是,Winamp 的源码中还包含了不属于 Llama Group 的第三方代码,例如 Shoutcast DNAS 的服务器代码。Shoutcast 是由 Nullsoft 创建的一个流媒体平台,在 2022 年已经被 Llama Group 出售给 Azerion,这意味着 Llama Group 已经无权公开这些代码。另外,Winamp 的源码中还出现了 Intel 和 Microsoft 的专有代码片段,这无疑进一步加剧了版权争议的风险。
随着上述问题被曝光,技术新闻网站 The Register 联系了 Llama Group 进行质询。几乎在同一时间,Llama Group 决定从 GitHub 上彻底删除 Winamp 的所有相关代码,仅一个月的时间,Winamp 的开源之路就戛然而止。
此次事件反映了将历史悠久的软件开源化时所面临的复杂情况。对于像 Winamp 这样的老软件而言,多年积累下来的代码中掺杂了大量的第三方组件,理清这些代码的权利归属,并妥善处理相关的授权事宜是一项艰巨的任务。此外,由于许多最初的开发者早已离开,找到能够准确理解这些代码细节的人才变得越来越难。
更重要的是,如果没有足够的经济动机,企业往往不愿意投入大量资源来清理和准备这些旧代码以供开源使用。结果,在缺乏周密计划的情况下,仓促的开源行动可能会导致一系列未预见的问题,正如 Winamp 的案例所示。