为什么单声道会引发如此多的争议?

为什么单声道会引发如此多的争议?

很多时候,当我阅读有关某个程序(无论是 GNOME Do 还是 Banshee 还是其他程序)的文章时,我都会看到有人写他们使用 mono——而这种暗示是贬义的。为什么会这样?这些评论是出于实际原因、意识形态原因还是其他原因?

答案1

意识形态上

有些人认为 Mono 应该支持微软及其 .Net 平台。有些人认为这违背了 Ubuntu 的目标,或者至少违背了他们自己的个人目标,他们希望避免这种情况。

抱歉我说话有点拐弯抹角,但我还是保持客观。关于 Mono 是否真的能做到这一点,甚至支持微软是好事还是坏事的讨论,属于别处

几乎

根据我的经验,使用虚拟机的程序(例如用 Java 和 C# 编写的程序)往往比不使用虚拟机的程序占用更多内存。这种概括并不总是成立。虽然有些用户确实担心这一点,但人们往往过于担心性能。

例如,我使用的笔记本电脑只有 1GB 内存:这曾经是巨大的。 这台机器开始显露出它的年龄,但我仍可以轻松地运行大多数东西。拥有 4GB 内存的用户几乎不会注意到“内存占用”,而应该关注其他问题。(而且我会在 5 年后回到这里,嘲笑那个 4GB 的数字。)

答案2

有些人认为微软拥有 .NET 方面的软件专利,而 Mono 作为 .NET 的实现,侵犯了这些专利。因此这些人认为使用 Mono 可能会招致专利诉讼。

我认为 Mono 之所以如此有争议是因为专利法总体上是有争议的。但是,在一些特定情况下,推广 Mono 的实体与微软达成的协议看起来很像专利协议,这可以被视为加强了微软对任何此类专利有效性的论据。(当然,微软实际上并没有提供任何证据证明这些专利的存在,因此保持着不确定的状态,就像他们声称 Linux 内核侵犯了专利一样。)这些协议导致其他社区成员产生背叛和不信任的感觉,因为该协议似乎损害了整个社区(通过增加感知到的专利风险),同时使与微软达成协议的实体受益。因此,这导致了 Mono 有争议的另一个原因:因为 Mono 的一些主要支持者与微软达成了有争议的协议。

顺便说一句,我应该说一下,我是以旁观者的角度来写的,对整个情况没有详细或具体的了解。我尽量保持客观,尽量避免使用专有名词,以避免将这个问题拖入它所引发的争议中。

编辑:在评论中,有人指出微软有一个社区承诺不对 .NET 实现主张专利权。但这个承诺包含太多法律术语,如果不聘请律师仔细审查,我真不能确定这个承诺是否提供了严密的保护。读完之后,我想到了一些可能允许微软主张 Mono 专利权的潜在漏洞,但自从伊纳尔我不知道这些漏洞是否有法律依据,或者只是我对微软法律术语的误解。因此,尽管社区的承诺令人鼓舞,但它肯定无法结束围绕 Mono 可能承担专利责任的争议。

答案3

Mono 是 Microsoft .net 的开放移植。

从意识形态上讲,这将封闭技术用于开放技术,可能与 GNU 和/或 Linux 的一些理想不一致。

从实际角度来看,Mono(目前)支持的功能不如 .NET 3.5 版那么多。但是,它允许使用 C#(和其他 .NET 语言)为 Linux 编程,我认为这是一件好事,如果没有 Mono,这是不可能的。

答案4

我不使用 Mono,因为

  1. 微软指控侵犯知识产权,但没有具体说明侵犯了什么,他们拒绝就 Mono 做出澄清,只说 Novell 用户受到保护。除非微软采取行动,否则我不会相信微软的社区承诺。
  2. Mono 许可很复杂。法律专家很难理解,更不用说普通用户了,因为各个部分许可不同。开源中没有任何东西如此复杂难懂。
  3. Miguel de Icaza 曾承诺及时发布符合 ECMA 标准的源代码,但未能兑现这一承诺
  4. 市场上有许多公司都遵循微软的标准,因为对于他们来说,标准的存在就是为了被打破,让其他人处于不利地位
  5. 在 Linux 上安装 .NET 没有必要,也没有明显的好处,很少从其他平台移植过来,任何 Linux 原生的东西都可以用其他语言编写
  6. Mono 是一个不必要的分裂问题;它分散了我们的注意力,并通过回避更重要的问题而落入了微软的圈套

我认为任何人都可以并且应该使用 Mono(如果他们愿意的话),但不想要它的用户不应该默认使用它。

相关内容