Defensa a ultranza del Software Libre
Escrito por Alex Barros En una discusión con el equipo de desarrollo del índice de dificultad IBP Index, en el que les sugiero que liberen su código por ser un proyecto sin ánimo de lucro, y con interés por propagarse (dos razones de peso para liberar código), me contestaron algo así como
entendemos la idea, pero no queremos que surjan 100.000 versiones distintas y así perder el ser un referente como índice de dificultad
(La cita no es literal)
El planteamiento de entrada me parece absurdo. No veo ningún interés en clonar el código y alterar los parámetros para ofrecer el mismo producto. No es interesante ni para el que lo ofrece, ni mucho menos para los usuarios, que preferirán “el que usa la mayoría”
Por eso me he dedicado a redactarles una respuesta que me ha llevado tanto de escribir que quiero compartirlo en éste mi blog:
Disculpad el tono de los anteriores mails. Resulta muy frustrante trabajar con tan poca documentación, más aún cuando mi tiempo para dedicar es escaso, al ser una contribución altruista.
Sigo sin estar de acuerdo con vuestro planteamiento, estoy seguro de que es fruto de un prejuicio, muy común en programadores y equipos que nunca han liberado código. Y me explico: una vez se da el paso de liberar un código, como es el caso del cálculo del índice IBP, planteamientos típicos son:
- “me van a robar el código”
- “no van a respetar la licencia que le ponga”
- “van a surgir 100.000 versiones diferentes que acapararán mi target o mi público potencial, desbancándome”
- “perderé la ilusión ante esta situación de caos”
Sin embargo, la realidad es siempre muy distinta. Los hechos del software libre son:
- Consigues que otros programadores aporten ideas, en ocasiones brillantes, para que el software mejore más rápido y trabaje de forma más eficiente. Se llegan a conseguir dinámicas de trabajo muy potentes en algunos proyectos libres
- La licencia es respetada en el 99% de los casos. Por norma, el 1% que no respeta tu licencia no consigue la más mínima repercusión y es muy fácil olvidarse de estos caso por lamentables y anecdóticos.
- Nunca salen 100.000 versiones de un proyecto libre. De hecho, casi nunca hay dos proyectos que hagan lo mismo. Lo que sí es común es un fenómeno llamado “bifurcación” (o fork en inglés) que consiste en crear un proyecto nuevo basándose en otro, pero con objetivos distintos. Ésto, lejos de perjudicar a los usuarios (por ejemplo con muchos índices diferentes para calcular dificultad en rutas de montaña) lo que hace es beneficiarles, ya que son alternativas al proyecto padre, pero adaptadas a otro objetivo (por ejemplo adaptar IBP para calcular la dificultad de un trazado en la luna destinado a robots motorizados). Tened en cuenta que si licenciáis el código bajo GNU/GPL todo fork está OBLIGADO a liberar también su código, una licencia libre es un documento legal y su incumplimiento un hecho demandable ante la ley.
- Lejos de perder la ilusión, suele resultar una inyección de motivación. Recibes sugerencias y trackback de compañeros programadores que te ayudan a mejorar el software y a plantearte nuevas ideas y nuevas formas de enfrentar los problemas. La comunidad de programadores es siempre muy activa y respetuosa.
Por último, ofrezco algunos ejemplos de éxito rotundo del software de código abierto: enciclopedia Wikipedia, servidores Apache, lenguaje PHP, sistema operativo Ubuntu, navegador Firefox, sistema de gestión de blogs Wordpress y podría continuar con miles de proyectos que han alcanzado un éxito más que evidente gracias a ser código abierto. Caso similar son las aplicaciones de software privativo que fundamentan sus sistemas con Software Libre (véase YouTube, Flickr, Wikiloc, Google, etc…)
Espero que os lo volváis a plantear, una vez más o las que hagan falta (me podéis plantear cualquier duda del tema), y que superéis los miedos; porque más allá del código lo que realmente tiene valor son las ideas, y nadie os va a hacer sombra si tenéis una comunidad apoyándoos (que la tenéis) y si vosotros, junto con otros programadores que crean en el proyecto, mantenéis IBP como un software actualizado, versátil y de calidad.
También quería comentaros que finalmente he creado una clase en PHP para Gpsia que administra las llamadas a IBP. Es software libre por lo que no sólo podéis publicarlo en vuestra web, sinó que en cierta forma es un compromiso el distribuirlo. Os lo adjunto.
Un saludo, y gracias por vuestra atención.
Por cierto, el código es éste:
ibp.class.php
-
<?php
-
// Class for getting the IBPIndex given a local filename, further information on http://www.ibpindex.com
-
// By Alex Barros for Gpsia software. License: GNU/GPL v3
-
// Requirements: PHP + Curl
-
-
-
-
class IBP {
-
var $filename; //Source filename
-
var $ibp; //Resoult: NN XX (N=number X =alphabetic)
-
-
function IBP($filename = false){ //Constructor
-
}
-
function getIBP($filename) {
-
$filename = $this->shortenName($filename); //Makes a copy with shorter filename in the temporary folder
-
$isTmp = true;
-
}
-
-
$this->filename = $filename;
-
-
//Post fields
-
$post_data[‘fichero’] = "@$filename";
-
-
$post_data[‘MOD’] = ‘BTT’;
-
$post_data[‘UDO’] = ‘Gpsia’;
-
-
//Curl connection
-
-
$ch = curl_init();
-
curl_setopt($ch, CURLOPT_URL, "http://www.ibpindex.com/esp/ibpresponse.asp" );
-
curl_setopt($ch, CURLOPT_POST, 1 );
-
curl_setopt($ch, CURLOPT_HEADER, 0);
-
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //Needed because redirection is used on the app
-
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
-
$postResult = curl_exec($ch); //return result
-
-
if (curl_errno($ch)) {
-
}
-
-
curl_close($ch); //close connection
-
-
$this->ibp = $postResult;
-
-
-
return $postResult;
-
}
-
}
-
function shortenName($filename) {
-
return $newName;
-
return false;
-
}
-
}
-
-
// usage: $ibp = new IBP(’path/to/file.gpx’); echo $ibp->ibp; //Returns something like 696 AB
-
-
?>
Categorias: Sin categoría |



Respeta el copyleft
Noviembre
16:37 José Cabo Ha dicho:
Desde siempre la humanidad se ha basado en el conocimiento colectivo para conseguir nuevos conocimientos y así, y solo así, evolucionar al día de hoy. Todos esos conocimientos son como pequeños granitos de arena que todos juntos, acumulados, forman grandes playas, es decir, que gracias a la reunión de todos los conocimientos individuales se pudo evolucionar a algo mucho más grande.
Hoy en día el paradigma es algo diferente porque creen que “es diferente”. Dicen que los tiempos actuales son diferentes, pero no, para nada. A nivel de software, que es a lo que me refiero, se ha inculcado a la gente una especie de proteccionismo y privatización al conocimiento científico informático totalmente infundado y, por supuesto, equivocado.
En el caso que comentas del índice IBP (el cual desconozco) se basan en eso mismo. En una ilusión de proteccionismo y privatización de un conocimiento cerrado que si fuera libre podría ayudar a otras personas y, por supuesto, a otras empresas si es requerido.
Es muy común convertir en ignorancia y miedo a que te “roben” un conocimiento que tanto tiempo te costó desarrollar. Pero precisamente, para evitar ese “robo” ese “hurto” en el conocimiento lo mejor es divulgarlo porque solamente de esta forma garantizaremos ser reconocidos y, al mismo tiempo, evitaremos un gasto innecesario al desarrollador de software (como se conoce vulgarmente y que siempre digo: “reinventar la rueda”).
El software libre es la respuesta a muchos de los problemas que conlleva el sofware cerrado Ó no libre. Como bien has comentado, Alex, la aportación de código por parte de otras personas (y entidades) es la principal baza para una correcta, SANA y armoniosa evolución del proyecto.
El ejemplo de Google es el más claro. Google nunca estaría donde está si no fuera por el software libre: es gracias a innumerables proyectos e _ingenio_ el porque de su éxito innegable. Por supuesto, gran parte de sus proyectos también son libres (aunque algunos otros no tanto como deberían). Y como Google hay cientos de ejemplos más.
Bueno, tampoco quiero enrollarme pero me siento realmente orgulloso de el post que has escrito hoy, Alejandro, la verdad. Espero que consigas eso que les propones, sería una gran noticia para… quien sea que lo sea (para mi, como desarrollado de software libre, lo es, pero mucho más para los usuarios pues son estos quienes realmente se beneficiarían).
Un saludo!!
Noviembre
16:44 Alex Barros Ha dicho:
Jajaja gracias por tu pequeño apunte José!
Noviembre
17:15 José Cabo Ha dicho:
xD
Diciembre
12:57 José Cabo Ha dicho:
Hola Alex!,
Obtuviste alguna noticia más?
Un saludo