Lecciones de Software Libre

Angel E. Mendoza

Comunidades de Software Libre en Venezuela

Comunidades del Software Libre en Venezuela.

Tratando de ubicar un listado de las principales comunidades de Software Libre en Venezuela, me tope con este listado que quiero compartir con uds:

SOLVE



VELUG




Grupo de Usuarios de GNU/Linux de Portuguesa

Grupo de Usuarios Valencia/Venezuela Software Libre


BolivarLUG

Grupo de Usuarios de Software Libre GNU/Linux del Estado Bolívar x





Activistas por el Software Libre



Ubuntu Venezuela





UNPLUG
G
rupo de usuarios de GNU/Linux


GULIP



GUSL




Mundo Accesible









GULPF Grupo de Usuarios GNU/Linux de Punto Fijo



GULUP Grupos de Ususarios GNU/Linux Caracas (UNEFA)



Fuente: http://teletriunfador.wordpress.com/2009/12/20/comunidades-del-software-libre/


¿Qué es una Comunidad de Software Libre?

Una Comunidad de Software Libre es un grupo de personas que cooperan entre sí en distintas áreas relacionadas con el Software Libre. Estas personas pueden ser usuarios, desarrolladores, distribuidores, personal de soporte, traductores entre otras cosas. Las comunidades pueden abarcar todas estas áreas, o enfocarse en algunas específicas.
Así, dependiendo del área de la comunidad, sus objetivos van a variar. Pero todas tienen en común el espíritu cooperativo, la búsqueda continua del mejoramiento y difusión del software libre y del conocimiento, y que su principal interés es la libertad de los usuarios.
Entre las actividades comunes que realiza una Comunidad de Software Libre están conferencias, festivales de instalación, capacitaciones y un largo etc.
Si tenés alguna duda relacionada con el software libre, puedes unirte a alguna Comunidad, y sus miembros harán todo lo posible para ayudarte.

Fuentes: http://www.softwarelibrecr.org/faq/comunidad

Mapa Mental del UML

Mapa Mental Del UML
























Fuente: http://lebiram89.blogspot.es/img/UML-MapaMental.JPG

Diagramas UML.

UML se compone de muchos elementos de esquematización que representan las diferentes partes de un sistema de software. Los elementos UML se utilizan para crear diagramas, que representan alguna parte o punto de vista del sistema.

Son 13 los diagramas definidos en la especificación de UML 2.0 de Grupos de Desarrollo de Objetos.

Hay dos grupos principales:
Diagramas Estructurales los cuales muestran una vista estática del modelo; y Diagramas de Comportamiento los cuales muestran una vista dinámica del modelo. Veamos a continuación, la lista de diagramas que componen cada grupo:

Diagramas Estructurales: representan elementos componiendo un sistema o una función. Estos diagramas pueden reflejar las relaciones estáticas de una estructura, como lo hacen los diagramas de clases o de paquetes, o arquitecturas en tiempo de ejecución, tales como diagramas de Objetos o de Estructura Compuesta.
  • Diagrama de Clases: captura la estructura lógica del sistema, las clases y cosas que constituyen el modelo. Es un modelo estático, describiendo lo que existe y qué atributos y comportamiento tiene, más que cómo se hace algo.
  • Diagrama de Objetos: está relacionado de cerca con un diagrama de Clases, con la diferencia de que éste describe las instancias de los objetos de clases en un punto en el tiempo.
  • Diagrama de Componentes: ilustra los fragmentos de software, controladores embebidos, etc. que conformarán un sistema. Un diagrama de componentes tiene un nivel de abstracción más elevado que un diagrama de clase; usualmente un componente se implementa por una o más clases (u objetos) en tiempo de ejecución.
  • Diagrama de Estructura Compuesta: refleja la colaboración interna de clases, interfaces o componentes para describir una funcionalidad. Los diagramas de estructura compuesta son similares a los diagramas de clase, a excepción de que estos modelan un uso especifico de la estructura.
  • Diagrama de Despliegue: muestra cómo y dónde se desplegará el sistema. Las máquinas físicas y los procesadores se representan como nodos, y la construcción interna puede ser representada por nodos o artefactos embebidos. Como los artefactos se ubican en los nodos para modelar el despliegue del sistema, la ubicación es guiada por el uso de las especificaciones de despliegue.
  • Diagrama de Paquetes: se usan para reflejar la organización de los paquetes y sus elementos, y para proveer una visualización de sus correspondientes nombres de espacio.
Diagrama de Comportamiento: Los diagramas de comportamiento describen las características de comportamiento de un sistema o proceso de negocios.
  • Diagrama de Interacción: Una interacción es una generalización para un tipo de diagrama de interacción. Los diagramas de interacción pueden ser: de secuencia, de tiempos, de comunicaciones y de descripción de la interacción.
  • Diagrama de Secuencia: es una representación estructurada de comportamiento como una serie de pasos secuenciales a lo largo del tiempo. Se usa para representar el flujo de trabajo, el paso de mensajes y cómo los elementos en general cooperan a lo largo del tiempo para lograr un resultado.
  • Diagrama de Tiempos: define el comportamiento de los diferentes objetos con una escala de tiempo. Provee una representación visual de los objetos cambiando de estado e interactuando a lo largo del tiempo.
  • Diagrama de Comunicaciones: muestra las interacciones entre los elementos en tiempo de ejecución en forma semejante a un diagrama de Secuencia. No obstante, los diagramas de Comunicación se usan para visualizar relaciones inter-objetos, mientras que los diagramas de Secuencia son más efectivos para visualizar procesamiento a lo largo del tiempo.
  • Diagrama de Descripción de la Interacción: muestran la cooperación entre otros diagramas de interacción para reflejar el flujo de control que responde a un propósito abarcativo.
  • Diagrama de Actividades:se usan para modelar el comportamiento de un sistema, y la manera en que éste comportamiento está relacionado con un flujo global del sistema. Se usan los caminos lógicos que sigue un proceso basado en varias condiciones, concurrencia en el proceso, los datos de acceso, interrupciones y otras alternativas del camino lógico para construir un proceso, sistema o procedimiento.
  • Diagrama de Casos de Uso: describen las relaciones y las dependencias entre un grupo de casos de uso y los actores participantes en el proceso. Describe los requisitos funcionales del sistema, la forma en la que las cosas externas (actores) interactúan a través del límite del sistema y la respuesta del sistema.
  • Diagrama de Máquina de Estados: modela el comportamiento de un solo objeto, especificando la secuencia de eventos que un objeto atraviesa durante su tiempo de vida en respuesta a los eventos. Ilustra cómo un elemento (a menudo una clase) se puede mover entre estados, clasificando su comportamiento de acuerdo con los disparadores de transiciones y las guardas de restricciones.
Fuente: http://www.sparxsystems.com.ar/download/ayuda/index.html?umldiagrams.htm

UML Basics.

¿Que es el UML?

Lenguaje Unificado de Modelado (LUM) o (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group).

Es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software. Se usa para entender, diseñar, configurar, mantener y controlar la información sobre los sistemas a construir.

UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

UML capta la información sobre la estructura estática y el comportamiento dinámico de un sistema. Un sistema se modela como una colección de objetos discretos que interactúan para realizar un trabajo que finalmente beneficia a un usuario externo.

UML está diseñado para su uso con software orientado a objetos, y tiene un uso limitado en otro tipo de cuestiones de programación.

¿Que no es UML?
  • No es un método de desarrollo, lo que significa que no sirve para determinar qué hacer en primer lugar o cómo diseñar el sistema, sino que simplemente le ayuda a visualizar el diseño y a hacerlo más accesible para otros. UML al no ser un método de desarrollo es independiente del ciclo de desarrollo que vayas a seguir, puede encajar en un tradicional ciclo en cascada, o en un evolutivo ciclo en espiral o incluso en los métodos ágiles de desarrollo.
  • No dice cómo pasar del análisis al diseño y de este al código.
  • No es una serie de pasos que te llevan a producir código a partir de unas especificaciones.

Objetivos del UML
  • UML es un lenguaje de modelado de propósito general que pueden usar todos los modeladores. No tiene propietario y está basado en el común acuerdo de gran parte de la comunidad informática.
  • UML no pretende ser un método de desarrollo completo. No incluye un proceso de desarrollo paso a paso. UML incluye todos los conceptos que se consideran necesarios para utilizar un proceso moderno iterativo, basado en construir una sólida arquitectura para resolver requisitos dirigidos por casos de uso.
  • Ser tan simple como sea posible pero manteniendo la capacidad de modelar toda la gama de sistemas que se necesita construir. UML necesita ser lo suficientemente expresivo para manejar todos los conceptos que se originan en un sistema moderno, tales como la concurrencia y distribución, así como también los mecanismos de la ingeniería de software, como son la encapsulación y componentes.
  • Debe ser un lenguaje universal, como cualquier lenguaje de propósito general.
  • Imponer un estándar mundial.

Arquitectura del UML.

Arquitectura de cuatro capas, definida a fin de cumplir con la especificación Meta Object Facility del OMG:
  • Meta-metamodelo: define el lenguaje para especificar metamodelos.
  • Metamodelo: define el lenguaje para especificar modelos.
  • Modelo: define el lenguaje para describir un dominio de información.
  • Objetos de usuario: define un dominio de información específico.

Fuentes:
McGill Polanco Lozano, ULM
http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado
http://docs.kde.org/stable/es/kdesdk/umbrello/uml-basics.html

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?


Translate

Seguidores