Ci sono due cose da considerare qui penso:
Il primo è che, in un certo senso, hanno ragione. Scrivere C ++ multipiattaforma non è così difficile se lo hai pianificato dall'inizio . Questo è quasi sicuramente il problema che stai vedendo. La maggior parte delle applicazioni open source (la maggior parte delle applicazioni che un utente Linux tocca in un giorno medio) sono assurdamente multipiattaforma. Pensa al numero di applicazioni con cui l'utente medio Linux interagisce quotidianamente, scritte in C o C ++ ed eseguite non solo su Windows e Linux, ma anche su MacOS, BSD, Solaris, ecc. Su x86, x86-64, ARM, SPARC, ecc. Ciò è in parte dovuto al fatto che le persone che hanno il prurito di grattare il codice per eseguire il codice sui loro sistemi, ma anche perché la convenzione prevede di pianificare la portabilità multipiattaforma.
La seconda cosa è che il mercato potrebbe essere più redditizio di quanto si pensi. C'è un grosso malinteso sul fatto che le persone su Linux non vogliono pagare per il software. Per alcune persone potrebbe essere vero, ma ci sono molte persone (la maggior parte, penso,) che usano Linux perché funziona meglio per loro e lo preferiscono, non a causa del prezzo. Inoltre, se la tua azienda sta producendo un prodotto che viene utilizzato principalmente in un ambiente professionale, le aziende sono ben abituate a pagare per l'esecuzione del software su sistemi Linux.
Per quanto riguarda il punto che poni sull'imballaggio, come altri hanno già detto, devi solo produrre pacchetti per l'ultima versione delle principali distribuzioni. Realizzare i pacchetti non è poi così difficile, e la maggior parte delle principali distribuzioni utilizza pacchetti debian (debian, ubuntu, ecc.) O RPM (fedora, suse, centos, mandrake), quindi è molto secondario modificare alcuni script per produrre più pacchetti da un .deb di base e da un .rpm di base, e per tutti gli altri basta lanciare un tarball con binari e un file Leggimi, le persone capiranno come installarlo. In alternativa, puoi saltare tutto il packaging e pubblicare un singolo tarball con uno script bash o perl per eseguire l'installazione.
Per quanto riguarda il modo in cui rivolgersi agli utenti dei tuoi forum lamentandosi, come ha detto Joe Internet, potrebbero essere solo la percentuale di persone che si lamenteranno, qualunque cosa accada, ma la prima cosa che farei è cercare di spiegare che hai un una grande quantità di codice legacy che non è stato progettato pensando al supporto multipiattaforma. In secondo luogo, vedi onestamente se fornirebbe un supporto finanziario per creare una porta Linux ed essere aperto con i risultati di ciò. Infine, se una porta non è economicamente fattibile, vedi come fare qualche lavoro per far funzionare bene il programma con WINE. WINE non dovrebbe essere la prima soluzione, ma potrebbe benissimo molestare le persone che vogliono semplicemente usare la tua app in Linux ed essere un progetto meno costoso di una porta completa. Infatti, se aggiungi codice alla base di codice WINE come parte del progetto, non solo potresti aprirti a un nuovo mercato,