Hay dos cosas a considerar aquí, creo:
La primera es que, en cierto modo, tienen razón. Escribir multiplataforma C ++ no es tan difícil si lo planeaste desde el principio . Este es casi seguramente el problema que estás viendo. La mayoría de las aplicaciones de código abierto (la mayoría de las aplicaciones que un usuario de Linux toca en un día promedio) son absurdamente multiplataforma. Piense en la cantidad de aplicaciones con las que el usuario promedio de Linux interactúa diariamente que están escritas en C o C ++ y se ejecutan no solo en Windows y Linux, sino también en MacOS, BSD, Solaris, etc. en x86, x86-64, ARM, SPARC, Esto se debe en parte a que las personas con ganas de rascar portan el código para que se ejecute en sus sistemas, pero también porque la convención es planificar la portabilidad multiplataforma.
Lo segundo es que el mercado puede ser más viable de lo que piensas. Existe una gran idea errónea de que las personas en Linux no quieren pagar por el software. Para algunas personas eso puede ser cierto, pero hay muchas personas (la mayoría, creo) que usan Linux porque les funciona mejor y lo prefieren, no por el precio. Además, si su empresa está produciendo un producto que se utiliza principalmente en un entorno profesional, las empresas están acostumbradas a pagar por el software que se ejecuta en sistemas Linux.
En cuanto al punto que señala sobre el empaque, como han dicho otros, realmente solo necesita producir paquetes para la última versión de las principales distribuciones. En realidad, hacer los paquetes no es realmente tan difícil, y la mayoría de las distribuciones principales usan paquetes debian (debian, ubuntu, etc.) o RPM (fedora, suse, centos, mandrake), por lo que es muy pequeño modificar algunos scripts para producir múltiples paquetes a partir de una línea de base .deb y una línea de base .rpm, y para todos los demás simplemente lanzar un tarball con binarios y un archivo Léame, la gente descubrirá cómo instalarlo. Alternativamente, puede omitir todos los paquetes y simplemente publicar un tarball único con un script bash o perl para realizar la instalación.
En cuanto a cómo dirigirse a los usuarios en sus foros quejándose, como dijo Joe Internet, podrían ser el porcentaje de personas que se quejarán sin importar qué, pero lo primero que haré es tratar de explicar que usted tiene un gran cantidad de código heredado que no fue diseñado teniendo en cuenta el soporte multiplataforma. En segundo lugar, honestamente vea si sería un apoyo financiero para hacer un puerto Linux, y sea abierto con los resultados de eso. Finalmente, si un puerto no es financieramente factible, vea cómo hacer un trabajo para que el programa funcione bien con WINE. WINE no debería ser la primera solución, pero podría calmar a las personas que solo quieren usar su aplicación en Linux y ser un proyecto menos costoso que un puerto completo. De hecho, si agrega código a la base de código WINE como parte del proyecto, entonces no solo podría abrirse a un nuevo mercado,