写点什么

没见过这么荒谬的开源要求!20 多年老牌软件仅开源一个月就删除了全部代码

  • 2024-10-18
    北京
  • 本文字数:3536 字

    阅读完需:约 12 分钟

大小:1.52M时长:08:52
没见过这么荒谬的开源要求!20多年老牌软件仅开源一个月就删除了全部代码

在将源代码上传至 GitHub 仅一个月后,WinAmp 的所有方突然删除了整个 repo。其中相当一部分源代码恐怕并非由其贡献,但同样“惨遭毒手”。

 

此前,Winamp 播放器兑现了今年 5 月的承诺,于 2024 年 9 月 24 日正式在 GitHub 上发布了 Windows 版本的源代码。该源代码主要用 C++ 编写,并附带有关于库依赖项和构建工具的信息。一经开源便在 GitHub 上引发了强烈的社区反响,在短时间内获得了数千次 fork。

 

但如今,整个仓库已彻底消失。

 

时代变了,老牌软件想借“开源”的力量寻求新生

 

Winamp,这款诞生于 1997 年的媒体播放器,在 MP3 风靡的年代迅速走红,对于 40 岁左右的程序员来说,它一定不陌生。

 


Winamp 以简单易用、功能强大著称,可定制的界面、丰富的音频格式支持、炫酷的视觉效果和皮肤系统深受用户喜爱。此外,Winamp 还支持在线收听广播和播客,为用户提供了更多选择。

 

然而,随着 Nullsoft 被 AOL 收购,Winamp 的开发逐渐停滞,并于 2013 年正式停产。这一消息让众多忠实用户感到惋惜。

 

在 Winamp 即将关闭之际,澳大利亚墨尔本的开发者 Peter Zawacki 发起了一场声势浩大的请愿活动。他呼吁 AOL 能够继续开发 Winamp,或者将它的源代码开源,让广大开发者接力维护。Zawacki 在请愿书中写道:“Winamp 是有史以来最好的媒体播放器,没有任何一款软件能完全取代它。”

 

为了挽救 Winamp,许多程序员自发加入了这场请愿活动。他们希望能够让 Winamp 继续存在,并将其交到热爱它的用户手中。然而,AOL 对此一直保持沉默,没有给出任何回应。这不禁让人感到失望。

 

2014 年,Radionomy 接手了 Winamp 项目,试图重振这款经典播放器,但无奈市场风向已变,音乐流媒体服务逐渐占据了主流。已经过时的不光是以点对点的形式下载 MP3,还包括 WinAmp 的 Web 版播放器和配套的移动版应用。而且 Winamp 的开发一直断断续续,重大更新也很少。 

 

2023 年,WinAmp 的所有方 Llama Group 重新推出了这款曾备受推崇的 Windows 媒体播放器。

 


Winamp 5.9 Final

 

此时,他们终于想起来还有“开源”这一回事儿了: 2024 年 5 月,他们宣布 Llama 将在当年晚些时候发布项目源代码。之后依照承诺于 9 月完成了源代码发布,同时开源的还有旗下多款其他产品。

 

GitHub 页面写道:“它的开发速度减慢了,但现在,它的源代码对社区开放,允许开发人员改进和现代化播放器以满足当前用户的需求。”

 

在此之前,Llama Group 还曾发布了另一项声明,其中详细介绍了对 Winamp 的“重新构想”,将其重新定位为创作者的音乐流媒体平台,但这一举措似乎没有取得很好的效果,考虑到在同一领域有 Spotify 和 Apple Music 等巨头竞争对手,这并不奇怪。

 

开放代码,但不开源

 

不过在此番将代码仓库删除之前,整个源代码发布过程并不顺利。初始版本附有自定义的许可证,即 WinAmp 协作许可证(WCL)的 1.0 版本,其中包含以下条件:

 

  • 不得分发修改版本:您不得以源代码或二进制形式分发修改版本的软件。

  • 不得分叉:您不得创建、维护或分发软件的分叉版本。

  • 官方分发:只有官方仓库的维护者才被允许分发软件及其修改版本。

 

而且,其他项目也不能使用 Winamp 名称。任何发布 Winamp 修改版本的人都可能面临 Llama Group 的法律行动。Winamp 的首席执行官 Alexandre Saboundjian 明确表示:“Winamp 将保持对软件的所有权,并将决定官方版本的创新内容。”

 

以 Mozilla Firefox 为例,它对商标的保护与 Winamp 类似,但对代码的开放程度更高。Firefox 的代码基于较为宽松的 Mozilla 公共许可证,开发者可以自由地创建修改版本。不过,为了保护品牌形象,他们不能将修改后的版本称为“Firefox”。正因如此,Debian Linux 上的 Firefox 曾被改名为“Iceweasel”。

 

对比 Mozilla,Llama Group 不仅不允许人们在其他项目中使用 Winamp 名称或 Winamp 代码,并且它保留对贡献给核心项目的任何工作的完全所有权。部分 GitHub 用户很快指出(包含在代码仓库的评论当中,如今也被一并删除),上述要求有违 GitHub 服务条款。Hackaday 网站也提到,这样的协议要求表明其并不是真正的开源,Llama Group 的目的仅仅是为了免费获取开发资源,以维护自己的 Winamp 应用程序。

 

最初参与项目的联合开发者 Justin Frankel 同样对此表达了质疑态度:“哪怕我对项目还有点想法,也会被许可条款给扼杀掉。这么荒谬的开源要求我还是第一次见。”

 

开放源代码不等于开源,尽管他们似乎在努力用“开放源代码(opening up its source code)”等短语来暗示这一点。技术分析师 Steven J. Vaughan-Nichols 指出,这可能是一种开放清洗(Open washing)的“伪开源”行为。之所以这样做,是因为如今“开源”对开发者和买家来说都很有吸引力。此外,在欧盟,被认为是开源的软件可以利用最近通过的《网络韧性法案》(CRA),该法案保护开源开发免受繁重的法规约束。

 

很难讲这份“禁令”到底能不能执行到位。另外,上传的源代码中还掺杂一些 GPL 2 的源代码,也让 WCL 做出的开放性限制变得毫无意义。

源代码发布也是一团糟

 

以 WinAmp 协作许可证(WCL)“开源”的 1.0 版本仅适用于 Windows 版本。Mac、Android 和 iOS 版本将继续保持完全的专有性质。虽然源代码附带编译信息,但需要特定版本的 Visual Studio 2019 才能构建。

 

代码仓库里还有其他好东西,有些甚至有着共同的传承。例如,WinAmp 的原作者 Nullsoft 还开发过其他工具,比如早期音频流媒体服务 Shoutcast,其最终成为 AOL 中的一部分。

 

GitHub 上公布的 WinAmp 源代码还包括 Shoutcast 分布式网站音频服务器(DNAS)的服务器代码副本。

 

在我们看来,该公司应该不是故意要分享这些代码的,毕竟 Llama Group 并不具备发布权。作为 Radionomy 的一部分,该公司已经在 2022 年连带业务将其出售给了 Azerion。尽管之前也曾尝试删除,但最终发现不太可行,因此只能作罢(信源来自项目评论,但现在也已被删除)。

 

仓库中还有一些英特尔和微软的源代码,且在删除之前就已经注明。总而言之,WinAmp 开源项目其实相当杂乱,堪称是软件领域的潘多拉魔盒。而且跟魔盒一样,一旦开启就无法被再次关闭。

 


该公司在动手删除前对此作出了回应,在 1.0.1 版本中对 WCL 加以修改,调整为允许分叉但阻止分发修改之后的版本。由于 WinAmp 许可证已被修改为允许分叉,因此该代码在短时间内就被分叉了好几千次。

 

秉持着“黑粉也是粉”的原则,WinAmp 此番开源虽然搞得不太漂亮,但至少还是为这款老旧的 Windows 应用程序吸引到了大量新关注。

 

不过从实用主义的角度来看,许可证中的诸多限制导致项目开源缺乏现实意义。作为一个典型案例,这也说明了为什么开源运动声势浩大,但仍有不少企业拒绝加入。毕竟面向大众市场的传统专有软件项目往往会包含来自其他厂商的大量代码成果,而且多数是为了实现互操作性。清理代码仓库以实现开源发布是一项相当艰巨的任务,而且要把代码交给别人之后,项目本身对公司很可能不再有任何商业价值。既然如此,又何必花大价钱耗费员工精力来清理原有代码呢?

 

而如果老员工们不再参与,那情况只会更糟。之前提到的联合开发者 Frankel 还创建了文件共享应用程序 Gnutella,并早在 20 多年前就离开了公司。他随后成立了 Cockos,并打造出 Reaper 数字音频工作站。

 

总而言之,这是个没有简单答案的问题。也许一部分捐者可以为程序员们提供法律赔偿,也许会有程序员愿意自愿提供清理服务,包括甄别并处理那些可能引发法律纠纷的代码内容。

 

总之 WinAmp 的开源之旅值得大家关注和学习,可能这些代码所有者对“开源”的真正含义缺乏一些理解,从他们并不完全开放的许可协议以及种种代码泄露事件就可以看出来。他们最终放弃了“不允许分叉”的规定,但显然没有预料到会引发如此强烈的反应。这不禁让人怀疑,这是否是出于商业目的的一次炒作?或者,他们只是对开源的理解存在偏差?无论如何,这个事件为我们提供了一个观察开源生态的有趣案例。

 

参考链接:

https://www.howtogeek.com/winamp-source-code-release/

https://www.theregister.com/2024/10/16/opensourcing_of_winamp_goes_badly/

https://www.theregister.com/2013/11/26/petition_to_save_winamp/

https://hackaday.com/2024/09/24/winamp-releases-source-code-but-is-it-really-open/

https://www.xda-developers.com/winamp-source-code-available-open-source/

https://www.zdnet.com/home-and-office/home-entertainment/winamp-is-not-going-open-source-heres-what-it-is-doing-and-why/

https://hackaday.com/2024/09/24/winamp-releases-source-code-but-is-it-really-open/

https://www.bleepingcomputer.com/news/software/winamp-releases-source-code-asks-for-help-modernizing-the-player/

https://opensourcewatch.beehiiv.com/p/winamp-opens-its-code-but-it-doesn-t-open-source-its-code

 

2024-10-18 10:0010071

评论

发布
暂无评论
发现更多内容

BSC链近况及解读:BSC链代币DApp开发详解

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 交易所开发代币开发

5分钟搞懂 Golang 堆内存

俞凡

golang

苹果电脑SVN管理工具:Cornerstone 4 for Mac 免激活版

你的猪会飞吗

cornerstone 4破解 cornerstone 4 破解版 cornerstone 4许可 cornerstone 4下载

性能全面跃级,成本大幅降低!双十一企业云服务就选华为云Flexus X实例

YG科技

国科云:SSL证书配置过程中常见问题盘点

国科云

Python中哪个框架最适合做API?

科普小能手

API Python框架 Python开发 pyton API 接口

One Switch for Mac(系统功能快速开关工具)

Mac相关知识分享

在华为开发者空间,简单几步带你实现AI风格化编程

华为云开发者联盟

云主机 华为云ModelArts FunctionGraph AI 大底座

区块链智能合约开发:全面解析与实践指南

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

NTFS Disk by Omi NTFS for mac(NTFS 磁盘管理器)

Mac相关知识分享

Mysql篇-三大日志

EquatorCoco

MySQL 数据库

双十一首款柔性算力云服务器亮相全新亮相!华为云Fleus X 实例到底有多强?

YG科技

双十一降本增效新路径!华为云Flexus X实例为中小企业注入“硬核”动力

YG科技

9大行业伙伴携手并行,1.5万余个行业应用启动鸿蒙化开发

最新动态

大模型推荐系统如何高效预训练和推理

博文视点Broadview

课程质量评估系统(源码+文档+部署+讲解)

深圳亥时科技

OmniGraffle for mac(思维导图软件)中文版

Mac相关知识分享

搭乘“数字快车”!双十一华为云Flexus云服务器X实例助力轻松上云

YG科技

Java灵魂拷问13个为什么,你都会哪些?

不在线第一只蜗牛

Java Python

Project Office X Pro for Mac专业的项目管理软件

Mac相关知识分享

一夜之间,内容行业和大模型行业被这个All in One产品改变了

脑极体

AI

SEO-AI内容生成策略

Quincy

CMS SEO SEO优化 AI 基础设施

远程踏勘系统(源码+文档+部署+讲解)

深圳亥时科技

快递鸟快递查询API接口参数代码

快递鸟

快递

论云游戏的性能与性价比,ToDesk、青椒云、顺网云游戏等具体实操看这篇就够了

小喵子

云桌面 云电脑 云游戏 ToDesk

性能越级、体验超群!双十一企业云服务首选华为云 Flexus X实例

YG科技

ppt结尾页怎么设计?推荐12个高颜值ppt结束页模板!

职场工具箱

效率工具 职场 PPT 办公软件 AI生成PPT

无代码技术怎么兴起的?它对企业数字化转型有什么用处?

积木链小链

技术分享 无代码 无代码平台

《Django 5 By Example》阅读笔记:p76-p104

codists

Python django

CDN海外加速对国际服务器的效果如何?

Ogcloud

CDN 网络加速 CDN加速 海外网络加速 CDN网络加速

双十一轻松跨越数字鸿沟!华为云Flexus X实例引领中小企业低成本上云

YG科技

没见过这么荒谬的开源要求!20多年老牌软件仅开源一个月就删除了全部代码_开源_Tina_InfoQ精选文章