============================================================================
1)¿Que es el SOFTWARE LIBRE (*SL*)?
Es un concepto que se usa en varios significados o respuestas. Es una linea de pensamiento o ideología política. Es una forma de desarrollar SOFTWARE. Es una forma de cooperar. Es una forma de aprender. Es un tipo de licenciamiento (no una licencia en si). Es una forma de ser libres. Es un modelo de negocios. Es un mercado informático distinto. etc etc. Nació a principios de los 80s, y luego de 20 años de existencia, muchos lo tratan de distinta forma, pero todas estas formas se complementan entre si.
En 1984, un informático Richard Stallman, inicio la Fundación del Software Libre (en inglés, las siglas son FSF, www.fsf.org) con el objeto de iniciar un proyecto para crear en general software y en particular un sistema operativo que sea tan potente como UNIX (Windows no existía aun) pero que no sea UNIX, a ese proyecto le llamo ” GNU ” (significa : GNU NO ES UNIX). También creo el concepto de “copyleft“. GNU es un sistema operativo y LINUX el núcleo (kernel, core)de ese sistema (creado por un estudiante llamado Linus Torvalds), por eso lo correcto es hablar de GNU/LINUX
¿Porque hacer esto?
Por que hasta ese momento el software se podía usar, copiar, compartir, mejorar, estudiar LIBREMENTE…. y de pronto ya no se podía….
¿Como es eso?
La informática no nació con Microsoft Windows 95/98/2000/XP/VISTA/elquevenga, ni con las PC. Ya existía algunas décadas antes. Durante mucho tiempo, solo grandes empresas podían acceder a las costosísimas computadoras, sin embargo los usos y costumbres hacian que los programas se compartieran libremente. En ese tiempo había dos roles, así como existen hoy, ellos son :
El Informático, y El Usuario.
Solo que en ese tiempo esos dos roles los podíamos encontrar en una sola persona, es decir que el Informático era Usuario de sus programas o el Usuario era también quien se hacia sus programas. Y la posibilidad de compartir conocimiento permitió un aceleramiento en el aprendizaje y en la comunicación.
Cuando empezaron a existir las computadoras para el resto de los mortales, un mercado nuevo nació. Así es, a partir de los 80s, las computadoras llegaron a casi todas las empresas, y muchísimos hogares. Aquí hubo un quiebre, el rol del Informático lo encontrábamos en una persona con estudio técnicos, y el rol del Usuario lo podíamos encontrar en el resto de la humanidad (excelente demanda, ¿no?).
Entonces algunos pensaron que vender software podría ser muy muy rentable, pero enseguida se dieron cuenta que el software no era un bien escaso, sino que era un servicio. Esto es porque un programa podía duplicarse en un disquete (ahora CD, DVD, PENDRIVE, etc) infinitamente aun costo infinitesimal. Sin embargo la idea de cobrar software donde podía (o no) existir una inversión importante en el desarrollo, sabiendo al final el costo de producción era muy pequeño ciertamente era tentador. Ello llevo a que la idea del Licenciamiento del Software, sería un excelente camino para esta nueva “mina de oro”. Pues si bien se podía duplicar el software a bajo costo, esa operación esta permitida únicamente para el fabricante, más no para los usuarios. La consecuencia fue que el software paso a ser mas un producto que un servicio. Y la libertar de compartir o la posibilidad de hacerlo en este nuevo escenario, era casi nula y hasta era perseguida.
¿Y entonces?
Entonces, esa fue la pregunta que se hicieron algunos programadores, que no querían ser esclavos intelectuales de este nuevo sistema de mercado. Uno de ello, se llama Richard Stallman. Con su fundación, que ha alcanzado el status internacional (particularmente me gusta compararla o llamarla la Greenpeace de la Informática), abrió una luz de esperanza para aquellos millones de personas que querían seguir aprendiendo libremente, sin ningún tipo de manipulacion empresarial o gubernamental, pues aquí no se trata solo de informáticos sino de todo el mundo…
Desde la FSF se plasmo el concepto hoy conocido como Software Libre (SL)
¿Concretamente que es?
El “Software Libre” es un asunto de libertad, no de precio.
Para entender el concepto, debe pensar en “libre” como en “libertad de expresión”‘. En inglés una misma palabra (free) significa tanto libre como gratis, lo que ha dado lugar a cierta confusión. Tanta confusión que muchos, buscando un sentido más pragmático, acuñaron el término Open Source (osea Código Abierto), concepto de gran importancia, así como su entendimiento. Tan importante (que el SL implica tambien disponer del codigo fuente), que ahora otros buscan unificar términos en una sigla, FLOSS (Free/Open Source Software). (Mas info en : Código Abierto Software Libre. Sin embargo podremos encontrar a cada uno estas lineas en distintos lugares y por ende algunas diferencias.
“Software Libre” se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:
Libertad 0 | * La libertad de usar el programa, con cualquier propósito | Se refiere al PROGRAMA EJECUTABLE |
Libertad 1 | * La libertad de estudiar cómo funciona el programa, y adaptarlo para ti | Se refiere al CODIGO FUENTE |
Libertad 2 | * La libertad de distribuir copias, con lo que puedes ayudar a tu vecino | Se refiere al PROGRAMA EJECUTABLE |
Libertad 3 | * La libertad de mejorar el programa y hacerlo público a los demás | Se refiere al CODIGO FUENTE |
Las dos primeras libertades (0 y 1) se refiere al Software Libre y Yo
Las dos ultimas libertades (2 y 3) se refiere al Software Libre y los demás (ej. amigos, clientes)
(se enumera 0 1 2 3, porque los informáticos son personas muy especiales)
😀
¿OK, ya sé que es el SL, como puedo hacer SL?
En realidad hacer SL, es igual que siempre, mas algunos beneficios; como el de tener costos de desarrollo menores a medida que la comunidad que esta atrás del mismo sea mayor. Todo proyecto de SL, tiene una comunidad atrás, aunque esa comunidad este compuesta por tres personas y una de ellas sea un novel usuario
:)….
¿OK, si es casi lo mismo, cual es la diferencia?
El tema está en la licencia que se usara para proteger ese software. Esa licencia es como cualquier otra, solo que respeta los principios del SL, su ideología y su concepto. La FSF, creo una licencia que sirve como modelo de otras licencias, hasta el día de hoy es la mas usada y la que mas respeta la filosofía de la FSF.
Esa Licencia respeta las libertades del SL, imponiendo obligaciones y deberes para bien de todos los que estén de acuerdo con el SL. Esa Licencia fue creada para el software que se desarrolle para el proyecto GNU, y es una licencia publica general, y de esas dos ideas obtenemos las siglas y denominación, estamos hablando de la GNU/GENERAL PUBLIC LICENSE (licencia publica general GNU), otra forma de conocerla es la GNU/GPL, o simplemente GPL.
Esta GPL, es usada para que un software sea considerado SL, pero hay otras licencias que también lo permiten. Sin embargo, luego de dos décadas la GPL, es la explicación jurídica del éxito actual del SL.
Pues todo tiene que ver con la posibilidad de cooperación, todos aquellos millones de personas que desean colaborar, pueden hacerlo porque saben que la GPL, le asegura que su trabajo no sera manipulado por ciertos operadores informáticos. Y así con gusto colaboran y comparten sus logros, sabiendo que lo pueden hacer, y que no sera solo aprovechado por empresas, sino por TODOS (para que sea de todos implica que ninguno puede apropiarse exclusivamente de el). Osea con cuando un software en libre, es de Todos. En resumen, el Software Libre tiene 20 años de existencia…….y es importante distinguir el concepto de SL, del termino Licencia.
*_El SL no es una licencia_*, SL habla de libertades, no habla explícitamente de ninguna de obligación, son lineamientos. Cuando un software es libre, significa que la propiedad de esa “obra” no es de alguien en particular sino que es TODOS, porque nos da libertades a todos.Las Licencias son otra cosa, que pueden o no seguir los pensamientos del SL, pero que seguro traen obligaciones…..
Las licencias propietarias o privativas, obviamente no respetan el SL.
Están lo que se conocen como LICENCIAS LIBRES, son varias, aunque como mencionamos antes y ahora repetimos, la mas usada y la que representa la punta de la lanza es la LICENCIA PUBLICA GENERAL del proyecto GNU (GNU/GPL o simplemente GPL). Si un programa tiene licencia GPL, entonces tenemos en nuestras manos una “realidad” del SL. La GPL es la licencia que defiende a rajatabla el SL de la mejor manera según la FSF. GNU/LINUX, que es el núcleo del sistema operativo GNU, tiene licencia GPL. La GPL es quien me asegura que el SL seguirá siendo Libre, y si lo quiero modificar el programa y ponerle mi nombre para venderlo o regalarlo, lo puedo hacer, siempre y cuando lo haga bajo licencia GPL, osea que otro también puede modificar/mejorar el programa nuevamente y todo seguirá siendo libre para todos. Todo esto es posible porque la Licencia GPL aparte de hablar de las libertades del SL, también establece OBLIGACIONES. Estas obligaciones permitan evitar el libertinaje y asegura la libertar de todos por siempre.
La GPL, obliga a respetar esas libertades mencionadas antes.
Otra obligación que establece la GPL, es que todas las derivaciones de un programa licenciado con esa licencia, deben ser también licenciadas con la GPL.
Obviamente para poder modificar el programa, esta implícito el hecho del código fuente abierto (o en ingles “opensource”, y es mejor no confundir con el movimiento hermano OPENSOURCE). De las libertades, podemos extraer los derechos que poseemos, y también las obligaciones que implícitamente existen para poder defender esas libertades.
Ej; PAPO, el programa de gestión que desarrolla la fundación vía libre (eso no significa que lo iniciaran ellos). Esta relacionado con un proyecto internacional, GNUe, que ellos adoptaron. También una eventual comunidad de contadores podría tomar el código fuente de ese programa y adaptarlo a nuestras necesidades o mejorarlo con algún modulo adicional y ponerle como nombre ECONO-SOFT (por ej).
Si yo solo lo desarrollo y lo uso en forma particular me quedo con “todo” y ahí se termino la historia (es algo entre el SL y Yo, o sea libertades 0 y 1)
Pero si empiezo a repartir copias ECONO-SOFT a otros colegas ahí debo respetar la GPL, que me obliga a liberar el código fuente. Al final esas mejoras también podran ser aprovechadas por la Fundación Vía Libre o, e incluso por la gente del proyecto internacional, o por Don Pepe que tiene un supermercados en la esquina. (es algo entre el SL y los demás, osea libertades 2 y 3). Y otra obligación es que quien tome ese trabajo, deberá transmitir estas mismas libertades y obligaciones y así, y así, y así, y así sucesivamente (y colorín colorado esta historia…. aun no ha terminado….)
Sobre la forma de controlar el cumplimiento de la licencia GPL, es tema para otro momento. Pero la FSF, y mucha otras organizaciones velan por la GPL.
No debemos pensar que esto es una lucha entre FSF y Microsoft o entre GNU/LINUX y Windows. Va mas allá, del enfrentamiento con una empresa monopolica. Lo que las empresas como Microsoft, tiene como enemigo no es GNU/LINUX, sino al SL y la GPL. Pero hasta los mas obtusos pueden cambiar, ¿no?. Hace poco Microsoft lanzó software bajo tres tipos de licencias, Microsoft Permissive License (Ms-PL), Microsoft Community License (Ms-CL), Microsoft Reference License (Ms-RL); en fin, una vez más el que detenta ser el mas grande, el mas poderoso, el mas rentable, demuestra que a veces se tiene que guardar sus opiniones irrisorias y publicidad malintencionada, para volver sobre sus pasos.
GNU/Linux es lo que es al aporte de miles Hombres y Mujeres, que confiaron en la GPL, y los conceptos del SL. Sin la GPL y el SL, GNU/Linux no sería más que otra tesis universitaria. Y obviamente gracias a su creador Linus Torvals, que confió en la GPL en su momento, y la adopto para su proyecto.
La clave del SL, es que exista un grupo de gente con necesidades comunes (comunidad). Lo increíble, es que muchas veces desconocemos que hay otros con nuestras necesidades, y para eso esta Internet nos dio la gran solución.
GNU/LINUX, es lo que es, porque un joven universitario empezó un proyecto y lo licencio con la GPL. De esa forma todo aquel que quiera cooperar, sabe que su trabajo no es aprovechado por un ente egoísta, sino que es beneficio de todos. Lo mas increíble, es que funciona. Y no solamente para informáticos sino para muchas áreas de la sociedad.
Como decíamos, existen otras Licencias Libres, que respetan al SL (valga la redundancia), aunque no son tan estrictas como la GPL:
ZPL : LICENCIA PUBLICA ZOPE, se usa para el servidor ZOPE
MPL : LICENCIA PUBLICA MOZILLA , que se usa con la Suite MOZILLA (es un navegador y programa de correo)
NPL :LICENCIA PUBLICA NETSCAPE (el primer navegador masivo, por el se dice “navegar”)
ASL : LICENCIA SOFTWARE APACHE, el servidor web mas usado del mundo (2/3 de internet, osea es el software que envía las paginas web a su pantalla)
Las licencias no libres, son las Licencias privativas o propietarias. Ej Microsoft Software License. Windows es un ejemplo de Software Propietario y Pago
¿Hay, Software Propietario y Gratuito? SI, pero no es SL. Ellos son el FREEWARE y el SHAREWARE; el SL no es ni uno ni otro.-
_FREEWARE_: son programas gratuitos, pero nada mas (no son libres). Hoy son gratis , mañana pueden no serlo (ojo con eso).
_SHAREWARE_: son programas de pruebas por 30 días, luego hay que pagarlos. Tampoco son libres
¿Hay, Software Libre y Gratuito? SI ej, GNU/LINUX (el núcleo del sistema operativo); otros ej.: OPENOFFICE, MOZILLA, POPFILE, etc, etc (millones de etcéteras)
¿Hay, Software Libre y Pago? SI ej, GNU/LINUX. Alguien puede vendérmelo, nada lo prohíbe.
El Software Libre es eso, libre, (si lo pagas o no, es una decisión mía). Sucede que al no pagarse licencias de uso, se vuelve un software muy económico. Y al estar disponible muchas veces desde Internet, se puede obtener, legalmente, sin pagar por él. Eso no quita que alguien que desarrolle software libre pueda venderlo y cobrarlo. De hecho la licencia GPL, especifica que se esta obligado a dar el “código fuente” a quienes se dé, venda o regale el software, pero no dice nada de dárselo a otras personas. (hay un sutil comentario que luego hablaremos)
A veces me confundía diciendo que el SL podia ser gratuito o pago. Eso daba la sensación, de que había programas libres que podían ser sin costos y otros programas libres podían ser onerosos. Ese fue un error en el que incurría hasta hace poco. En realidad el SL es gratuito y pago. ¿Como es posible? El mismo programa libre puede tener ambas modalidades; es posible ya que depende de como comprador quiera adquirirlo…(ejemplo) sera gratis si lo descarga de internet y lo instala el mismo …… y puede ser pago si le pide a otra persona que se lo copie y se lo instale.
Si de ultima se paga o no, es por el servicio asociado al software; no por el software en sí.
¿Quien puede cobrar dinero por algo que se puede conseguir gratis?
Puede cobrar aquel que ofrezca algo adicional al software. De eso se trata la economía de servicios, del Valor Agregado.
PD:
————————————————————————————————————————————-
1) ¿Como se hace un programa?
Primero debemos elegir el lenguaje de programacion. Ejemplo “C” (que por cierto, para algunos, es uno de los mejores en su tipo).
Cuando programamos, lo que hacemos es escribir una serie de instrucciones, funciones, etc, que forman un “codigo”, que sera la fuente de informacion de como funciona “realmente” el software.
Por eso al finalizar el programa lo que hemos realizado es escribir el “Codigo Fuente” (en ingles Source). El “Codigo Fuente” es lo que podemos leer sin problemas (si sabemos programar en este lenguaje, en nuestro caso “C”) pues tenemos efectivamente acceso al codigo, que nos dice que hace (Codigo Fuente).
El Codigo Fuente, me gusta asimilarlo, a que cuando cocinamos en nuestra casa, necesitamos una receta (logica) y los ingredientes, y eso puede ser el “Codigo Fuente”.El “Codigo Fuente” en definitiva nos da la “respuesta cierta” a la pregunta ¿QUE HACE ESTE PROGRAMA? . Es decir conociendo la receta y los ingredientes sabemos con que estamos alimentandonos; lo contrario es ir a comer a McDonalds
😉
Pero el “Codigo Fuente” no es entendible por la computadora (que de ultima solo conoce ceros y unos).
En resumen: el Codigo Fuente es para “entender o modificar” el programa, no es para usar.
¿Entonces?
Tenemos lo que se dice “compilar” el programa, osea compilar el “Codigo Fuente”.
Esto de compilar es un proceso que se realizar con un “programa especial” relacionado al lenguaje que habiamos elegido, en nuestro caso “C”; por lo que estamos hablando del “COMPILARDOR C”. En nuestro ejemplo gastronomico seria el horno
Este proceso, COMPILACION, tiene por objeto, obtener un codigo que pueda entender la maquina. Es un proceso casi invisible para nosotros por lo que no debe representar mayores comentarios ni razonamientos. Entonces al resultado de compilar el “Codigo Fuente”, se lo conoce como “Codigo Objeto”. El Compilador es como un maquina procesadora, que tiene una bocade entrada y una de salida
GRAFICAMENTE:
CODIGO FUENTE | >> | COMPILADOR | >> | CODIGO OBJETO (el PROGRAMA en si) |
RECETA+INGREDIENTES | >> | HORNO | >> | PLATO SERVIDO 😀 |
Para no caer en detalles, asimilo el concepto de “Codigo Objeto” a “Codigo Maquina” a “Binario” a “Programa Ejecutable” a “Aplicacion” a “Programa Final”.
En realidad estamos hablando de programa propiamente dicho, que estamos acostumbrados a usar en nuestras computadoras.
Algo que no se debe dejar pasar es que ese CODIGO OBJETO o BINARIO o PROGRAMA EJECUTABLE, es lo que si puede entender la computadora, pero que nosotros por mas genios de la informatica que seamos, no podremos, pues es un codigo totalmente ilegible para el ser humano. Es para la computadora.
En resumen: el Codigo Objeto (binario) es para “usar” el programa, no es para “entenderlo o modificarlo”.
Finalmente decimos que el software puede ser visto de dos formas. Por un lado lo que los usuarios usan en si, que es el Programa Ejecutable (codigo objeto), solo entendible por la computadora.
Y con lo que los programadores trabajan, el codigo fuente, desde donde nace todo software; y es entendible por quienes desarrollan. Pero que no sirve para el usuario final, porque no es ejecutable.
Sin el codigo fuente no existe el Programa (codigo objeto) que queremos usar, es como una instancia anterior a él mismo.
Si el codigo fuente es la receta y los ingrediente de una comida, el Programa seria el plato servido en la mesa para ingerirlo, y el proceso de cocina seria el de compilar
——————————————————————————————————————————
RESUMIENDO:
Estamos acostumbrados a usar los Programas Ejecutables (Binarios).
Son los que instalamos, los que corremos en la maquina, los que usamos……nunca podemos mejorarlos, ni sabemos que hace ciertamente.
Desde hace ya unos 30 años en que el capitalismo en su peor concepto entro en la informatica e introdujo el Licenciamiento. Antes no era asi.
En su esencia fue siempre libre.
Ese licenciamiento es lo que prohíbe que ud., me de una copia de ese binario (programa).
Antes podias hacerlo, era moneda corriente.
Sugiero que analice esto desde la óptica del usuario.
No de la forma “Si yo fuera desarrollador, porque quiero regalar mi trabajo, porque atentar contra la propiedad intelectual…”. Esto es una forma incorrecta de iniciar el análisis, por estar asumiendo ideas preconcebidas que por error del que escribe no pudoe evacuar en este escrito (mea culpa).
La Propiedad Intelectual, existe y punto. No entraremos en si es un forma artificial de prolongar monopolicamente un derecho bien adquirido en un momento, que ha sido exagerado en el tiempo. Y hasta aquí hablaremos del asunto.
Cada Nación, con sus leyes norma sus regímenes de Derechos de Autor. Y es aquí donde quiero hacer la distinción de Propiedad Intelectual, para alejar la idea de PATENTES de SOFTWARE, una de la ridiculeces de este capitalismo obsceno.
Ojo, este no es un articulo comunista, particularmente estoy en contra de ambos extremos. En particular de un monopolio en manos de un gobierno (comunismo) no es diferente de un monopolio en manos de una corporacion. Sinceramente creo que el bienestar general esta en el medio.
Usted, Desarrollador ahora, es dueño o derecho habiente de la obra y tiene todos los derechos que eso implica. El software Libre le dice a usted que tiene otra alternativa para transar con ese software que la del Licenciamiento Privativo. Recuerde que la idea es la Libertad, si usted quiere Licenciarlo con la GPL a PEPE, y Privativamente a COCO, USTED ES LIBRE DE HACERLO
😀
El porque COCO aceptaría no recibir los beneficios del Licenciamiento Libre que recibe PEPE, es tema para otra historia; solo diré que COCO puede hacer algo que PEPE no podrá, a pesar de tener este las 4 LIBERTADES. Obviamente COCO podrá hacer algo que nada tiene que ver con los preceptos del Software Libre y las 4 Libertades, y quizas por eso este dispuesto a pagar muchisimo mas que PEPE…. Y no explico mas nada, porque ya fue demasiado por hoy no?
Salu2 a To2