这家名为微软的公司运营着这个名为 NuGet 的软件包管理器,他们托管了一个 cURL 软件包……,…… 这个软件包一直在欺骗用户下载它,它已经过时、陈旧、满是漏洞,应该被移除,但我无法反馈此事或让他们对此采取什么行动。
这是 cURL 作者 Daniel Stenberg 近日发布的推文节选,直指微软不作为。
抱歉讲太快,现在让我们倒带 <<<<<<<<< 重新梳理一下故事的来龙去脉。
cURL 项目的作者 Daniel Stenberg 对项目的维护非常积极,经常使用 cURL 的用户应该也清楚它的大致更新周期。cURL 差不多每两个月就会发布一个版本更新,目前 cURL 的最新版本为今年二月中旬发布的 7.88。
但你可以想象到目前 NuGet 包管理器当中的 cURL 版本到底有多旧吗?5、4、3、2、1,答案是 cURL 7.30,最后一次更新时间还停留在 2013 年 6 月。
版本太老旧也不是 Daniel Stenberg 发布推文抨击微软的主要原因,最主要的原因在于 Daniel Stenberg 向 NuGet 反馈后,NuGet 一直没有帮助他解决这个问题。
Daniel Stenberg 表示,当他向 NuGet 报告了这个问题后,NuGet 以为 Daniel Stenberg 是在寻求支持,所以表示他们不对个别软件包提供支持,让 Daniel Stenberg 使用详细信息页面上的 “联系” 链接直接联系软件包的所有者(上传这个包的用户,NuGet 上的软件包是由志愿者构建和提供的,Daniel Stenberg 无法亲自提供更新或 “接管” 此软件包)。
NuGet 上的 cURL 的所有者叫 coapp,Daniel Stenberg 在尝试联系后,并没有得到任何回应。因此 Daniel Stenberg 就想着能不能以存在漏洞为由报告这个问题(由于版本太老,很多漏洞都是公开可查询到的),让他们从 NuGet 上删除这个包呢。但 NuGet 表示他们只接受微软产品的这种报告,对于其他非微软的软件包都需要联系软件包的所有者。
NuGet 不帮忙处理,所有者也联系不上,那么这件事情就陷入了死胡同,无奈之下 Daniel Stenberg 就发布了多条推文,公开了此事。
网友的力量还是强大的,在网友的帮助下经过几次 @,微软的开发者,也是领导 nuget.org 工程团队的负责人 Joel Verhagen 看到并回复了 Daniel Stenberg。
原来在 Daniel Stenberg 上报这个问题后,NuGet 团队就注意到了这个特殊情况,并与这个软件包的所有者取得了联系,目前这个所有者已经参与进来了。只不过 NuGet 在这个过程中都没有通知 Daniel Stenberg,并承认这是他们的失误,后续他们将通过电子邮件进行联系。
目前 NuGet 已经暂时撤下了 cURL,用户无法再搜索到 cURL,即便你知道项目详细的链接,现在访问 cURL 的页面也会展示明显的警告,让用户暂时不要使用 cURL。
暂时还不清楚他们是否会更新 cURL,也不清楚会在何时重新上架 NuGet。不过 cURL 并非个例,NuGet 中还有许多其他软件包也面临着类似的情况,NuGet 也需要改变现有的机制,总不能让每个软件包的真正作者都来 Twitter 上抱怨吧。
这篇文章中也说了 Nuget 也在联系 coapp。
怎么到你这总是故意曲解别人的意思。
对有漏洞的包,在页面显眼位置提示并通知上传者及时更新。
对长时间不维护、不更新的包,做标记并提示使用者。
提前对知名项目名进行保留。
但擅自删除用户数据,却是大忌。
我也说了 Daniel Stenberg 觉得该版本太老旧了,可以联系 coapp,让其更新。
或者自己打包一个上传(和 coapp 的包 ID 不重复即可)。
以上话你怎么就视而不见了!!!
我强调的重点是他没有权力让平台删除其他用户的东西,以及开源中国的极个别小编为了黑而黑的行为。
分明是你在混淆概念,断章取义。
而且 cURL 的协议中明确写了,授予用户自由复制、修改、分发的权力,无论免费,还是付费。
所以如果有木马,是可以采取强制措施的。
但是后面 coapp 没有再持续更新 cURL 包到最新版本。
这个最多可以说他不负责任,但不至于被谴责,毕竟人家也没有这样的义务。
而且我们也无从得知,他上传和不更新的原因。
也许是当时发现 Nuget 上没有,头脑一热就上传了,之后就抛诸脑后了。
也许当时只是为了方便自己公司使用,才上传了一个,后面不用了,也就不继续更新了。
也许当时只是把 Nuget 当成网盘用的。
也许后面转行了,也许家里变故,谁知道呢。
Daniel Stenberg 是 cURL 的作者,这没错。
但 NuGet 上的 cURL 包是由用户 coapp 上传的。
Daniel Stenberg 觉得该版本太老旧了,可以联系 coapp,让其更新。
或者自己打包一个上传(和 coapp 的包 ID 不重复即可)。
但他有什么权力让平台删除其他用户的东西。
人家版本旧,但也没违反开源协议,也没违法,也没违反平台规则,就因为他这么一闹就要删别人的东西??这是什么道理?
以 gitee 为例,如果有用户在 gitee 上传了旧版的 cURL,若 Daniel Stenberg 联系 gitee ,那 gitee 就要删除别人的东西吗?
开源中国的部分小编一直这样为了黑儿黑,带节奏,真的很没意思。
或者自己打包一个上传(和 coapp 的包 ID 不重复即可)。
但无论如何是没有权力利用自己的影响力让平台删别人的东西的。
不然当年的 javaeye 为什么在oracle采取法律手段声称用户会对java引起误会时,被逼着成了 iteye ?
还有 weixin.com 在腾讯声称用户会对微信产生误会时用法律手段强制拥有了域名所有权?
当年腾讯对 weixin.com 采取强制手段的时候,大家抨击的是腾讯,而不是 weixin.com。
而在整个过程中有谁抨击过域名注册商吗?
类比起来:
Daniel Stenberg 相当于 Oracle、腾讯的角色。
coapp 相当于 javaeye、weixin.com 的角色。
而微软相当于域名注册商的角色。
但漏洞却不在这个范围内,最多只能在页面显眼位置提示并通知上传者及时更新。
再完善一下机制的话,可以对长时间不维护、不更新的包,做标记并提示使用者。
再再完善一下,可以提前对知名项目名进行保留。
但无论如何在别人不违法,不违反平台规则的前提下,是不能擅自删除其他用户的东西的。
况且 Daniel Stenberg 自己也可以打包上传一个。