Hier sind meines Erachtens zwei Dinge zu beachten:
Das erste ist, dass sie in gewisser Weise Recht haben. Das plattformübergreifende Schreiben von C ++ ist nicht so schwierig, wenn Sie es von Anfang an geplant haben . Dies ist mit ziemlicher Sicherheit das Problem, das Sie sehen. Die meisten Open-Source-Anwendungen (die meisten Anwendungen, die ein Linux-Benutzer an einem durchschnittlichen Tag berührt) sind absurd plattformübergreifend. Überlegen Sie, mit wie vielen Anwendungen der durchschnittliche Linux-Benutzer täglich interagiert, die in C oder C ++ geschrieben sind und nicht nur unter Windows und Linux, sondern auch unter MacOS, BSD, Solaris usw. unter x86, x86-64, ARM, SPARC ausgeführt werden. usw. Dies liegt zum Teil daran, dass Leute, die es lieben, den Code zu portieren, der auf ihren Systemen ausgeführt werden soll, aber auch daran, dass plattformübergreifende Portabilität geplant werden soll.
Die zweite Sache ist, dass der Markt möglicherweise überlebensfähiger ist, als Sie denken. Es gibt ein großes Missverständnis, dass Linux-Benutzer nicht für Software bezahlen möchten. Für einige Leute mag das stimmen, aber es gibt eine Menge Leute (die meisten, glaube ich), die Linux verwenden, weil es für sie besser funktioniert und sie es bevorzugen, nicht wegen des Preises. Wenn Ihr Unternehmen ein Produkt herstellt, das hauptsächlich für den professionellen Einsatz bestimmt ist, sind Unternehmen es gewohnt, für die Ausführung von Software auf Linux-Systemen zu zahlen.
Was das Thema Verpackung betrifft, müssen Sie, wie andere bereits gesagt haben, nur Pakete für die neueste Version der wichtigsten Distributionen erstellen. Das Erstellen der Pakete ist eigentlich gar nicht so schwierig, und die meisten der Hauptdistributionen verwenden entweder Debian-Pakete (Debian, Ubuntu usw.) oder RPMs (Fedora, Suse, Centos, Mandrake). Daher ist es sehr unwesentlich, einige Skripte zu ändern Um mehrere Pakete aus einer Basis-.deb- und einer Basis-.rpm-Datei zu erstellen und für alle anderen Benutzer ein Tarball mit Binärdateien und einer Readme-Datei zu erstellen, müssen die Benutzer herausfinden, wie sie es installieren können. Alternativ können Sie das gesamte Paket überspringen und einen einzelnen Tarball mit einem Bash- oder Perl-Skript bereitstellen, um die Installation durchzuführen.
Wie man sich an die Benutzer in Ihren Foren wendet, die sich beschweren, könnte, wie Joe Internet sagte, nur der Prozentsatz der Leute sein, die sich beschweren, egal was passiert, aber das erste, was ich tun würde, ist zu erklären, dass Sie eine haben große Menge an Legacy-Code, der nicht für plattformübergreifende Unterstützung entwickelt wurde. Zweitens: Mal ehrlich, ob es finanzielle Unterstützung bringt, einen Linux-Port einzurichten, und ob man mit den Ergebnissen offen ist. Wenn ein Port finanziell nicht realisierbar ist, lesen Sie zum Schluss, wie Sie etwas tun, damit das Programm mit WINE funktioniert. WINE sollte nicht die erste Lösung sein, aber es kann die Leute beruhigen, die Ihre App nur unter Linux verwenden möchten, und ein kostengünstigeres Projekt als ein vollständiger Port sein. Wenn Sie im Rahmen des Projekts Code zur WINE-Codebasis hinzufügen, können Sie sich nicht nur einem neuen Markt öffnen,