Empiezas tu pregunta escribiendo:
"No estoy hablando de los creadores de esos proyectos, por supuesto que obtienen fama, pero estoy hablando de la industria en general, ¿por qué nos gusta tanto el concepto de código abierto cuando trae tantos efectos negativos a la industria?"
Pero, por supuesto, lo que importa son precisamente los creadores del software de código abierto: si no escribieran y publicaran el código, no existiría; y si lo hacen, lo hace, no importa lo que alguien más pueda desear. Y muchos, diría, si no todos, entonces casi todos, obtienen algo más que fama.
Por supuesto, algunas personas obtienen dinero escribiendo código abierto, ya sea directamente (por ejemplo, escriben el software y luego venden soporte para él) o indirectamente porque trabajan para una compañía que les paga por escribirlo (lo que generalmente significa que la compañía está obteniendo algo más que fama fuera de él). Pero una gran cantidad de software de código abierto está escrito para uso propio del escritor, por personas que solo quieren "rascarse una picazón": derivan la utilidad solo de la existencia del software, y cualquier mejora que otros realicen es solo una ventaja adicional. Además de eso.
Por ejemplo, digamos que quiero un blog. Y supongamos que quiero que mi blog tenga un conjunto de características que ningún software de blog gratuito existente proporciona de fábrica (porque entonces podría simplemente descargar el software e instalarlo y listo).
Una cosa que podría hacer sería comprar una plataforma de blogueo de código cerrado, si hubiera una adecuada en el mercado, y tal vez pagarle a la gente que la vende extra para agregar las funciones que necesito. Sin embargo, dado que conozco algunos Perl y PHP, tengo algunas opciones más:
Podría escribir mi propio software de blog desde cero y guardarlo para mí.
Podría escribir mi propio software de blog desde cero y lanzarlo como código abierto.
Podría descargar una plataforma de blogueo de código abierto y agregar las características que necesito (y, si lo deseo y / o la licencia lo requiere, liberar las adiciones como código abierto).
(Por supuesto, si mis propias habilidades de programación no fueran lo suficientemente buenas, o si sintiera que estaba demasiado ocupado como para perder mi tiempo en ese trabajo, también podría optar por contratar a alguien más para hacer cualquiera de estas cosas).
Obviamente, es probable que la última opción sea la más fácil de las tres, si hay algún software de código abierto que se acerque a lo que necesito. Pero incluso si no la hay, ¿por qué elegiría la opción 1 sobre la opción 2?
Tenga en cuenta que no tengo ningún interés en vender blogs o software de blogs a otras personas: es un trabajo tedioso y aburrido, y no es el negocio en el que estoy. Todo lo que quiero es un blog para mí que tenga el conjunto de características que necesito . Tampoco pierdo nada si alguien más usa el mismo software para crear su propio blog; en todo caso, si su blog es interesante, acabo de ganar algo para leer. Entonces, ir con la opción 1 no me gana nada sobre la opción 2.
Por otro lado, si elijo la opción 2 y alguien más decide usar el software para su blog, es probable que quieran algunas funciones que no me molesté en poner. Y, si implementan esas funciones y las lanzan ( ya sea porque mi licencia lo requiere, o simplemente porque razonaron de la misma manera que yo), después de todo, podría encontrar algunos de ellos útiles para mi blog también. Y tal vez también encuentren algunos errores que me perdí y los arreglen, lo que significa que también obtengo la solución de forma gratuita.
Entonces, por eso funciona la economía de código abierto . No se trata de desarrolladores no remunerados que escriben software que no necesitan y luego lo regalan "solo por fama". Más bien, se trata de personas que escriben software que es útil para ellos y lo comparten con otros para que esos otros puedan compartir sus mejoras con ellos.