Warum freie Software nicht von Mono oder C# abhängig sein sollte
Montag, 29. Juni 2009
Ich bin nicht sicher, ob das Problem wirklich nur auf Seiten der Distributionen zu sehen ist. Debian und Ubuntu liefern Mono nur mit, weil die Software, die in C# geschrieben wurde, nun einmal die momentan beste ist (Beispiel Banshee). Natürlich soll das nicht heißen, dass die Distributionen nicht auch ihren Teil dazu beitragen können, sich nicht von Mono abhängig zu machen. (siehe Fedora)
Es liegt also an der Gemeinschaft aller Entwickler Freier Software, ob sie auf den Mono-Zug aufspringen oder nicht.
Ich fände es interessant, wenn hier ein paar Entwickler zu Wort kommen würden, die sich dazu äußern, was Mono beim Programmieren so toll macht.
Ich schließe mich zerwas Meinung an. Ubuntu versucht die aktuell bestmögliche Software zu liefern, was auch logisch ist, da vor allem Ubuntu als Einsteigerdistribution bekannt ist.
Anstatt die Distributionen zu bashen, sollte man sich überlegen wie man Software, welche nicht in Mono & C# geschrieben wurde verbessern kann. Die Entwicklung von Rhythmbox wurde vom Hauptentwickler eingestellt. Ob sich schon Nachfolger gefunden haben, weiß ich nicht. Aber Banshee wird schneller verbessert als jede andere Media-Software.
Auch für Gnome-Do und F-Spot gibt es (zumindest nicht soweit ich weiß) keine guten Gnome-Alternativen (KDE-Programme schließe ich hier mal aus).
In meinen Augen liegt es vor allem an den Entwicklern nicht auf Mono und C# zu setzen. Den Distributionen kann man nichts vorwerfen, wenn sie die zur Zeit aktuell besten Applikationen verwenden!
Ich habe vor kurzem über die Programmiersprache Vala gehört und Frage mich wieso diese nicht unter Gnome verwendet wird, da sich diese von der Syntax her an C# anlehnen soll. Somit hätten die C#-Fans ja eine schöne Alternative um Gnome-Software zu schreiben.
Diese Argumentation führt wieder zur impliziten Eingangsfrage: Inwiefern können Distributionen durch ihre Softwareauswahl lenken, welche Software besonders gepflegt wird?
Verpflichtet, Mono aus der Distrie zu nehmen ist Ubuntu sicher nicht. Auch nicht wenn Stallman das sagt oder Debian es beherzigt.
Aber ich finde man sollte bei solchen Entscheidungen ruhig ein gleines bisschen weiter denken als nur "Was ist momentan das subjektiv beste Programm?" Oder "Ist C# cool oder nicht?"
Man sollte vielmehr auch strategisch denken. Nicht nur aber auch. Die Frage "Wie weit dürfen Abhängigkeiten gehen?" und "Was ist es wert, sich von einem feindlich eingestellten, gewinnorientierten Konzern abhängig zu machen?" Sollten minderstens die gleiche Aufmerksamkeit genießen.
Darüber hinaus hat Fedora Mono auch wegen reinen technischen Fragen links liegen lassen. Sie wollen einfach Platz auf den Datenträger und im Download sparen.
Und wie gesagt: Strategisch denken ist nicht verboten. Die "anderen" tun das schon immer. Oder warum meint ihr, warum Microsoft gerade der Firma hinter Mono (Novell) beim Geldverdienen hilft?
Dieses "verpflichtet" sollte nicht einen Zwang darstellen, sondern eine Moralische Selbstverpflichtung. Genau aus den von dir erwähnten strategischen Gesichtspunkten. So könnte man ja vielleicht die auch von zerwas angesprochene Gemeinschaft aller Entwickler (wobei man wirklich alle nie steuern kann) beeinflussen.
Ich finde es einfach unnötig zig Frameworks installieren zu müssen. Für ein an sich popeliges Programm wie Tomboy kommt ein vielfaches an libs mit, während in Ubuntu z.B. Python ebenfalls gut vertreten ist. Nun, bin ich allerdings kein Programmierer und kenne auch deren persönliche Belange nicht.
Wenn es um Portabilität geht, also ein Programm auf Windows und Linux laufen soll, ist Mono sicherlich eine Alternative. Aber Gnome-Do hat nicht dieses Ziel, oder?
Ich persönlich versuche schon länger Mono von meiner Platte fernzuhalten, was zumindest bei Ubuntu immer schwieriger wird.
>Aber Gnome-Do hat nicht dieses Ziel, oder?
Nein, ich denke, das ganze System des Abgreifens anderer Programme ist nicht plattformübergreifend zu bewerkstelligen.
Hier, Entwickler! :) Ich mache das zwar nur Hobby-mäßig, aber aus meiner Erfahrung kann ich sagen dass MS .Net (und somit auch Mono) das schreiben von Anwendungen ziemlich vereinfacht. Das objektorientierte Modell ist ziemlich durchdacht, das Konzept (mehr oder weniger, kommt immer ein bisschen darauf an, welchen Teil des API man nutzt..) an sich schlüssig.
Auch die Tatsache, dass man sich kaum noch um Memory-Management kümmern muss, ist angenehm. Kein langwieriges Allokieren etc. Weiterhin existiert eine große Menge an Bibliotheken, wenn auch nicht so viele wie z.B. bei C. Schließlich ist die Plattformunabhängigkeit auch nicht zu verachten. Wenn man ein paar Tipps beherzigt, ist das Programm ohne größere Umbauten unter *nix/Windows/MacOS (letzteres hab ich mangels Hardware noch nicht ausprobiert) zum laufen zu bekommen, oft sogar ohne Neukompilierung mit den gleichen Binaries. Sicher, das kann Java auch, aber ob das unbedingt freier ist als Mono? Nebenbei find ichs ein bisschen hässlich, was das Standard-GUI-Toolkit angeht :)
Das größte Problem unter Ubuntu ist aber MonoDevelop, die IDE des Mono-Projekts, die doch seeeeehr instabil ist. Macht bei weitem nicht so viel Spaß wie MS Visual Studio. Wenn jemand eine Alternative weiß, immer her damit :)
Insgesamt nimmt Mono einem einfach viel Arbeit ab und als Windows-Programmierer muss man nicht groß umlernen, um für Ubuntu zu schreiben. All diese Vorteile sind meiner Meinung nach wohl das Wagnis wehrt, von MS ein (kleines bisschen) abhängig zu sein - Softwarepatente sind ohnehin eine Geschichte für sich (http://www.nosoftwarepatents.com/).
Das sind so ziemlich die Vorteile, die auch mir berichtet wurden. Aber: Ja, Java ist inzwischen freier.
C# scheint eine schöne Sprache zu sein mit dem Vorteil, direkt auf dem System zu laufen, aber Java hat fast alle von dir beschriebenen Vorteile auch :)
Seit wann läuft .NET "direkt auf dem System"? Was meinst du damit.
Das Java die gleichen Vorteile wie .NET hat, ist logisch. .NET ist die Antwort auf Jave (böse Zungen, nennen es kopie...)
Ich persöhnlich entwickel beides beruflich. Es macht für mich keinen unterschied was ich nutze... Wenn ich die freie Wahl hab, nehm ich jedoch .NET da ich die IDE besser finde ... aber das ist geschmackssache ...
Ich entwickel privat gerade eine ManagmentGui für meinen Server und setzte auch auf .NET/Mono - warum? weil es mich reizt, ich will wissen wie es unter Linux tut (stabil, zuverlässig, was geht was geht nicht) außerdem füllt es sich mehr nach c an... das sind aber alles keine belastbaren vorteile/nachteile ;)
Ich kann Stallmann verstehen wenn er gegen Mono argumentiert aber er muss einfach eins einsehen. Der Fundus an freien(willigen) Entwicklern hat den Vorteil ein unglaublich großen Gemeinde aber jeder programmiert das was er kann und was ihm Spaß macht...
Das war komplett falsch ausgedrückt. Ich habe damit noch nicht gearbeitet, aber zumindest unter Windows schien es mir stärker ins System verwebbar zu sein als Java - als Beispiel der Zugriff auf Windowskomponenten wie das Fenstermodell.
Nein eigendlich gar nicht. Es gibt keine "Direkte Verwebung". Das System ist ürsprünglich komplett "StandBy" Hohgezogen worden. Bei WinVista bedient sich die Oberfläche in weiten teilen von .NET komponenten.
Du brauchst unter Windows "zum glück" nur einen DoppelKlick. Nicht wie bei Java ne "Laufzeitumgebung" starten. Im hintergrund macht der Loader von .NET aber nichts anderes. Es gibt keine "wirklichen" executables... was aber auch nicht schlecht sein muss ;)
Gibt es denn eine gleichwertige Alternative für F-Spot wie GNote für Tomboy? Ich würde die sofort ausprobieren.
Das Wiki nennt als Alternative digikam und picasa, beide Programme kenne ich nicht.
Hmm, entweder eine Windows-Software mit Wine oder ein KDE-Programm. Dann doch lieber Mono. An dieser Stelle vielleicht ein Wink mit dem Zaunpfahl an einen interessierten Entwickler F-Spot zu portieren oder ein ähnliches Programm ohne Mono zu entwickeln.
Picasa nicht nutzen zu wollen kann ich verstehen. Aber nutzt du wirklich kein anderes QT/KDE-Programm, sodass digikam zu sehr stören würde? Ich misch da recht frei...


