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