#27 Pensamos en términos distintos.
Yo entiendo el software como "las leyes".
Tú lo entiendes como "los zapatos".
Me explico...
Las leyes son un compendio de datos que son interpretados para más o menos tratar de organizar las cosas y establecer una especie de "contrato social".
Los zapatos son unas prendas que sirven para caminar.
Me parece perfecto que alguien haga unos zapatos y los venda. Debe ganar dinero con ello, claro.
Sin embargo, me parecería terrorífico que alguien hiciera leyes y las vendiera!
Aún y así, hay quien sabe interpretar dichas leyes, quien sabe "usarlas" y se gana la vida (y estructura la sociedad!) con ello: abogados, procuradores, jueces...
Yo creo que el software es como las leyes.
Para desarrollar las leyes están los legisladores. Para desarrollar el software están los "científicos de software". Tipos que desarrollan algoritmos de todos los colores.
Los "programadores" (llámalos como quieras) son los que saben "interpretar" los algoritmos. Yo no tengo porqué saber cómo funciona la compresión zip del mismo modo que un abogado no tiene porque ser miembro del Supremo, ni un arquitecto tiene que conocer las propiedades químicas del aluminio. Pero sé usar las librerías que lo implementan.
Por tanto, como desarrollador, puedo vivir de mi trabajo, del mismo modo que el abogado vive del suyo. Mi negocio no es "vender algoritmos". Eso es algo demasiado importante y se lo dejo a los "científicos". Esos algoritmos, como las funciones matemáticas, físicas, etc, deberían ser libres; forman parte del conocimiento humano.
Si conoces algún diseñador gráfico es probable que te diga que echa de menos el Freehand.
A ti te parece sensato que una empresa pueda comprar a otra y borrar el "conocimiento" que hay en ella porque no puede equiparar su producto?
Adobe compró Macromedia y, como no podía hacer nada similar al freehand, y no le interesaba continuar con el desarrollo, siguió con un producto claramente inferior, el illustrator, y ni tan siquiera se preocupó en investigar cómo estaban hechas las funcionalidades del primero!
Adobe "borró conocimiento" por dinero para liquidar competencia. Del mismo modo que en su día alguien quemó la biblioteca de Alejandría por poder.
Oracle quizá se cargue MySQL.
Cualitativamente es lo mismo que lo de la biblioteca. No es una cuestión "ideológica". Es sencillo sentido común.
Del mismo modo que ahora nos parecería aberrante que una empresa "vendiera leyes", confío en que en unos años nos parezca aberrante que empresas "vendan algoritmos" o, en sentido más amplio, "vendan lógica".
El programador no debería "vender software", debería "vender su habilidad para interpretarlo". El trabajo sería un trabajo más cercano al "documentalista" que al "picateclas"; más como un abogado: buscar librerías e implementarlas; codificar nuevas y documentarlas.
Y estoy seguro de que nos ganaríamos mejor la vida en ese entorno.
#26, Evidentemente se puede ganar dinero con el desarrollo de software libre, es cierto, hay muchas empresas que ganan dinero con esa ideología, sin embargo, la mayoría de los empresarios que crean una empresa independientemente del tipo siempre buscan el mayor beneficio posible además de hacer cumplir sus propios valores ideológicos con propia empresa.
Hay empresas de software libre que ganan dinero con su software y además lo hacen cumpliendo sus propios valores ideológicos, en este caso hacer libre su software, pero hay otras empresas que piensan que lo mejor es hacer lo contrario, es decir, sacar su software sin que nadie pueda ojear su código fuente y obtener el mayor beneficio económico posible, ¿Es justo?, ¿Es injusto?, eso es relativo a razón de la ideología de una persona.
También decir que por desgracia en este mundo el dinero está por encima de todo y lo que es también triste muchas veces, por encima de la vida, esto hará que muchas empresas les importe más el dinero que cualquier otra cosa y harán lo que sea necesario para conseguir sus objetivos.
Evidentemente el software es desarrollado por programadores usando un lenguaje o más para desarrollarlo, nadie lo discute y menos yo que soy programador y tengo la suerte de trabajar hoy en día e incluso con mi lenguaje preferido C++.
Sobre los algoritmos, funciones, etc... que yacen en el código fuente del "software cerrado", es lógico que las empresas propietarias de ese código quieran ocultar dicho conocimiento a posibles competidores que puedan perjudicarles en algún aspecto y ya no digamos el aspecto económico, si su software fuera libre cualquiera podría obtener por la cara su desarrollo con lo que todo el tiempo y dinero que ha costado crearlos se habría tirado en vano, si alguien crea un algoritmo, shader o lo que le sea útil en el desarrollo de su software y no quiere compartirlo con otros está en su derecho de patentarlo. ¿Es injusto patentarlo?, para mi desde luego no.
Referente al futuro y presente del software libre según tu último comentario, no hay que olvidar que gran parte del software libre es gratuito con lo que las empresas que buscan el mayor beneficio económico harán uso de dicho software libre y gratuito para ahorrar costes, mira Android, ¿Cree que si fuera de pago las empresas que actualmente lo incluyen en sus aparatos lo seguirían incluyendo?, o por el contrario ¿Ojearían otras posibilidades de otros sistemas operativos para sus aparatos?.
Es más, ya que he mencionado esto diré algo más que considero importante, si todo el software libre actual fuera de pago ¿Crees que tendría la misma cantidad de usuarios? y ¿Piensas que los que actualmente defienden el software libre seguirían haciéndolo si todo el software libre fuera de pago?. Yo creo que ni mucho menos debido a la gran cantidad de hipócritas que habrá.