为什么单声道如此有争议?

Ric*_*ard 33 mono

通常,当我阅读某个程序时,无论是 GNOME Do 或 Banshee 还是其他什么,我都会看到人们写到他们使用单声道——这暗示是贬义的。为什么是这样?这些评论是基于实际原因、意识形态原因还是其他原因?

小智 36

意识形态上

一些人认为 Mono 支持微软及其 .Net 平台。有些人认为这与 Ubuntu 的目标背道而驰,或者至少是他们自己的个人目标,他们想避免这种情况。

对不起,我的措辞有些含糊,但我保持客观。Mono是否真的做到了这一点,甚至支持微软是好事还是坏事的讨论,都属于别处

几乎

根据我的经验,与不使用虚拟机的程序相比,使用虚拟机的程序(如用 Java 和 C# 编写的程序所做的那样)往往会使用更多内存。这种概括并不总是成立。虽然有些用户需要关注这一点,但人们通常会担心不必要的性能。

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

  • 抱歉,“社区承诺”中没有任何内容具有法律约束力。 (5认同)
  • 好吧,c# 并不纯粹在虚拟机上运行。至少不是以正常方式。它可以进行从字节到机器代码的即时编译,比如 java,加上提前编译到机器代码中的异常(正常情况),以及完整的老式编译(但在大多数平台上没有) . 从这个意义上说,它与 Java 或 Parrot 不同。更多的是混合动力。出于这个原因,在现实世界中,很可能您的关键内循环繁重代码将被编译为单声道的本机机器指令。 (4认同)
  • 不仅如此。Mono 很可能侵犯了微软的一些专利,这使微软有可能在某一天起诉某人,就像甲骨文就 Java 专利对谷歌所做的那样。 (3认同)
  • @txwikinger 具有法律约束力,请查看此页面上的问题。http://www.microsoft.com/interop/cp/default.mspx (2认同)

Rya*_*son 16

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

我想 Mono 之所以如此有争议,是因为一般而言,专利法是有争议的。但在某些特定情况下,宣传 Mono 的实体与微软达成了看起来很像专利协议的协议,这可以被视为加强了微软对任何此类专利有效性的论点。(当然,微软实际上并没有提供任何专利存在的证据,因此一直处于不确定状态,就像他们声称 linux 内核侵犯了专利一样。)这些协议导致了其他社区的背叛和不信任感成员,因为该协议似乎损害了整个社区(通过增加感知的专利风险),同时使与 Microsoft 达成协议的实体受益。所以这导致了 Mono 有争议的另一个原因:

顺便说一句,我是站在一个旁观者的角度写的,我对整个情况没有详细或具体的了解。我试图保持公正,并且大多避开专有名词,以避免将这个问题拖入它所询问的争议中。

编辑:在评论中,有人指出 Microsoft 有社区承诺不会针对 .NET 实现主张专利权。但承诺中有足够的法律术语,我觉得如果不聘请律师进行审查,我无法真正确定该承诺提供了严密的保护。读完之后,我可以想到一些潜在的漏洞,可以让微软对 Mono 主张专利权,但是自从IANAL以来,我不知道这些漏洞中的任何一个是否具有法律依据,或者只是我对微软法律术语的误解。因此,虽然社区的承诺令人鼓舞,但它肯定无法结束关于 Mono 可能的专利责任的争议。

  • 这应该是公认的答案,它是唯一真正回答问题的答案。人们对使用 Mono 犹豫不决,因为害怕被微软起诉。 (3认同)

小智 5

Mono 是 Microsoft .net 的开放移植版本。

在意识形态方面,这将封闭技术用于开放技术,这可能与 GNU 和/或 Linux 的某些理想不符。

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

  • .NET 的基本核心是一个开放的技术/标准(即使微软的主要实现不开放,C#、标准库的基本部分和运行时也作为 ECMA 标准发布)。 (9认同)

小智 5

正如其他人所说,有两个主要原因:

1) 意识形态:用户对 Mono 基于封闭源 Microsoft 产品的想法感到不舒服。然而,Mono 本身是开源的。

2) 专利:这曾经是一个主要问题,微软在将社区承诺应用于 ECMA 334 和 ECMA 规范 335时已经解决了这个问题。不幸的是,很大一部分人不知道这一点。

  • 争论是社区承诺是不够的——这不是意识的问题。 (4认同)