¿Para qué el código fuente?
En algunos comentarios de este artículo se repite el mismo tipo de respuesta errónea:
¿Para qué necesitan el código fuente los usuarios si la inmensa mayoría no lo quiere y no lo entiende? No les ofrece ninguna ventaja.
Ese tema lo explico con más profundidad en mis charlas (también podéis escucharla, a pesar de mi voz). Es una confusión que tiene mucha gente, creen que lo principal del software libre es el acceso al código. Sí, es una precondición a dos de las libertades necesarias, pero no es el objetivo, sino simplemente un medio para asegurar la mejora y el avance del software libre.
David Cifre lo dice en unos de los comentarios con la comparación de la ciencia. La “publicación” (casi sinónimo de “revisión de pares) es un pre-requisito de la ciencia moderna –además todos los artículos científicos están disponibles sin restricciones–, aunque la inmensa mayoría de la gente no sea capaz de hacer ciencia, ni siquiera de entender sus fundamentos. ¿Por qué?
Otra condición indispensable es que el conocimiento científico es propiedad de la humanidad. ¿Para qué? Simplemente porque es la única forma de asegurar que la ciencia avance es permitiendo que todos sean capaces de aportar. Un científico sólo, o un laboratorio, universidad o incluso país no podría haber llegado hasta donde estamos ahora. Se hizo en comunidad.
¿Aceptaríamos una ciencia moderna donde el conocimiento estuviese reservado a “los que saben”?
La sociedad entera lo rechazaría (ver lo que pasó con el proyecto Genoma y la competencia privada, de paso, sin tenéis tiempo podéis ver que licencia tiene el software que se ha usado y qué “licencia” tienes los resultados). ¿Pero acaso no hay muy pocos científicos expertos en un tema?
En el caso del software libre es un poco más sencillo de responder que en la ciencia moderna. Ya lo esbocé antes, tiene mucho que ver con la cuarta libertad, la de permitir mejoras y distribución de esas mejoras.
Aunque hay muchos más programadores que científicos, y aunque “programar seriamente” es mucho más sencillo y barato que “hacer ciencia seriamente”, hay muy pocos programadores. Aún más, dada la complejidad del software libre ya existente es imposible que un programador, aunque sea un genio, pueda entender o mejorar todas las rutinas o problemas del software. Es imposible.
Richard Stallman fue el fundador del proyecto GNU, pero él no puede (o tardaría demasiado tiempo) entender o mejorar todos los programas. Linus Torvalds reconoce que él no sabe como funcionan todos los programas que componen el núcleo Linux (a pesar que es relativamente pequeño).
Analizando cualquier sistema GNU/Linux, aunque sea el más básico, está claro que no podría haber sido desarrollado por RMS o Linus sólos. Ninguno de los dos ni siquiera se lo hubiese planteado. Pero lo han empezado porque contaban con que el trabajo iba a ser comunitario. Se ha mejorado mucho porque se ha hecho en comunidad, cada uno aportó lo que sabía o podía, como en la ciencia.
Por eso, la disponibilidad del código fuente y la libertad para mejorarlo es lo que se asegura que se pueda trabajar en comunidad. No hace falta que lo hagan o sepan todos, sólo aquellos que saben y desean hacerlo, pero la única forma de asegurar esa posibilidad es que el código sea libre para todos –como lo es el conocimiento científico–.
De paso, como ya expliqué en otros apuntes, esa libertad permite que se libere el mercado de servicios de informática, inherentemente monopolítisco en el software privativo. Ésta es una de las ventajas para los usuarios. Y seguramente será la forma en que ganaremos dinero [éticamente] los informáticos sin limitar la libertad a los usuarios, todo lo contrario, como en las profesiones “normales”.
PS: ¿por qué algo que es asumido como “positivo” o “invaluable” en la ciencia es rechazado de plano para el software? ¿por qué la “ciencia pública” está muy bien y el “software público” es de “fanáticos religiosos”? ¿por qué condenaron a Galileo? Si váis a llenarme de comentarios, no comencéis flames vacíos, pensad mejor en argumentos en esta línea.
Las transmisión de datos entre ordenadores, es conocimiento disponible para el que quiera aprenderlo, pero esto no significa que una persona que ha fabricado un router siguiendo ese conocimiento haya de dejar ver a todo el mundo la parte de programa que hay dentro de ese router para que funcione.
Las estructuras de datos y los programas que usa Google, están basados en el método PageRank que clasifica las páginas en función de los enlaces que apuntan a ellas. Este método es conocimiento científico que ha sido publicado y cualquiera puede estudiar, aprender y discutir. Pero otra cosa muy diferente es tener acceso a la implementación concreta que de ese conocimiento científico han realizado los chicos de la empresa Google. Son cosas diferentes, que en el caso del software libre, el acceso al código es posible, pero también se ha de respetar que no tiene porque ser siempre así. Y la razón de que esto sea así es que detrás de cada implementación hay un esfuerzo humano de fabricación muy costoso y por tanto dejémos que en cada caso, esos que han hecho el esfuerzo decidan si la implementación ha de ser libre o no.
Comment by Anonymous — Monday 14/3/2005 @ 17:52
A #1. No estoy al tanto de dicho método ni de que parte se basa en aspectos científicos ni de que va. Pero fijate en tus mismas palabras. Alguien publicó dicho método. Google lo ha usado. ¿Lo ves bien? Quien publicó dicho método efectuó un esfuerzo humano muy costoso. ¿No crees que debería haberselo guardado para si mismo?. ¿No debería restringuir su uso, impedir que otra persona llegara a descubrirlo?. Entiendo por tus palabras que dicho método es algo que se ha publicado en la comunidad científica. ¿Por qué cuando se trata de ciencia comprendes la necesidad de seguir las 4 reglas pero cuando se trata de software no?.
Imaginemos un mundo de ciencia “privativa”. Cada descubrimiento sería celosamente secreto y guardado para que nadie pudiera reproducirlo o basarse en él para nuevas ideas. En ese mundo “redescubrir” las leyes de la termodinámica a partir de una máquina de vapor sería motivo de cárcel. Porque claro, quien descubrió dichas leyes efectuó un esfuerzo humano muy costoso.
Es lo que pasa con el software ahora mismo. Ese mundo tendría una serie de consecuencias y efectos colaterales muy desagradables. Y todo porque ya no se cumplen 4 tontas leyes. Pues eso está pasando en el software. Os pareceran 4 tontas leyes, pero produce una serie de consecuencias y efectos colaterales que se extienden por todo el tejido de la sociedad muy desagradables y cada vez vamos a peor.
Y en ese hipotético mundo (espero que los sea) habría un grupo de locos fanáticos y fundamentalistas, panda de comunistas que te hablarían de ética e intentarian explicarte porque es necesario usar un sistema donde se cumplan las 4 condiciones.
Cada día tengo más claro que nos dirigimos a una nueva edad media.
Y respecto a los flames… en realidad no, a mi no me extrañan nada estos flames que se montan aquí y en otras partes con la ética del software libre. En un foro sobre ciencia, en un flame sobre un tema científico, se montan exactamente los mismos flames, y podemos apreciar exactamente las mismas acusaciones. Del tipo los científicos van de prepotentes, los científicos son fanáticos y funcamentalistas (no creen en la astrología y la predicción del futuro por posos de café, son cerrados de mente…). Exactamente las mismas “joyas” que tan a menudo veo aquí y en otros sitios, solo que aplicado al software libre.
Por que claro, lo “políticamente correcto” como dice Ricardo con el software pero aplicado a la ciencia sería poner al mismo nivel el método científico y sus descubrimientos con la astrología, los curanderos, la telequinesia y demás maravillas. Y además sin argumentos ni pruebas, ¡¡no seamos fundamentalistas!!
Mira, siendo egoista, si al menos nos dejaran vivir tranquilos con el software libre y nos dejaran crear nuestro propio “mundo” ya sería feliz. Por desgracia no nos dejan y nos hacen la vida imposible con numerosas tácticas que habreis podido leer aquí mismo. Mencionaría las patentes de software, pero no lo haré porque estas ya es rizar el rizo. Se atacan a ellos mismos ya que son igualmente de dañinas para el software privativo.
O en la vida misma. Pongamos el caso de la administración. Que usen software privativo para manejar mis datos, calcular los impuestos que debo pagar y demás es analogo a irse al a seguridad social y que intenten tratarte un cancer con acupuntura.
Comment by davidcg — Monday 14/3/2005 @ 20:13
Haría bien el presidente de AETIC (la patronal tecnológica), Jesús Banegas, que ahora ha salido a la palestra pidiendo neutralidad en la elección del software por parte de la administración. La noticia tiene unas cuantas perlas de este señor que comento en mi weblog.
Un saludo.
Comment by Arturo — Monday 14/3/2005 @ 21:14
Haría bien el presidente de AETIC (la patronal tecnológica), Jesús Banegas, en leer esta entrada de tu weblog Ricardo.
(se me olvidó poner lo de “en leer la entrada en tu weblog” xD, un saludo)
Comment by Arturo — Monday 14/3/2005 @ 21:15
Totalmente de acuerdo, solo añado una cosa que se me acaba de ocurrir sobre “los que saben”: yo siempre he querido ser uno de ellos, y me parece que la grandeza de “los que saben” es mucho mayor cuando no hay secretos para nadie. Además, así “los que saben” pueden ser más numerosos y cualquiera puede aspirar a ser uno de ellos. Individualmente tal vez pierdan control sobre sus semejantes, pero como especie todo son beneficios. Darwin, alguien? ;-P
Comment by guillem — Monday 14/3/2005 @ 23:34
Los símiles tienen un límite, y a veces no cumplen su función y complican más los conceptos antes que aclararlos. Haciendo de abogado del diablo, la diferencia entre la ciencia y el software, para alguien que admite la libertad en una y no en otro, creo que está clara: con una no ganas dinero y con otro… sí. Y ahora te tienes que enredar a explicar y “demostrar” que el software también es ciencia, que si se gana dinero es por no ser libre y público (que es un poco como discutir sobre el huevo y la gallina: vendo licencias->no es libre->vendo licencias), etc, etc.
¿No hay otra manera de decirlo?.
No se… creo que quien no quiera entender lo del software libre, en esta comparación con la ciencia puede que encuentre más argumentos a su favor.
Comment by jotarp — Tuesday 15/3/2005 @ 9:06
Hombre, no se si te he entendido bien, pero me consta que hay muchos científicos en el mundo y que además viven de ello y ganan dinero. No se alimentan del aire. Si te refieres a DINERO con mayúsculas… ¿Científicos Millonarios?, pues no se, pero ¿cuantos informáticos millonarios hay?
Comment by davidcg — Tuesday 15/3/2005 @ 10:50
No me gusta demasiado la comparación con la ciencia. La ciencia descubre cómo funcionan las cosas, como son. Pero la tecnología (en este caso la informática) INVENTA cosas basadas en los conocimientos que ha dado la ciencia. ¿no es así?
Me parecen cosas diferentes, no es lo mismo compartir los conocimientos sobre el medio, que la invención utilizando las tecnologías.
Comment by Joserra — Tuesday 15/3/2005 @ 17:29
Tpicos, ciencia y suposiciones errneas
Ahora no tengo mucho tiempo para escribir algo razonado y bien argumentado –ya lo har ms adelante–, pero en los ltimos apuntes –propongo o comparo en muchos aspecto el software libre con la ciencia– se repiten una serie de falsos tpicos:
…
Trackback by Ricardo Galli, de software libre — Tuesday 15/3/2005 @ 17:31
lo que tenia que decir ya lo dije
Comment by diana carolina rodriguez — Thursday 28/4/2005 @ 16:58