Wenn ich über ein Programm lese, sei es GNOME Do oder Banshee oder etwas anderes, sehe ich oft Leute, die schreiben, dass sie Mono verwenden - und die Implikation ist abwertend. Warum ist das? Sind diese Kommentare aus praktischen, ideologischen oder anderen Gründen gemacht?
33
Antworten:
Ideologisch
Von einigen wird angenommen, dass Mono Microsoft und seine .Net-Plattform unterstützt. Einige Leute glauben, dies widerspreche den Zielen von Ubuntu oder zumindest ihren eigenen persönlichen Zielen und wollen dies vermeiden.
Sorry für die wackeligen Worte, aber ich bleibe objektiv. Die Diskussion, ob Mono dies tatsächlich tut und ob es gut oder schlecht ist, Microsoft zu unterstützen, gehört woanders hin .
Praktisch
Programme, die eine virtuelle Maschine verwenden (wie die in Java und C # geschriebenen), belegen nach meiner Erfahrung tendenziell mehr Speicher als entsprechende Programme, die dies nicht tun. Diese Verallgemeinerung gilt nicht immer. Während es Benutzer gibt, für die dies ein berechtigtes Anliegen ist, sorgen sich die Benutzer häufig mehr als notwendig um die Leistung.
Ich verwende zum Beispiel einen Laptop mit nur 1 GB Speicher: Früher war dieser riesig. Die Maschine fängt an, ihr Alter anzuzeigen, aber ich kann die meisten Dinge immer noch bequem ausführen. Benutzer mit 4 GB Arbeitsspeicher werden "Memory Hogs" nicht annähernd so häufig bemerken und sollten sich auf andere Probleme konzentrieren. (Und ich werde in 5 Jahren wieder hierher kommen und über diese 4 GB-Zahl lachen.)
quelle
Einige Leute glauben, dass Microsoft Softwarepatente für Aspekte von .NET besitzt und dass Mono als Implementierung von .NET diese Patente verletzt. Aus diesem Grund haben diese Leute das Gefühl, dass man mit Mono Patentstreitigkeiten aussetzen kann.
Ich nehme an, Mono ist so umstritten, weil das Patentrecht im Allgemeinen umstritten ist. Es gibt jedoch auch Fälle, in denen Unternehmen, die für Mono werben, Vereinbarungen mit Microsoft getroffen haben, die Patentvereinbarungen sehr ähnlich sehen. Dies könnte das Argument von Microsoft für die Gültigkeit solcher Patente untermauern. (Natürlich hat Microsoft keinen Beweis dafür erbracht, dass die Patente existieren, und damit einen Zustand der Unsicherheit aufrechterhalten, genau wie bei der Behauptung von Patenten, die vom Linux-Kernel verletzt wurden.) Diese Vereinbarungen führen zu einem Gefühl von Verrat und Misstrauen gegenüber anderen Communitys Mitglieder, da die Vereinbarung die Community als Ganzes zu verletzen scheint (durch Erhöhung des wahrgenommenen Patentrisikos) und gleichzeitig dem Unternehmen zugute kommt, das die Vereinbarung mit Microsoft geschlossen hat. Das führt also zu einem anderen Grund, warum Mono umstritten ist:
Übrigens sollte ich erwähnen, dass ich aus der Perspektive eines Zuschauers schreibe und keine detaillierten oder spezifischen Kenntnisse über die gesamte Situation habe. Ich habe versucht, unvoreingenommen zu bleiben und Eigennamen größtenteils zu meiden, um diese Frage nicht in die Kontroverse zu ziehen, nach der sie fragt.
Bearbeiten: In den Kommentaren hat jemand darauf hingewiesen, dass Microsoft ein Community-Versprechen hat, keine Patentrechte gegen .NET-Implementierungen geltend zu machen. Aber das Versprechen enthält genug Rechtsprechung, so dass ich nicht wirklich sicher sein kann, dass das Versprechen luftdichten Schutz bietet, ohne einen Anwalt damit zu beauftragen. Nachdem ich es gelesen habe, kann ich mir einige potenzielle Schlupflöcher vorstellen , durch die Microsoft Patentrechte für Mono geltend machen könnte. Seit IANAL habe ich jedoch keine Ahnung, ob diese Schlupflöcher rechtlich vertretbar sind oder nur mein Missverständnis der gesetzlichen Bestimmungen von Microsoft. Obwohl das Versprechen der Community ermutigend ist, kann es den Streit um Monos mögliche Patenthaftung sicherlich nicht beenden.
quelle
Mono ist eine offene Portierung von Microsoft .net.
Aus ideologischer Sicht wird dabei eine geschlossene Technologie für offene Technologien verwendet, die möglicherweise nicht mit einigen Idealen von GNU und / oder Linux übereinstimmt.
In der Praxis unterstützt Mono (vorerst) nicht so viele Funktionen wie .NET in der 3.5-Version. Es erlaubt jedoch, in C # (und anderen .NET-Sprachen) für Linux zu programmieren, was ich für eine gute Sache halte und ohne Mono unmöglich wäre.
quelle
Wie andere angegeben haben, gibt es zwei Hauptgründe:
1) Ideologie: Benutzer sind mit der Idee, dass Mono auf einem Microsoft-Closed-Source-Produkt basiert, nicht zufrieden. Mono selbst ist jedoch Open Source.
2) Patente: Dies war früher ein wichtiges Anliegen, auf das Microsoft seitdem eingegangen ist, als es das Community Promise auf ECMA 334 und ECMA Specs 335 anwendete. Leider ist dies einem erheblichen Teil der Menschen nicht bewusst.
quelle
Ich benutze Mono nicht, weil
Ich denke, dass jeder Mono benutzen kann und sollte, wenn er möchte, aber Benutzer, die es nicht wollen, sollten es nicht standardmäßig anlegen lassen.
quelle