Ci sono due cose da considerare qui, penso:
Il primo è che, in un certo senso, hanno ragione. Scrivere cross-platform C ++ non è così difficile se lo pianifichi 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 Linux medio 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. Questo è in parte dovuto al fatto che le persone con un prurito da porting portano il codice da eseguire sui loro sistemi, ma anche perché la convenzione è quella di pianificare la portabilità multipiattaforma.
La seconda cosa è che il mercato potrebbe essere più redditizio di quanto pensi. Esiste un enorme malinteso secondo cui le persone su Linux non vogliono pagare per il software. Per alcune persone questo può essere vero, ma ci sono molte persone (la maggior parte, penso) che usano Linux perché funziona meglio per loro e preferiscono, non a causa del prezzo. Inoltre, se la tua azienda produce un prodotto che viene utilizzato principalmente in un ambiente professionale, le aziende sono ben abituate a pagare per l'esecuzione di software su sistemi Linux.
Per quanto riguarda il punto che si fa sulla confezione, come altri hanno già detto, è davvero necessario produrre pacchetti per l'ultima versione delle principali distribuzioni. Realmente creare i pacchetti non è poi così difficile, e la maggior parte delle principali distribuzioni utilizza o pacchetti debian (debian, ubuntu, ecc.) O RPM (fedora, suse, centos, mandrake), quindi è molto minore modificare alcuni script per produrre più pacchetti da un file di base .deb e un file di base .rpm, e per tutti gli altri basta lanciare un tarball con i binari e un readme, la gente capirà come installarlo. In alternativa, puoi saltare tutta la confezione e pubblicare solo un singolo tarball con uno script bash o perl per fare l'installazione.
Per quanto riguarda come indirizzare gli utenti sui forum a lamentarsi, come ha detto Joe Internet, potrebbero essere solo la percentuale di persone che si lamenteranno a prescindere da cosa, ma la prima cosa che farei è provare a spiegare che hai una grande quantità di codice legacy che non è stato progettato pensando al supporto multipiattaforma. In secondo luogo, sinceramente, vedi se sarebbe in grado di fornire un supporto finanziario per realizzare una porta Linux e di essere aperto con i risultati. Infine, se un porto non è finanziariamente fattibile, si prega di fare del lavoro per far funzionare bene il programma con WINE. WINE non dovrebbe essere la prima soluzione, ma potrebbe tranquillamente semplificare le persone che vogliono semplicemente usare la tua app in Linux, ed essere un progetto meno costoso di una porta piena. Infatti, se aggiungi codice alla base di codice WINE come parte del progetto, non solo potresti aprirti ad un nuovo mercato, ma potresti anche ottenere una buona reputazione dalla comunità.