App-Entwicklung für Linux
(makealinux.app)- Für Linux auf Desktop und Mobilgeräten gibt es eine Nachfrage nach neuer Software, doch in App-Stores und Paketquellen gibt es zu wenige Anwendungen. Die Botschaft lautet daher, sich eher auf App-Entwicklung als auf neue Distributionen zu konzentrieren.
- Auch Apps, die aus einem persönlichen Bedarf heraus entstehen, können durch öffentliche Entwicklung zu Lernmaterial und Community werden und so zur Erweiterung des Linux-Ökosystems beitragen.
- Die Vielfalt von Hunderten Distributionen ist zwar eine Belastung, aber mit dokumentierten Paketierungs- und Verteilungssystemen lassen sich Apps an Nutzer in vielen Umgebungen ausliefern.
- GNOME, KDE Frameworks, elementary OS, Electron und Ubuntu Touch bieten unterschiedliche Entwicklungspfade mit Gtk, Qt, Vala, JavaScript·HTML·CSS beziehungsweise QML.
- Es gibt Distributionswege wie AppCenter, AppImage, Flatpak, Open Build Service und Snapcraft sowie Monetarisierungsmöglichkeiten über kostenpflichtige Apps, Dienste und unterstützungsbasierte App-Stores.
Warum Linux mehr Apps braucht
- Nutzer von Linux auf Desktop und Mobilgeräten haben eine Nachfrage nach neuer Software.
- Linux-App-Stores und Paketquellen bieten im Vergleich zu proprietären Plattformen zu wenige Anwendungen.
- Technikbegeisterte werden dazu aufgerufen, ihre Leidenschaft und Kreativität lieber in neue Anwendungen für Linux-Nutzer zu stecken, statt noch mehr Linux-Distributionen zu bauen.
- Die Kernbotschaft lautet: „Hört auf, Linux-Distributionen zu bauen, und baut Anwendungen.“
Welche Wirkung App-Entwicklung auf das Ökosystem hat
- Wenn es eine App-Idee gibt, die man persönlich braucht, gibt es womöglich auch andere Nutzer mit ähnlichem Bedarf.
- Wenn Anwendungen öffentlich entwickelt werden, können auch neue Entwickler leichter lernen und einsteigen, was der nächsten Generation der Linux-App-Entwicklung hilft.
- App-Entwicklung ist kreative Arbeit, und auch das Erfolgserlebnis beim Abschluss eines Projekts kann eine Belohnung sein.
- App-Entwicklung hilft beim Aufbau von Community, und die Linux-Community möchte Entwicklern oft dabei helfen, erfolgreich zu sein.
- Fähigkeiten in der Softwareentwicklung sind gefragt, und es gibt viele kostenlose Lernressourcen.
- Die Vorstellung, Linux-Nutzer würden Entwickler finanziell nicht unterstützen, ist ein Irrtum. Beliebte kostenpflichtige Apps und Dienste können neue Einnahmequellen schaffen.
Entwicklung für verschiedene Linux-Distributionen
- Linux ist im Unterschied zu anderen Plattformen ein sehr vielfältiges Ziel, und es existieren Hunderte Distributionen.
- Sobald eine Anwendung veröffentlicht ist, kann sie in der Regel in mehreren Umgebungen laufen.
- Es gibt gut dokumentierte Paketierungs- und Verteilungssysteme, mit denen Entwickler Apps an Nutzer ausliefern können.
- Jedes Entwicklungs-Framework und jede Linux-Distribution hat empfohlene Wege, Apps an Nutzer bereitzustellen.
- Wenn die App bereit zur Veröffentlichung ist, kann man in der Entwicklerdokumentation die empfohlenen Paketierungsleitfäden nachlesen.
Wege für den Einstieg in die Entwicklung
-
GNOME
- Das GNOME-Projekt entwickelt den GNOME-Shell-Desktop und unterstützt Entwicklung auf Basis von Gjs und Gtk.
- Mit Gtk lassen sich populäre Sprachen wie Python, C, C++, Rust und JavaScript verwenden.
- GNOME Developer Center
-
KDE Frameworks
- KDE bietet den Plasma-Desktop sowie Werkzeuge und Frameworks für die Anwendungsentwicklung.
- KDE Frameworks werden seit Langem für die Entwicklung verschiedenster Desktop-Anwendungen eingesetzt.
- Genutzt werden vor allem das Qt-Toolkit und die Programmiersprache C++.
- KDE Frameworks Getting Started
-
elementary OS
- elementary OS versteht sich als schnelles, offenes und datenschutzfreundliches Betriebssystem als Alternative zu Windows und macOS.
- Entwickler bauen dafür Desktop und Ökosystem zur App-Entwicklung auf.
- Der Entwicklerleitfaden empfiehlt Vala und Gtk.
- elementary OS Developer Guide
-
Electron
- Electron ermöglicht es, plattformübergreifende Desktop-Apps mit JavaScript, HTML und CSS zu erstellen.
- Entwickler können die riesige Bibliothek an node-Modulen nutzen, um Apps auf Basis von Web-Technologien zu bauen.
- Electron Documentation
-
Ubuntu Touch
- Ubuntu Touch ist ein Open-Source-Betriebssystem, das für den Einsatz auf Smartphones, Tablets, PCs und weiteren Geräten ausgelegt ist.
- Native Ubuntu-Touch-Apps werden mit QML oder HTML erstellt; das Verhalten wird mit JavaScript, C++, Python, Rust oder Go definiert.
- Ubuntu Touch Documentation
Stimmen von Entwicklern zum Linux-App-Ökosystem
- Neil McGovern von der GNOME Foundation sagt, dass es ein florierendes App-Ökosystem brauche, um Linux zur breiten Masse zu bringen, und dass das Ziel eines offenen Desktops näher rücke, wenn jeder für Linux entwickeln kann.
- Aleix Pol von KDE e.V. sagt, dass großartige Apps nötig sind, um Linux zum bevorzugten Betriebssystem zu machen, und dass sich mit den Entwicklungswerkzeugen das Umsetzen lässt, was man sich vorstellt.
- elementary-Gründer Daniel Foré sieht darin nicht nur die Chance, großartige Apps für Desktop-Linux zu entwickeln, sondern auch Plattform-APIs zu schaffen und die Richtung des Desktops zu beeinflussen.
- Jan Sprinz, Vorstandsmitglied der UBports Foundation, sagt, dass Linux-App-Entwicklung völlig anders sei als geschlossene Ökosysteme und dass man trotz technischer Konkurrenz für eine größere Vision zusammenarbeite.
Wie man Apps teilt und verteilt
-
AppCenter
- Ein offener Pay-what-you-want-App-Store und Build-Service für unabhängige Entwickler.
- Das AppCenter Dashboard ist in GitHub integriert und unterstützt Releases sowie Issue-Tracking.
- AppCenter Dashboard
-
AppImage
- Desktop-Linux-Anwendungen können im AppImage-Format verteilt werden, um Nutzer gängiger Linux-Distributionen zu erreichen.
- Das Konzept lautet: einmal paketieren und überall ausführen.
- AppImage Packaging Guide
-
Flatpak
- Ein Framework für die Verteilung von Linux-Desktop-Anwendungen.
- Es wurde von Entwicklern geschaffen, die seit Langem am Linux-Desktop arbeiten, und wird als unabhängiges Open-Source-Projekt betrieben.
- Flatpak Documentation
-
Open Build Service
- Der openSUSE Build Service ist die öffentliche Instanz von Open Build Service.
- Er wird neben der Entwicklung der openSUSE-Distribution genutzt, um Pakete für mehrere Distributionen wie Fedora, Debian, Ubuntu und SUSE Linux Enterprise aus derselben Quelle bereitzustellen.
- openSUSE Build Service Help
-
Snapcraft
- Snapcraft ist ein Kommandozeilen-Tool zum Erstellen von snaps.
- snaps sind App-Pakete für Desktop, Cloud und IoT; sie werden als leicht installierbar, sicher, plattformübergreifend und ohne Abhängigkeiten beschrieben.
- Snapcraft Documentation
1 Kommentare
Hacker-News-Meinungen
Ich halte die Prämisse für falsch, weil es unter Linux noch kein Bündel aus ABI-stabilen Kern-Frameworks gibt.
Konkurrenzplattformen haben deutlich mehr grundlegende Frameworks wie CoreImage, CoreAudio, CodeML, SceneKit und AppKit, und sie brechen seltener.
Auch snap und flatpak unter Linux sind interessant, aber sie wirken eher wie ein Umweg über Infrastruktur und Paketmanagement, statt das Problem in den Frameworks und Programmiersprachen selbst zu lösen, die Anwendungen verwenden sollen.
Auch unter Linux gibt es de-facto-Standardbündel, aber weil sich Dinge ändern und verworfen werden, sind sie weniger stabil. Trotzdem ist es besser, als es auf den ersten Blick scheint, und Snaps können einige Probleme abmildern.
Wenn sich Nutzer jedoch für Distributionen ohne solche Standards entscheiden, verliert man in dem Moment die Hälfte der potenziellen Nutzer, in dem man nicht jede ungewöhnliche Konfiguration unterstützt.
Aber wie im Beitrag gesagt wird, konzentrieren sich die meisten weiter darauf, Distributionen zu bauen, und dadurch entsteht naturgemäß nur schwer ein einzelner Stack, der mit all den vielen eigenwilligen Distributionen Schritt hält.
Am Ende nahm Google den Linux-Kernel, setzte zwei Bündel von Kern-Frameworks auf Basis von Java und JavaScript darauf, und für normale Verbraucher wurden diese Linux-Distributionen zu den Gewinnern.
In der Regel bauen Spieleentwickler auf einer aktuellen großen Distribution und laden das Ergebnis bei Steam hoch. Wenn diese Distribution glibc 2.36 enthält, bekommt das Binary häufig ebenfalls Versionsnamen, die glibc 2.36 oder neuer verlangen.
Am Ende muss man mit der symver-Direktive von binutils gas Versionsnamen erzwingen, die mit einer hinreichend alten glibc kompatibel sind. Persönlich halte ich 5 Jahre, vielleicht auch 7–8 Jahre, für einen vernünftigen Maßstab: https://sourceware.org/glibc/wiki/Glibc%20Timeline
Normale Spieleentwickler wissen von solchen Problemen kaum etwas, und selbst wenn, würden sie sich diese schmerzhafte Arbeit nicht für 1 % des Marktes antun. Bei libgcc und, im Fall von C++, auch libstdc++ muss man statisch linken, um dieses ABI-Problem zu vermeiden.
Immerhin stellt die Godot-Engine Build-Container bereit, die darauf Rücksicht nehmen, und auch Unity sieht in dieser Hinsicht sauber aus. Bei UT5.x weiß ich es nicht genau.
Andererseits gibt es auch Engines, die nicht vorbereitet sind, etwa Electron-basierte Spiele. Ohne eine zur Distribution passende GTK+-Version wie bei Enlightenment, Qt, reinem X11 oder Wayland laufen sie unter Umständen nicht.
Auch die vollständige Google-Blink-Engine korrekt zu paketieren und als Binary für eine breite Palette von ELF/Linux-Distributionen auszuliefern, ist nicht einfach.
ELF/Linux ist wegen der allgemeinen ABI-Brüche feindlich gegenüber reiner Binary-Distribution, besonders bei SDKs und Kernbibliotheken.
Wenn schon Spiele-Binaries so schwierig sind, werden Apps noch schwieriger sein. Ich sehe es schon kommen, dass Entwickler am Ende sagen: „Egal, installiert und nutzt einfach Microsoft SUSE GNU/Linux, alles andere unterstützen wir nicht.“
Es ist großartig, viele Werkzeuge einfach nutzen zu können, ohne sich groß um Supportdauer, die bessere Fork oder die Kompatibilität mit anderen Drittanbieterbibliotheken kümmern zu müssen. Das reduziert die Reibung enorm und lässt einen einfach bauen.
Das KDE-Qt-Ökosystem und GNOME/GTK kommen dem am nächsten, sind aber noch nicht auf diesem Niveau.
Vielleicht kenne ich einfach nicht das Muster, nach dem entschieden wird, wann man Paketnamen
devundversionanhängt und was die beliebigen angehängten1oder0bedeuten, aber die erste Linux-Distribution mit konsistenten Regeln für Paketnamen dürfte Sympathien gewinnenlibgnutls-devlibgtk-3-0libwayland-server0libxcb1libx11-6libffi-devlibncurses5-dev-devist ziemlich einfach, weil es die Header enthältDie Zahlen sind Versionskennzeichnungen für Fälle, in denen mehrere Versionen gleichzeitig installiert werden können. Ausnahmen kann es allerdings geben, etwa wenn sie wie bei
xcb1Teil des Bibliotheksnamens sindZum Beispiel konnte man irgendwann vermutlich
libgtk-3-0undlibgtk-2-$somethinggleichzeitig installieren. Wahrscheinlich hat man den Namen beibehalten, damit Verweise auflibgtk-3-0in alten Tutorials nicht kaputtgehen, selbst wennlibgtk-2später entfernt wirdBeim abschließenden
0inlibwayland-server0bin ich mir auch nicht sicher. Ich sehe in/var/libdieselbe Bibliothek mit verschiedenen.$number-Endungen, habe aber nie genauer nachgeforscht, welches Problem das exakt löst-dev; wenn man mit dieser Bibliothek entwickelt, braucht man zusätzlich das-dev-Paket, das die Header installiertDie angehängten
1oder0sind nichts Besonderes, sondern einfach Teil des Paketnamens oder der Version-devbezeichnet allerdings Dinge, die man nur braucht, wenn man gegen diese Bibliothek entwickeltDie Zahl ist die Hauptversionsnummer, also die Kompatibilitätsnummer. Dadurch können mehrere Hauptversionen, von denen unterschiedliche Pakete abhängen, ohne Konflikte einfach parallel installiert werden
-dev-Paket. Um nummerierte-dev-Pakete muss man sich normalerweise nicht direkt kümmern; falls nötig, sollte das unnummerierte Paket darauf weiterleitenBeim Build wird aufgezeichnet, welches numerische Suffix, also welche ABI-Version, verwendet wurde. Das sollte dem
.so.N-Suffix entsprechen, aber man sucht es nicht direkt auf diese WeiseDadurch können mehrere inkompatible Kopien einer Bibliothek installiert sein, und die passende kann verwendet werden. Distributionen räumen alte Varianten normalerweise bei größeren Releases auf
Bei der Installation sollten automatisch die beim Build aufgezeichneten Abhängigkeiten verwendet werden
Das ist eines der größten Probleme, die die gesamte Linux-Plattform zurückhalten. Es wird oft als Vorteil dargestellt, aber ich sehe das nicht so
Entwickler führen die große Auswahl gern als Stärke von Linux an, aber für viele Nutzer wird daraus das Paradox der Wahl, und sie kehren zu ihrer bisherigen Plattform zurück
Unter macOS und Windows gibt es weniger Optionen, aber die verfügbaren Optionen sind deutlich ausgereifter und weniger fragmentiert
Zum Beispiel: Wie viele Tiling Window Manager braucht man wirklich? Könnte man nicht den besten Tiling Window Manager auswählen und bessere Docks und Applets bauen? Und wie wäre es mit Apps und Launchern, die in das Paradigma eines Tiling Window Managers integriert sind?
Stattdessen bleiben oft zehn Tiling Window Manager und halbherzige Workarounds obendrauf übrig
Erfolgreiche Ökosysteme sorgen dafür, dass man mit einer gut sichtbaren Option ein ausreichend gutes Ergebnis bekommt
Dass es immer mehr Linux-Distributionen gibt, sind meistens nur kleine Unterschiede, die die sinnvolle Passung nicht wirklich verringern; als Problem sehen das nur sehr wenige, denen die Wahl einer Distribution ohnehin nie schwerfiel
Anders ist es bei Dingen wie Wayland: Dort werden Plumbing und Hardware plötzlich wichtig, und um eine brauchbare Kombination zu wählen, muss man die interne Struktur bis zu einem gewissen Grad verstehen. Das ist ein echtes Problem
Mac oder Windows mit Linux zu vergleichen, ist ebenfalls nicht besonders sinnvoll. Für 95 % der Verbraucher ist das Betriebssystem eine feste Eigenschaft oder Funktion des Computers, kein separates Produkt
Wenn das Gesamtpaket passt, kaufen sie vielleicht einen Computer mit diesem Betriebssystem, aber sie werden es nicht separat auf ihrem Windows- oder Mac-Gerät installieren wollen
Menschen mit genug technischem Wissen, um zufrieden zu sein, werden durch drei weitere Ubuntu-Derivate und zwei weitere Arch-Derivate kaum ernsthaft verwirrt sein
Open-Source-Entwickler zu sein bedeutet, Ziele und Mittel selbst bestimmen zu können; in der kommerziellen Softwareentwicklung hat man diese Freiheit oft nicht
Es entstehen raue Kanten, aber der IKEA-Effekt greift, und am Ende mag man es
Wenn alle dieselbe Software verwenden, entsteht ein Monokultur-Ökosystem, das anfälliger für Angriffe ist. Windows wurde auch deshalb so stark von Viren ins Visier genommen, weil das Ziel groß und einheitlich war
Wenn man den Windows-Rechner eines normalen Nutzers kompromittieren konnte, ließen sich die übrigen ähnlich kompromittieren. Bei Linux ist das deutlich schwieriger
Außerdem ist es freie Software. Wenn man niemanden dafür bezahlt, es zu tun, handelt es sich meist um Freiwilligenarbeit, und wir können anderen nicht vorschreiben, wofür sie ihre freiwillige Zeit einsetzen sollen
Wenn es so viele Gruppen gibt und trotzdem niemand beitreten möchte, sollte man auch die dominanten sozialen Strukturen betrachten. Ein Ausgangspunkt könnte sein, Verhaltenskodizes abzuschaffen, die es erlauben, sogar Verhalten außerhalb des Projekts zu bestrafen
Und ich weiß auch nicht genau, was daran noch verbessert werden sollte. Dinge wie Ulauncher oder Albert sind viel mächtiger als das, was auf anderen Plattformen möglich ist, und ich wüsste nicht, wie man die UI noch besser machen könnte
Mehr Software ist gut. Aber bevor man etwas von Grund auf neu baut, wäre es vielleicht sinnvoll, zu bestehenden Projekten beizutragen oder sich Projekte auszusuchen, die aufgegeben wurden oder etwas Pflege brauchen, damit sie mit aktuellen Compilern und aktueller Hardware wieder gebaut und ausgeführt werden können.
Ich frage mich auch, ob es irgendwo eine Datenbank ruhender oder toter Projekte gibt, deren Wiederbelebung sich lohnen würde.
Ein anderes Projekt wird vielleicht von jemandem geleitet, mit dem schwer auszukommen ist, oder von einer Community, die Vorschläge und Patches nicht annimmt.
Soziale Prozesse und Blockaden können die Motivation zum Beitragen zerstören. Nicht alle können optimistische Teamplayer ohne Ecken und Kanten sein.
Für mich ist es besser, von Grund auf neu anzufangen: Ich kann alle Variablen kontrollieren, muss keine bestehende soziale oder technische Infrastruktur anfassen, muss niemanden davon überzeugen, dass meine Idee gut ist, und will nicht mehr Zeit mit Streit und Diskussionen verbringen als mit Code.
Die Erfahrung als Solo-Entwickler ist besser. Man ist nicht an Politik und soziale Prozesse gebunden, und der Versuch, Teamplayer zu sein, hat mir nur Schmerz bereitet.
Zusammenarbeit kann belastend und anstrengend wirken, aber am Ende geht es darum, Ergebnisse zu liefern, und es ist besser investierte Zeit als die Arbeit an Projekten, die aufgegeben werden.
Es wird oft beklagt, dass es an Werkzeugen fehlt, um Apps zu bauen, die über mehrere Betriebssysteme hinweg kompatibel sind, aber dem stimme ich nicht zu. Es gibt auch Lösungen jenseits von Electron.
Telegram nutzt Qt und liefert performante native Apps für alle drei Betriebssysteme aus.
Flutter kompiliert auf allen drei Betriebssystemen und auf Mobilgeräten zu nativem Code.
Kirigami ist ein QtQuick-Framework, mit dem sich Apps erstellen lassen, die sowohl auf Mobilgeräten als auch auf Desktops laufen.
Man muss einfach Apps bauen. Es gibt keinen Grund, das als Ausrede zu benutzen, um Linux die Schuld zu geben.
Unter Windows, macOS und auf Mobilgeräten gibt es kaum Community oder ernsthafte Projekte. Das soll KDE nicht herabsetzen, aber so sieht die Realität aus.
Auch die Lizenzierung von Qt Quick ist unter iOS nicht einfach oder wird im kommerziellen Einsatz sehr teuer.
Dagegen investieren große Unternehmen in Electron und liefern sehr ausgereifte produktionstaugliche Werkzeuge; dazu kommen eine riesige Community und ein großes Library-Ökosystem, und es ist auch keine ungewohnte Sprache wie Dart.
Telegram geht wirklich noch einen Schritt weiter. Der Client ist hervorragend.
[0]: https://github.com/overtake/TelegramSwift
Das Problem liegt darin, dass OSS-Software oft nicht einmal wirklich versucht, mit dem Markt zu konkurrieren.
Menschen, die OSS-Software nutzen, nehmen es als selbstverständlich hin, dass es an UX mangeln wird, und in der Praxis ist das auch oft so.
Gewöhnliche proprietäre Software passt sich an, um die End-User-Experience gut zu machen, weil das Risiko besteht, dass Nutzer nicht zahlen; bei OSS gibt es dieses Risiko normalerweise nicht. Open Source muss ebenfalls Risiken ausgesetzt sein, die von den Endnutzern ausgehen.
Mit Notes[1] wollte ich das ändern, merkte aber, dass es schwierig ist, allein von Werbung zu leben. Ich habe auch Zahlungen für Premium-Funktionen wie Kanban eingebaut, aber die App ist vollständige FOSS, sodass jeder sie leicht aus dem Source Code kompilieren kann.
Bei der nächsten App[2] plane ich, sie vor dem Release als Closed Source zu führen. Ich kann nicht das Risiko eingehen, dass meine Arbeit nicht entlohnt wird.
Wenn ich Geld verlangen kann, kann ich mehr in UX-zentrierte Apps unter Linux investieren, und ich glaube, dass das auch der Linux-Community hilft. Teile davon könnte ich als Open Source veröffentlichen, und in ferner Zukunft vielleicht auch alles.
[1] https://github.com/nuttyartist/notes
[2] https://www.get-plume.com
Wenn man das Programm also nicht als Open Source veröffentlicht, verliert man wahrscheinlich mehr, als wenn man es als Open Source veröffentlicht und das Risiko eingeht, dass ein Teil nicht zahlt.
Ich denke, es gibt viel mehr Menschen, die für Open Source zahlen würden, als Menschen, die proprietäre Software nutzen wollen.
Open Source bedeutet nicht, dass man den Code an alle verteilen muss; wenn man Geld verlangt, kann man den Source Code auch nur zahlenden Nutzern geben. Allerdings hätten sie dann das Recht, ihn zu verändern und weiterzuverbreiten.
Wenn einem Open Source egal ist, kann man Notion oder Evernote nutzen. Wenn man eine moderne Open-Source-Notiz-App sucht, würde ich Logseq empfehlen.
Erstens sieht Notes Standard Notes ziemlich ähnlich. Wenn du Copyleft-OSS verwendet hast, um Notes zu bauen, finde ich es schwer, dich zu beklagen, solange du den anderen Programmierern, deren Arbeit darin steckt, keine Royalties zahlst.
Zweitens bin ich vermutlich ein untypischer Nutzer. Ich nutze Linux seit über 20 Jahren, kann aber nicht einmal ein Bash-Skript oder einen Einzeiler in Perl richtig schreiben.
Gerade weil ich nicht programmieren kann und die Arbeit anderer sowie die Freiheiten, die sie ermöglicht, zu schätzen weiß, habe ich für Software deutlich mehr Geld ausgegeben, als Privatpersonen auf anderen Plattformen normalerweise tun.
Ich unterstütze unter anderem Kaisen und Debian, zentrale Utilities der FSF und Emacs, KDE, Mozillas Firefox, Betterbird, Syncthing, LaGrange, Joplin, ClipTo, SoulSeek und Dienste wie envs.net.
Für manches zahle ich jährlich, für manches monatlich, für manches nur einmal.
Als Standard Notes erstmals erschien, habe ich auch ein 7-Jahres-Abo bezahlt, war aber nach etwa zwei Monaten Nutzung nicht zufrieden und habe aufgehört. Es gibt auch Dinge wie Alacritty, die ich viel nutze, bei denen ich aber keine Möglichkeit zum Spenden gefunden habe; solche Fälle versuche ich zu minimieren.
Tatsächlich empfinde ich macOS als einen der schlechtesten Window Manager unter den populären Plattformen. Es ist hübsch und leicht zu bedienen, aber sobald man etwas über das Grundlegende hinaus tun will, braucht man magische Beschwörungen, die man nicht auf natürliche Weise entdecken kann.
Natürlich sind Geschmäcker verschieden.
Ich habe geklickt, um mir den Premium-Preis anzusehen; auf Jahresbasis ist er vernünftig, aber mir wurde nur eine monatliche Abo-Option angezeigt, und das fand ich schwierig.
Bei solchen Apps würde ich eher spenden als für eine Premium-Version zahlen. Bei Obsidian hat dieses Modell gut funktioniert.
Frühzugriff auf Funktionen halte ich nicht für besonders wertvoll, aber viele haben gezahlt, um die Arbeit zu unterstützen.
Außerdem glaube ich, dass eine große Open-Source-Community rund um ein geschlossenes Kernprodukt den Leuten einen Grund gibt, zu zahlen.
Es wäre schön gewesen, wenn der Beitrag ein paar Beispiele enthalten hätte.
Mir fällt nicht wirklich jemand ein, der gerade eine Distribution baut, obwohl er eigentlich eine Anwendung bauen sollte. Wenn man es erzwingen will, vielleicht LinuxCNC? Aber dafür gibt es spezielle Kernel-Anforderungen, also könnte eine Custom-Distribution sogar passender sein.
Ich verstehe nicht so recht, warum abgeleitete Distributionen von abgeleiteten Distributionen nur deshalb veröffentlicht werden, weil sie eine andere Desktop-Umgebung mitbringen.
Statt „Hört auf, Linux-Distributionen zu machen, baut Anwendungen“ finde ich, man sollte eher aufhören, auf Leute zu hören, die einem vorschreiben wollen, was man tun und lassen soll.
Trotzdem sind die Botschaft und die Informationen an sich gut.
Persönlich hätte ich es eher so formuliert: „Linux-Nutzer wollen nicht noch mehr Distributionen. Sie wollen Software.“ Zumindest gilt das für mich.
Ich bin vor Kurzem vom Mac auf Linux umgestiegen, weil ich leistungsfähige gebrauchte Hardware als Alltagsrechner nutzen wollte.
Ich hatte auch früher schon Linux auf mehreren Maschinen installiert, aber diesmal ist es nicht nur ein Hobby.
Ubuntu unterstützt meine Hardware und Peripherie gut, aber der App Store wirkt unfertig und irgendwie hineingezwängt. Trotzdem funktioniert fast alles wie erwartet.
Mint, Debian und Arch würde ich mir auch gern ansehen, bin aber vorsichtig, weil offenbar viel Software mit Ubuntu im Hinterkopf geschrieben wurde.
Es gibt auch eine auf Debian basierende Mint-Version, aber die ist eher eine Absicherung, um nicht kritisch von Ubuntu abhängig zu sein.
Heutzutage ist es selbst mit exotischeren Distributionen kein großes Problem mehr. Wenn der Standard-Paketmanager die gewünschte App nicht anbietet, kann man AppImage, Flatpak oder Snap verwenden.
Als ich Arch nutzte, musste ich mich daran gewöhnen, welche Annahmen Leute auf Basis von Ubuntu treffen, aber meist ging es nur darum, Konfigurationsdateien zu patchen oder Umgebungsvariablen zu setzen.
Das sind nützliche Fähigkeiten, die sich auch anderswo übertragen lassen.
Ich wünschte, ich hätte es früher ausprobiert.
Warum sollte jemand das tun? Es ist schwieriger, und Linux-Nutzer zahlen nicht für etwas, das es nicht wert ist.