通常,当我阅读某个程序时,无论是 GNOME Do 或 Banshee 还是其他什么,我都会看到人们写到他们使用单声道——这暗示是贬义的。为什么是这样?这些评论是基于实际原因、意识形态原因还是其他原因?
小智 36
一些人认为 Mono 支持微软及其 .Net 平台。有些人认为这与 Ubuntu 的目标背道而驰,或者至少是他们自己的个人目标,他们想避免这种情况。
对不起,我的措辞有些含糊,但我保持客观。Mono是否真的做到了这一点,甚至支持微软是好事还是坏事的讨论,都属于别处。
根据我的经验,与不使用虚拟机的程序相比,使用虚拟机的程序(如用 Java 和 C# 编写的程序所做的那样)往往会使用更多内存。这种概括并不总是成立。虽然有些用户需要关注这一点,但人们通常会担心不必要的性能。
例如,我使用的是只有 1GB 内存的笔记本电脑:这曾经是巨大的。 机器开始显示它的年龄,但我仍然可以舒适地运行大多数东西。拥有 4GB 内存的用户几乎不会注意到“内存猪”,应该关注其他问题。(我会在 5 年后回到这里并嘲笑那个 4GB 的数字。)
Rya*_*son 16
有些人认为 Microsoft 拥有 .NET 方面的软件专利,而作为 .NET 的实现,Mono 侵犯了这些专利。因此,这些人认为使用 Mono 可能会导致专利诉讼。
我想 Mono 之所以如此有争议,是因为一般而言,专利法是有争议的。但在某些特定情况下,宣传 Mono 的实体与微软达成了看起来很像专利协议的协议,这可以被视为加强了微软对任何此类专利有效性的论点。(当然,微软实际上并没有提供任何专利存在的证据,因此一直处于不确定状态,就像他们声称 linux 内核侵犯了专利一样。)这些协议导致了其他社区的背叛和不信任感成员,因为该协议似乎损害了整个社区(通过增加感知的专利风险),同时使与 Microsoft 达成协议的实体受益。所以这导致了 Mono 有争议的另一个原因:
顺便说一句,我是站在一个旁观者的角度写的,我对整个情况没有详细或具体的了解。我试图保持公正,并且大多避开专有名词,以避免将这个问题拖入它所询问的争议中。
编辑:在评论中,有人指出 Microsoft 有社区承诺不会针对 .NET 实现主张专利权。但承诺中有足够的法律术语,我觉得如果不聘请律师进行审查,我无法真正确定该承诺提供了严密的保护。读完之后,我可以想到一些潜在的漏洞,可以让微软对 Mono 主张专利权,但是自从IANAL以来,我不知道这些漏洞中的任何一个是否具有法律依据,或者只是我对微软法律术语的误解。因此,虽然社区的承诺令人鼓舞,但它肯定无法结束关于 Mono 可能的专利责任的争议。
小智 5
Mono 是 Microsoft .net 的开放移植版本。
在意识形态方面,这将封闭技术用于开放技术,这可能与 GNU 和/或 Linux 的某些理想不符。
在实际应用中,Mono(目前)支持的功能不如 .NET 在 3.5 版本中支持的那么多。但是,它允许在 Linux 中使用 C#(和其他 .NET 语言)进行编程,我认为这是一件好事,如果没有 Mono,这是不可能的。