Lecciones de Software Libre

Angel E. Mendoza

Mostrando entradas con la etiqueta Software Libre. Mostrar todas las entradas
Mostrando entradas con la etiqueta Software Libre. Mostrar todas las entradas

Decreto 3390. Parte 2

La segunda entrega del artículo:

Decreto 3.390 (Migración a Software Libre) For Dummies - Segunda Parte

Bien, en la primera parte de esta serie de artículos sobre el Decreto 3.390 (3390) que establece la Migración a Software Libre por parte de los organismo de la APN (Administración Pública Nacional) arrancamos con el Artículo 1. Para después darnos un recorrido práctico por los antecedentes del concepto de Software Libre: El Free Software de la FSF, y el Open Source de la OSI, imposibles de mezclar como el aceite y vinagre, pero si la cosa funciona bien para las ensaladas aquí no podemos estar tan fregados.

En este punto alguno de mis lectores habrá llegando a la conclusión de que esto del Software Libre es una especie de “Comunismo* del Software“, realmente no tengo ni idea de si eso es verdad porque mi formación política es igual de mala que mis habilidades de cocinero. Así que mejor centrémonos es los aspectos prácticos por el momento, para después volver sobre los elementos del Decreto 3.390 ¿Ok?

Una de las primeras preguntas que hace el neófito es ¿Y eso funciona? La respuesta corta es , eso funciona. La respuesta larga, es a veces sí y a veces no, pero con “atenuantes”. Así que vamos a revisar algunos casos exitosos…

Si usted está leyendo este artículo por internet tal vez le sorprenda saber que según la gente de NetCraft, para la fecha en que escribo este post, casi el 70%Apache, mientras que un 20% corresponde a diferentes versiones de servidores Microsoft, en términos de Software Libre la compañia nombrada anteriormente es el equivalente “al que no debe ser nombrado” de Harry Potter ;-) de los servidores encargados de servir los contenidos de internet son instalaciones de

Apache Software FoundationApache es un programa que se encarga de servir páginas, imágenes y muchos otros contenidos que típicamente usted busca en internet digamos con Google, o algún otro buscador. Además de hacer ese trabajo extremadamente bien, usted no tiene que pagar ni una puya por descargarlo, instalarlo en su máquina (inclusive si esta corre Windows) y usarlo.

Lo anterior es completamente en serio, más aún, eres libre ¿recuerdas las libertades de las que hablamos antes? de descargar los fuentes de este programa desde su sitio en internet, revisarlos y modificarlos, si es que tienes la suficiente experticia técnica para eso.

¿Por qué este fulano Apache es Software Libre? Bueno, principalmente porque la Licencia Apache, que es la licencia bajo la que este software se distribuye, satisface las condiciones expresadas en la definición de Software Libre que es parte del Artículo 2 del Decreo 3.390, y además está basado en Estándares Abiertos aspecto que también es parte del decreto y que revisaremos después.

En este punto la gente que comulga con los principios del Free Software (y muy posiblemente tamben los del movimiento Open Source ;-) estará negando suavemente con la cabeza, pensando la forma de descargarme por simplificar esto en un sencillo cumplimiento de condiciones de una licencia de de un software. Pero no, tranquilos que no voy a cometer ese error ¿Ok? Así que vuelvan a colocarle el seguro a las armas por favor…

Antes de entrar en el detalle del proceso mediante el cual es posible crear software exitoso, que se distribuye bajo unas condiciones que nos harían pensar en que es mucho más seguro vender ropa interior femenina que desarrollar software, vamos a revisar algunos otros éxitos claros del Software Libre para estar seguros de que el tal Apache no fue suerte de principiantes.

FireFoxAsí que podemos ver por ejemplo FireFox, el browser que usted debería estar usando si es que aún utiliza Internet Explorer en Windows ¿Que por qué? Bueno, hay muchos buenos motivos para esto pero como “administrador” de la computadora de la casa puedo decirles que desterrar a Explorer y darle un caramelo a los niños cada vez que usan FireFox te ahorra muuuuuuchas horas de lucha con virus, troyanos, spyware y ventanitas pop-ups de esas que dicen “Su computadora no está optimizada, vaya a este sitio y compre tal producto… ” o que ofrecen algo que es igual de bueno que la Viagra pero a una fracción del precio, ustedes ya saben como es.

FireFox tiene una historia interesante, ya que como software es una especie de descendiente de los restos chamuscados de lo que hace muchos años fue el mejor y más popular navegador para internet: Netscape Navigator, producto al que Microsoft se llevó por los cachos mediante el sencillo expediente de no cobrar su propio producto.

Es posible que ustedes sean muy jóvenes como para recordar una internet incipiente que se navegaba “graficamente” con Mosaic. Si ustedes hacen click en el “acerca de” en Internet Explorer van a encontrar esto fosilizado por ahí:

Based on NCSA Mosaic. NCSA Mosaic(TM); was developed at the National Center for Supercomputing Applications at the University of Illinois at Urbana-Champaign.**

Total que del código del Mosaic salieron Microsoft Internet Explorer y Netscape Navigator, dando lugar a una lucha estilo Mortal Kombat por el dominio del mercado. Microsoft opta por no cobrar su producto (lo que no lo conviente en Software Libre, sino en gratuito, que es diferente) y la gente de Netscape ve su negocio irse al pique.

Pero ahí no termina la historia, sino que en una jugada que daría nacimiento al término Open Source, un grupo de personas, entre los que estaba Eric Raymond logran convencer a la gente de Netscape de liberar los códigos fuentes de Navigator. Después de muchas vueltas, reescrituras del código y grandes peleas, casi una saga épica, finalmente hoy tenemos un browser que en mi apreciación le lleva una morena a Internet Explorer. Pruébenlo, se los recomiendo, definitivamente no es perfecto, pero está en constante mejora y es muy fácil de extender en beneficio de los usuarios.

TuxFinalmente no podemos terminar esta segunda entrega sin mencionar Linux, sin duda alguna el proyecto de Software Libre que tiene mayor difusión y cobertura en los medios, ya que es el David contra en Goliat de Microsoft, en el mercado de los sistemas operativos.

Linux nace como un hobby de Linus Torvalds a principios de los años noventa, básicamente el tipo quería ejecutar algo como el Unix que usaba en la universidad en el PC que tenía en su casa, y si bien iniciamente peló por un Sistema Operativo de corte educativo llamado Minix, sin embargo este se le quedó corto.

Total que lanza el proyecto a internet, la cuestión gana funcionalidad y popularidad, y entonces pela por las herramientas que había desarrollado la gente de la GNU (Free Software a efectos prácticos) que tenía sus propio proyecto para desarrollar un sistema operativo con el espíritu de Unix, pero que por supuesto fuera libre.

En este punto es bueno aclarar que Linux es el Kernel (núcleo) del Sistema Operativo, algo así como la funcionalidad básica y de muy bajo nivel que “habla” con los componentes de la computadora. Mientras que el propio Sistema Operativo es una colección más amplia de programas, librerias y herramientas que permite a los usuarios interactuar con la computadora.

Total que como la gente de la FSF tenía el desarrollo del Kernel muy crudo, pero si tenía el resto de las librerías y herramientas desarrollados bajo un esquema de Free Software, estas se juntaron con el Kernel de Linus & Co dándo génesis a lo que particularmente la gente de la FSF insiste en llamar GNU/Linux.

Es posible que usted haya oído utilizar la palabra distribución, o el horroroso término distro refiriéndose a Linux, pues no se enrrolle. Una distribución linux no es más que el “combo” que incluye el Kernel Linux, más las herramientas y librerías de la GNU más otro poco de software que permite a los usuarios instalar y administrar el sistema operativo en una forma más sencilla y conveniente. Todo esto sin costo o a un precio muy bajo en comparación con los sistemas operativos tradicionales.
Yo recuerdo hace muuuchos años cuando Linux empezaba a aprecer en la escena pública, que instalarlo y administrarlo era cuesta arriba, por decirlo de alguna manera, ahora he de reconocer que el camino andando es inmenso y que este Sistema Operativo ha ganado muchísimo al punto de que la instalación y administración de algunas de las distribuciones son prácticamente equivalentes a las de Windows para un usuario típico de un desktop.

Debian¿Cuál distribución es mejor, más fácil de usar, más estable, etc? Yo diría que eso una cuestión de gustos, de hecho les recomiendo que no discutan ese tópico con alguien que ya tenga su favorita porque es algo así como cuando en las comiquitas alguien prende un fósforo y alrededor todo lo que hay son explosivos ;-) Mi gurú personal de Linux, Jose recomienda Debian o Ubuntu dependiendo del uso que se le va a dar y del tipo de usuario, pregúntenle a él. O si quieren sacarle la piedra, por pura diversión díganle que FreeBSD rulez :-p

Bueno, los tres casos anterior son unos clásicos a estas alturas,ahora ¿Son todos los proyectos de Software Libre tan existosos? Claro, que no. Hay miles de proyectos que “murieron al nacer”, o que nunca pasaron de ser una idea interesante o que produjeron unos códigos espantosos, a pesar de ser muy utilizados por la comunidad. Hay de todo en la viña del señor, el punto es que inclusive empresas como Oracle hacen afirmaciones del tipo “El Open Source está aquí para quedarse“, lo que es un reconocimiento tácito al éxito de proyectos en esta área.

Ahora ¿Cómo es esto posible? ¿Cómo es que un poco de gente alrededor del mundo se ponga de acuerdo para hacer cosas como estas cuando es imposible poner de acuerdo a más de dos personas para salir a comer? La respuesta a estas preguntas, y las otras que quedaron por ahí “guindando” en nuestra próxima entrega.

*
Otra ventaja de usar el término es que uno se asegura que la audiencia va a arrugar la cara y se va a enganchar a leer el artículo ;-)

** Creo que de esos mismo lares salió HAL 9000 :-D


Decreto 3390. Parte 1

Revisando artículos relacionados con el decreto 3390, me topé con este artículo de Aníbal Rojas, donde recorre los principales aspectos relacionados con el Software Libre de una manera muy particular.

Decreto 3.390 (Migración a Software Libre) For Dummies - Primera Parte
El Decreto N° 3.390 (3390) establece que “La Administración Pública Nacional [venezolana] empleará prioritariamente Software Libre desarrollado con Estándares Abiertos, en sus sistemas, proyectos y servicios informáticos” ni que decir que este decreto ha generado toda una secuela de confusiones, malos entendidos, carreras y expectativas entre los empleados de los departamentos de informática de organismos del estado, y en general en el sector de Tecnologías de Información (TI) de Venezuela.

Esta serie de posts pretende ser una especie de “guía no oficial” al proceso de migración a Software Libre por parte del estado venezolano. Si usted:

  • Cree que el Software Libre es sencillamente gratis y lo venden los buhoneros (sonido de chicharrita de los que pierden en los concursos de tv)
  • Trabaja en una dirección o departamento de Informática de un organismo del estado, y parece un ventilador porque ya no sabe para donde voltear para que le explique que es lo que está pasando.
  • Desarrolla o vende software y tiene al estado entre sus clientes, y le gustaría seguirlo teniendo.
  • Alguna vez ha invertido muchos dólares en un software y lo han dejado “guindando” con el mismo.

Entonces es posible que aquí pueda aclarar algunas dudas o terminar de confundirse por completo, sencillamente siga leyendo ¿Ya qué va a hacer?

La primera vez que tuve noticia del Decreto N° 3.390 fue a finales del año 2004, y la primera impresión que tuvimos en la oficina fue “No está mal“. Y es que si bien somos desarrolladores de software que trabajamos con tecnologías de punta, desde hacía varios años todas nuestras soluciones estaban basadas en código Open Source (el porque de esto más adelante), cosa que nos ha funcionado a nosotros y a nuestros clientes.

Ya vá ¡Alto! ¿Open Source, Free Software o Software Libre? ¿No son la misma cosa? Pues no amigo mío, ni se comen igual, una clara distinción de estos tres términos es fundamental para entender el Decreto N° 3.390 y el proceso de migración.

Free Software: Nada que ver con las rebajas de Enero

El movimiento del Free Software no tiene nada que ver con el precio del mismo, y está signado por el hecho de que en inglés la palabra Free se utiliza tanto para Libre como para Gratis. El slogan que pretende aclarar esta confusión semántica es ‘Free software’ is a matter of liberty, not price. To understand the concept, you should think of ‘free’ as in ‘free speech’, not as in ‘free beer’ (El ‘Software Libre’ es un asunto de libertad, no de precio. Para entender el concepto, debes pensar en ‘libre’ como en ‘libertad de expresión’, no como en ‘cerveza gratis’)

El núcleo práctico del Free Software se encuentra en las cuatro libertades, por favor no confundir con las Tres (+1) Leyes de la Robótica de Asimov:

  • La libertad de usar el programa, con cualquier propósito (libertad 0).
  • La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
  • La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).
  • La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.

Cualquier software que satisfaga las cuatro condiciones anterior califica como Free Software, en lo que a la Free Software Foundation (FSF) se refiere. Y sí, es extraño pero las numeraron empezando en cero siguiendo la costumbre de los programadores en lenguaje C, eso definitivamente no ayuda…

Veamos algunas consecuencias prácticas de la aplicación de estas libertades:

  • Puedes usar el software para hacer bombas atómicas o planear atentados terroristas, la libertad 0 te consagra ese derecho. No importa si eres chino, surafricano o polinesio, si eres comunista o derechista, o si desayunas con cochino frito en vez de cereales, siempre puedes usar el software con el fin que tu quieras.
  • ¿Se colgó el programa y el soporte técnico no responde? No hay rollo, puedes obtener los fuentes (generalmente de internet) revisar el programa y corregir el error ¿Cool no? Esa es la libertad 1 en acción.
  • Tu programa favorito lo puedes instalar en todas las computadoras que se te atraviesen: en la tuya, la de la casa y la del trabajo ¿Y lo mejor de todo? Hacerlo es legal. Mejor todavía, consigues un programa buenísimo y lo empiezas a vender, y como la libertad 2 te da el derecho de distribuir copias ¡Sigues legal, pero ademas ganas algún dinero!
  • Finalmente te gusta tanto esto del Software Libre que te fajas a modificar un programa desarrollador por otro, y lo distribuyes para que los demás se beneficien de tu genio, te admiren y puedas disfrutar de tus 5 minutos de fama. Lo mejor de todo es que quien originalmente creó el programa no puede chistar dada la libertad 3

Llegado a este punto mucha gente pone cara de haberse intoxicado con camarones y empieza a preguntarse cosas como:

  • ¿Y se puede vender? Sí, si se puede.
  • ¿Pero cuál es el modelo de negocio? Buena, pregunta
  • ¿Y ese software es bueno? Si usas internet ya tienes la respuesta, sí es bueno.

Estas preguntas son totalmente válidas, sin embargo vamos a esperar un poquito antes de intentar responderlas en mayor extension. Por que ¡En la otra esquinaaaaaaa! está:

Open Source: Los códigos fuentes me nutren

No hay que ser miembro de MENSA para entender que la FSF comporta una filosofía y valores bien particulares, más allá de simples criterios para las licencias bajo las que se distribuye el software. En contraposición con esta postura aparece la Open Source Initiative (OSI) a los que la gente identificada con el movimiento del Free Software ve como el Lado Oscuro de La Fuerza, musiquita de Darth Vader incluida. Según la OSI:

La idea básica alrededor de Open Source es muy sencilla: Cuando los programadores pueden leer, redistribuir y modificar el código fuente de un software, este software evoluciona. La gente lo mejora, lo adapta y le corrige los errores. Y este proceso sucede a una velocidad tal, que si uno está acostumbrado al lento ritmo del desarrollo tradicional de software, este es sorprendente.

Lo primero que se hace obvio es que para la OSI lo central es el proceso del desarrollo de software, y la forma en que el código abierto permite obtener mejores productos a una gran velocidad. Por este motivo la gente que se identifica con esta tendencia es vista como “pragmáticos”, la FSF tiene un documento completo al respecto: ¿Por qué “Software Libre” es mejor que software de “Código Fuente Abierto”?.

La OSI tiene su propia definición de Open Source que consta de 10 puntos, que en forma mucho más explícita coinciden en buena medida con muchos de los postulados del Free Software más allá de las 4 libertades. Les recomiendo que revisen ambos, y saquen ustedes sus propias conclusiones.

Free Software vs Open Source

Si bien el debate y la controversia entre los que apoyan el Free Software y el Open Source tiene años, y no tiene pinta de que vaya a terminar pronto, ambos equipos se han anotado sus buenos puntos (en mayor o menor medida dependiendo de a quien le pregunten) a favor de los usuarios finales y/o de los desarrolladores de software.

Inclusive existe una propuesta de “integración”, si es que se le puede decir así, FLOSS: Free/Libre Open Source, que intenta ser “neutral” pero a la que yo no le he visto mucha vida.

¡Ajá! ¿Y que tiene que ver el Software Libre con el Free Software o el Open Source?

La respuesta es fácil, sólo tenemos que tomar la definición de Software Libre que está en artículo 2 del Decreto N° 3.390:

Software Libre: Programa de computación cuya licencia garantiza al usuario acceso al código fuente del programa y lo autoriza a ejecutarlo con cualquier propósito, modificarlo y redistribuir tanto el programa original como sus modificaciones en las mismas condiciones de licenciamiento acordadas al programa original, sin tener que pagar regalías a los desarrolladores previos.

Y nos damos cuenta de que lo que está reflejado ahí es sospechosamente parecido a las cuatro libertades propuestas por el movimiento de Free Software, más un puntico de aliño que después vamos a revisar.

Bueno, esto está “mas largo que un suspiro de culebra”, como decimos en Venezuela, así que mejor dejarlo hasta aquí por hoy. Tenemos muchas preguntas por contestar entre ellas, ¿Qué es esa famosa GPL de la que tanto hablan? ¿Cómo escojo una licencia para que mi software sea libre? ¿Es negocio hacer software bajo estos términos? ¿Podrá el Escuadrón Mete La Pata salvar a Penélope?


Entendiendo el Software Libre de una manera divertida

¿Quién dice que aprender no es divertido?, como dicen, para muestra un botón (o en este caso un video):

Personajes del Software Libre

Cuando pensamos en las personas ligadas a la Historia del Software Libre, por lo general viene a nuestra mente dos o tres nombres. Sin embargo son muchas las personas que han tenido alguna participación resaltante en el surgimiento y desarrollo de este movimiento. Veamos a continuación, algunos de estos personajes y sus aportes más significativos:

Linus Torvalds: De sobra reconocido, Torvalds es el último responsable del kernel Linux sobre el que ejerce las tareas de coordinación.



Richard Stallman: Comparte con Torvalds el ser la figura más representativa en el mundo del software libre, aunque no se lleven demasiado bien. Stallman es el mayor activista por la libertad del software, creador de GNU y de la Free Software Foundation. A él le debemos programas como el editor Emacs o las herramientas de compilación gcc (GNU Compiler Collection).

Andrew Morton: Aparte de Torvalds, el kernel de Linux tiene en Andrew Keith Paul Morton a uno de sus más importantes representantes ya que se encarga de mantener la rama mm del kernel donde se incluyen todos los parches que no han sido suficientemente probados y que se incluirán con posterioridad en la rama oficial.


Eric S Raymond: Conocido como ESR, durante años ha sido el representante no oficial del movimiento de software libre. Se dio a conocer por ser la persona que mantenía actualizado Jargon File, un referente en la cultura hacker.


Andrew Tridgell: Su nombre se asocia a dos tecnologías fundamentales: Samba y rsync. Pero
Tridge (sobrenombre con el que se le conoce) es reconocido por sus excelentes análisis de tecnologías que utilizan protocolos propietarios para desarrollar y crear versiones abiertas.


Mark Shuttleworth
: Este empr
esario sudafricano es el creador de Canonical, compañía responsable del lanzamiento de una de las distribuciones Linux más populares de los últimos años: Ubuntu.


Marc Ewing: Es el responsable de la aparición de Red Hat, nombre que se le ocurrió por culpa de una gorra roja del equipo de lacrosse de la universidad de Cornell que le regaló su abuelo.


Miguel de Icaza: El nombre de este programador mexicano está claramente asoci
ado al proyecto GNOME. Poco después creó Ximian, responsabe del proyecto Mono. Esta última compañía fue adquirida por Novell.


Michael Widenius: Autor de la base de datos open-source MySQL y miembro fundador de MySQL AB. Hasta la compra de MySQL por parte de Sun, Widenius era el máximo responsable técnico de la compañía hasta que a principios de este año decidió dejar la empresa para emprender una aventura empresarial en solitario.


Rasmus Lerdorf: El creador del lenguaje de programación PHP (trabajó en las dos primeras versiones) que actualmente trabaja para Yahoo! Brian Behlendorf: Co-fundador del Apache Group, origen de la Apache Software Foundation, que presidió durante tres años. Behlendorf fue el desarrollador principal del servidor web Apache. Desde 2003, Behlendorf forma parte de la junta directiva de la Fundación Mozilla.

Theo de Raadt: es el fundador y líder de OpenBSD, una de las descendientes del mítico Unix de Berkeley. De Raadt fue también uno de los fundadores de NetBSD, de donde se desgajó OpenBSD. También lidera OpenSSH, parte del proyecto OpenBSD, y uno de los programas más utilizados por los administradores de sistemas para encriptar sus conexiones remotas a m´aquinas Unix. De Raadt es uno de los líderes más conocidos de la comunidad de los *BSDs que, pese a sus notables aportaciones al software libre, ha permanecido a la sombra de la mucho más multitudinaria comunidad Linux, con la que se ha enfrentado a menudo. Su fuerte personalidad le ha hecho polemizar en ámbitos muy diversos.

Definiendo el Software Libre

El Software Libre (en inglés free software, esta denominación también se confunde a veces con gratis por el doble sentido del inglés free en castellano) es la denominación del software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido modificado.




Según la definición de la fundación de software libre, es el software que se puede utilizar, copiar, estudiar, modificar y redistribuir sin ninguna restricción. La libertad de tales restricciones es central al concepto, por el contrario del software libre que es software propietario. La manera generalmente para que el software sea distribuido como software libre tiene que acompañarse por una licencia de software libre (o estar en el dominio público), y el código fuente del software se ha hecho disponible (para un lenguaje compilada).

El software libre suele estar disponible gratuitamente, o al precio de coste de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por ende no hay que confundir software libre con "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente ("software comercial"). Análogamente, el "software gratuito" incluye en algunas ocasiones el código fuente; no obstante, este tipo de software no es libre en el mismo sentido que el software libre, a menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.


Para ayudar a distinguir software libre (libertad) de software gratuito (del precio cero), Richard Stallman, fundador del movimiento libre del software, desarrolló la explicación siguiente: El
“software libre no es una cuestión de precio sino de libertad. Para entender el concepto, debes pensar en “libre” como en “discurso libre”, no como en “cerveza libre””. Más específicamente, el software libre significa que los usuarios de la computadora tienen la libertad a cooperar con quién eligen, y controlar el software que utilizan. El manifiesto del GNU contiene la lengua que da la evidencia de la confusión inicial de Stallman con el uso.

Tampoco debe confundirse software libre con "software de dominio público". Éste último es aquél que no requiere de licencia, pues sus derechos de explotación son para toda la humanidad, porque pertenece a todos por igual. Cualquiera puede hacer uso de él, siempre con fines legales y consignando su autoría original. Este software sería aquél cuyo autor lo dona a la humanidad o cuyos derechos de autor han expirado, tras un plazo contado desde la muerte de éste.

Así pues, una definición más moderna, dice que el software es "libre" si garantiza las siguientes libertades:

  • Libertad 0: la libertad de usar el programa, con cualquier propósito
  • Libertad 1: la libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades.
  • Libertad 2: La libertad de distribuir copias, con lo que puedes ayudar a tu vecino.
  • Libertad 3: la libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie.

Translate

Seguidores