Viva el Software Libre

Imaginen esta situacion. En la empresa donde trabajas usan un software que no es libre, la empresa compro la licencia, y ya sabes, todo legal. ¿Que pasa cuando un amigo sabe que tienes ese software y te pide una copia?

Nos veremos en la disyuntiva si hacerle el paro o hacerle caso a la empresa “dueña” del software y quizas perder la amistad. ¿Que haces ante esta situacion?

Pues entonces resulta que:
Estoy haciendo la vez de Pringao para una amiga y me pidio que le instalara FileMaker para fines educativos, en su trabajo lo usan y dan cursos pero a ella no le toco que le enseñaran y pues quiere aprender. Pedi a un amigo que tiene ese software… mejor dicho se lo pedi a los 3 del departamento de informatica y la contestacion fue un rotundo “NO, es de la empresa y la clave tambien”. :O

¡Viva el Software Libre!

Aplicaciones portables

¿Cuantas veces hemos ido a un laboratorio en la escuela o a un café internet y lo primero que hacemos es buscar Firefox?, si, no esta, y lo más seguro es que solo usemos la espantosa e azul para bajarlo e instalarlo, ¿o te atreves a navegar con eso?. Pero algunas veces el instalar programas esta restringido.

Pues existe una “suite” de aplicaciones que puedes usar desde la comodidad de tu memoria USB, Portable Apps, navegador, cliente de correo, suite ofimática, mensajero, calendario, editor de paginas web, editor de imagenes, si, hasta un servidor de páginas web..y lo mejor de todo: libre de usar, copiar o distribuir.

Algunos de los programas que puedes usar son: Firefox, Thunderbird, OpenOffice, Gaim, Sundbird entre otros. ¿Y aun así te resistes a usar software libre?

Análisis de los modelos de desarrollo de software: privativo contra libre

La creación de software se basa en dos modelos de desarrollo, la forma tradicional denominada privativa, propietaria o no libre, la cual se construye de una manera muy elaborada, si resulta algún error se imposibilita de hacer algo al respecto, es el modelo que sigue la mayoria de los fabricantes de software comercial; y la forma libre, la cual se puede mejorar y adaptar según las necesidades, este modelo lo llevan a cabo cientos de programadores alrededor del mundo compartiendo sus conocimientos. El objetivo es analizar los dos modelos y resaltar las diferencias existentes, las ventajas y desventajas de utilizar cualquiera de ellos.

Para empezar.

El software es el conjunto de programas y procedimientos de una computadora necesarios para la realización de una tarea especifica. Esto incluye desde sistemas operativos, aplicaciones ofimáticas, hasta pequeños programas para la realización de una tarea pequeña.

Los elementos que conforman cualquier tipo de software son: un lenguaje de programación, un compilador y el programa ejecutable. El programador escribe sentencias en el lenguaje de programación generando un código denominado “código fuente”. Despues, el compilador se encarga de tomar ese código, lo traduce al idioma de la computadora y crea un “programa ejecutable”.
Para poder corregir errores o mejorar el programa es necesario modificar el código fuente, volver a compilar creando un nuevo programa ejecutable.

Software Privativo.

El software privativo o propietario es aquel que los usuarios tienen limitadas las posibilidades de usarlo, modificarlo y redistribuirlo, o cuyo código fuente no esta disponible o su acceso se encuentra restringido.

En este software una persona o una compañía posee los derechos de autor, y solamente entrega al comprador una copia del programa ejecutable.

Contiene una licencia de uso que indica la cantidad de computadoras donde se puede utilizar, y como el acceso al código fuente está restringido no se puede estudiar ni modificar, mucho menos mejorar. Tambien esta prohibido redistribuirlo o transferir la titularidad a un tercero.

Características.

  • El diseño y programación la llevan a cabo un grupo pequeño de programadores lidereados por ejecutivos de grandes empresas.
  • El tiempo para la liberación de nuevas versiones es largo.
  • El proveedor es el único que puede mejorar y/o reparar los errores y generalmente tardan meses de revision exhaustiva por unos cuantos.
  • El proveedor no se hace responsable de los desperfectos que pudiera presentar o lo que puediera ocasionar en el equipo donde sea instalado.
  • El soporte técnico en la mayoría de los casos especialmente en empresas transnacionales son instrucciones para la instalación, configuración y uso del programa. La reparación de errores detectados no esta al alcance de quien da el soporte.
  • La continuidad del producto depende de la conveniencia y las condiciones enconómicas de la empresa desarrolladora.
  • Los programadores gastan sus días a cambio de un salario en programas que ni siquiera quieren ni necesitan.
  • Sigue un modelo de negocio basado en licencias.
  • Altos costos en las licencias provocando con esto las copias ilegales del producto.

Software Libre

El software libre es aquel que una vez obtenido garantiza que puede ser usado, estudiado, copiado, modificado y redistribuido libremente.

Es importante recalcar que aunque la mayoria de las veces puede ser adquirido de forma gratuita puede ser vendido comercialmente.

Originalmente el software era libre, los programadores y desarrolladores compartian sus programas para estudiarlos y aprender de ellos. Pero las empresas empezaron a imponer licencias restrictivas a los usuarios.

Características.

  • Un programa es considerado libre si cuenta con las siguientes libertades: 1)Libertad de usar el programa con cualquier propósito, 2)Libertad de estudiar el programa y de adaptarlo a sus necesidades,3) Libertad de distribuir copias del programa, 4)Libertad de mejorar el programa y redistribuir dichas modificaciones.
  • La creación de software libre surge por las necesidades personales del programador y en algún punto se le unen otros programadores ayudando en el desarrollo, extensión y depuración del mismo.
  • Cientos de programadores ayudan para el desarrollo, lo que hace que el desarrollo sea mucho más rápido y confiable.
  • Se puede utilizar herramientas libres disponibles y reutilizar código de otros proyectos del mismo tipo.
  • Los usuarios llegan a ser colaboradores al diagnosticar problemas, sugerir correcciones, y ayudar a mejorar los programas, y mucho mas rápido de lo que se haria sin ayuda.
  • Las versiones son liberadas continuamente para que se usen y así obtener una mayor cantidad de correcciones logrando un efecto benéfico.
  • Las versiones llevan un control, pueden ser estables o inestables dependiendo de lo que desea el usuario, que simplemente funcione o probar las nuevas características del programa.
  • Si el programador o la empresa pierde el interes en el producto, el código sigue accesible para que otros continuen con el desarrollo.
  • No tiene ningún tipo de garantía, pero en materia de soporte técnico, la empresa que brinde el servicio tiene acceso al código fuente pudiendo de esta manera satisfacer las necesidades del cliente.
  • Sigue un modelo de negocio basado en servicios. El cliente no paga por el uso del software, sino por los servicios de asistencia técnica.

Conclusiones

El modelo privativo es un modelo de trabajo muy elaborado, los proyectos se construyen de un manera muy elaborada, se realizan cuidadosa, y lentamente, por lo tanto tardan demasiado tiempo en sacar cosas nuevas al mercado y en muchas ocasiones tienen algunos errores que no se detectan por los programadores y requieren corregirlo en futuras versiones.

El modelo libre resulta una forma de trabajo mucho mas rápida, eficiente, el producto resulta mas estable ya que entre toda la comunidad de usuarios ayudan a detectar muchos más errores y corrgirlos. Debido a esta forma de trabajar se liberan proyecto al mercado rápidamente.

Referencias y lecturas recomendadas.

Software Libre versus Software Propietario.
Autor: Javier Smaldone

La catedral y el bazar.
Autor: Eric S. Raymond

Conceptos en Wikipedia

Este articulo lo realizamos entre mi compañero Manuel Villareal y yo, para un trabajo en la escuela, si tienes algun otro punto que agregar sera bienvenido.