• REDES DE DATOS, TELECOMUNICACIONES
  • LIBRO - FUNDAMENTOS DE TELECOMUNICACIONES Y REDES

Principios y filosofía del software libre

Created on Monday, 22 October 2007 Last Updated on Friday, 07 March 2014 Published on Monday, 22 October 2007 Written by Evelio Martínez Martínez, Orlando Jorge Franco Murillo
User Rating:  / 0
PoorBest 
Publicado en la revista RED, edición de Octubre de 2007

SOFTWARE+LIBRE LINUX Introducción
En la edición pasada hablamos sobre los orígenes del movimiento de software libre. También mencionamos los dos modelos de desarrollo de software: bazar y catedral, y comentábamos que el modelo bazar era el que se utilizaba para crear software libre, en donde participaban voluntariamente miles de desarrolladores diseminados en todo el mundo. Mientras que el modelo catedral es utilizado por grupos pequeños de desarrolladores, generalmente para crear software propiedad de una compañía.

En esta segunda parte hablaremos sobre los principios, filosofía y licencias en la que se basa el software libre. Abordaremos también las diferencias entre Software Libre y Open Source. Al final mencionaremos algunos de proyectos de software libre que les podrían ser de utilidad a personas que quieran enriquecer el contenido y administración de páginas web.

Principios y filosofía del Software Libre
Richard Stallman, pionero de este movimiento a nivel mundial, aclara que software libre (Free Software) es un asunto de libertad. La palabra "free" en inglés se malinterpreta como "gratis" o libre de costo. La palabra "free" se refiere a la libertad de los usuarios de poder ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software.

Para entender un poco mejor este concepto, se establecieron estas 4 libertades para los usuarios de este tipo de software.
* 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).
* La libertad de distribuir copias, con lo que puedes ayudar a la comunidad (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).

Es software libre, entonces, aquel que cumple estas cuatro libertades. El acceso al código fuente es un requisito previo para que se den las libertades 1 y 3. El código fuente son las líneas de código escritas en un lenguaje de programación, las cuales nos sirven para ver como están construidas las instrucciones del programa y es posible hacer modificaciones (al código) de acuerdo a las propias necesidades, claro, respetando la licencia de software en cuestión. No hay necesidad de avisarle o pedirle permiso a alguien por haber hecho tales mejoras al código. Si consideras que estas modificaciones pueden ser importantes para el funcionamiento de la aplicación, tienes la libertad de publicarlos para que otras personas puedan beneficiarse de estas mejoras. Si tienes el código fuente puedes convertirlo a código ejecutable (binario) por medio de un compilador o interprete de ese lenguaje de programación. Este código ejecutable es el que instalas en la computadora y correrlo con el click del ratón.

El software propietario, shareware, freeware, entre otros, no te dan la libertad de acceder al código fuente, por lo tanto no puedes hacerle mejoras ya que sólo te entregan el código binario o ejecutable, el cual no puedes modificar, y si intentas modificarlo (lo cual es imposible) te puedes meter en problemas legales. El software propietario te restringe a un más, ya que ni siquiera puedes distribuirlo o copiarlo ya que las licencias, en la mayoría de los casos, están restringidas por usuario.

Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, debes tener acceso al código fuente del programa. Por lo tanto, la posibilidad de acceder al código fuente es una condición necesaria para el software libre. Si el software no cumple con las 4 libertades, mencionadas anteriormente, entonces no es software libre.

Las licencias de software
Las licencias de software es la autorización, permiso o contrato por escrito concedido por el titular de los derechos de autor o propiedad intelectual del programa informático, al usuario de dicho software. En la licencia se establecen restricciones de uso, modificación o redistribución del software. También se señalan los límites de la licencia como el plazo de duración, el territorio de aplicación y todas las demás cláusulas que el titular de los derechos de autor establezca.

En el software libre, aunque no existen muchas restricciones con respecto al uso, modificación y redistribución del software, también existen las licencias. Aunque existen muchas categorías de licencias de software libre, por su relevancia, la gran mayoría caen en 3 tipos:
- BSD (Berkeley Software Distribution)
- MPL (Mozilla Public License)
- GPL (General Public License)

De estas tres, la licencia GPL de la GNU es la más utilizada por los proyectos de software libre. La licencia GPL está basada por el concepto "copyleft" (contrario a copyright), el cual es una manera de distribuir el software, mientras no entren en conflicto con las libertades centrales. Copyleft es una regla o tipo de licencia que implica que, cuando se redistribuya el programa, no se pueden agregar restricciones para denegar a otras personas las (4) libertades centrales. El proyecto GNU utiliza a "copyleft" como su bandera para proteger de modo legal estas libertades para todos. En otras palabras, si creaste o modificaste unas líneas de código de un software libre, no debes de poner restricciones adicionales si distribuyes tal software. Muchas compañías, por ejemplo, toman el código fuente (con licencia GPL), el cual está disponible gratuitamente en Internet. Después lo modifican de acuerdo a sus necesidades, y al momento que distribuyen el programa, no proporcionan el código fuente, además ponen otras restricciones. Esto viola la licencia GPL basada en el concepto copyleft.

Free Software vs. Open Source
En 1998, aparece un nuevo movimiento en el mundo del software, el cual se dice llamar Open Source o Código Abierto y es impulsado por la Open Source Initiative (www.opensource.org). Aunque el Software Libre y el Open Source parecen similares, tienen distintas filosofías creando mucha confusión entre los usuarios y desarrolladores. La Free Software Foundation deja claro que "el movimiento del software libre y el movimiento Open Source son como dos partidos políticos en nuestra comunidad". Open Source describe una categoría de licencias de software casi, pero no completamente, igual que software libre. Muchas personas creen que si algún software te ofrece el código fuente, es Open Source. Sin embargo, mucho de este software catalogado como Open Source, aunque te da la libertad de modificar el código fuente, no da la libertad de distribuir sus modificaciones. En algunas ocasiones puedes hacerlo, siempre y cuando, notifiques por escrito al titular del software. En muchas de las ocasiones restringen el uso comercial de éste.

En resumen, Open Source y Free Software son dos movimientos distintos con diferentes filosofías. Por un lado el Software Libre hace énfasis en que todos los programadores y desarrolladores tienen la obligación ética de respetar las 4 libertades, y por el otro lado, la corriente Open Source intenta convencer a las empresas de que pueden obtener beneficios respetando la libertad de sus usuarios al intercambiar y compartir sus programas. Aunque son movimientos distintos, ambos luchan contra su principal enemigo, el software propietario.

Proyectos de software libre
Existen en la red de Internet una infinidad de proyectos de software libre y open source que pueden ser utilizados para distintos propósitos. Nada más en el sitio SourceForge.net existen más de 157 mil proyectos registrados. Cuando uno hace uso de estas aplicaciones, como usuario, se da cuenta de las bondades del modelo de bazar, en donde muchos desarrolladores alrededor del mundo aportan sus conocimientos para seguir mejorando continuamente estos programas. Muchas de estos proyectos están desarrollados en lenguajes tales como C, C++, Java, PHP, Javascript, etc, y utilizan la licencia GNU/GPL la cual ofrece más libertades para los usuarios y desarrolladores.

A continuación listo una serie de proyectos los cuales pueden ser descargados gratuitamente en las ligas de Internet que se mencionan, los cuales pueden ser utilizados por personas o webmasters que quieran enriquecer sus páginas web.

Sistemas Administradores de Contenido:
- Joomla (www.joomla.org)
- Mambo (www.mambo-foundation.org)
- PHP Nuke (www.phpnuke.org)
- PHP WCMS (www.phpwcms.de)
- PostNuke (www.postnuke.com)


Foros de discusión:
- phpBB (www.phpbb.com)

Blogs:
- B2evolution (www.b2evolution.net)
- Nucleus CMS (nucleuscms.org)
- WordPress (www.wordpress.com)


Listas de Correo:
- PHP List (www.phplist.com)

Administradores de proyectos:
- dotProject (www.dotproject.net)
- PHProjekt (www.phprojekt.com)

Wikis
- TikiWiki (www.tikiwiki.org)
- PhpWiki (phpwiki.sourceforge.net)

Comercio electrónico
- OS Commerce (www.oscommerce.com)
- Zen Cart (www.zen-cart.com)

Quiza los proyectos de software libre/open source más utilizados alrededor del mundo son:
- Apache (www.apache.org): según NetCraft más del 50% de los servidores web en el mundo son Apache.
- Sendmail (www.sendmail.org): el cual es utilizado para agente de transporte de correo electrónico vía SMTP (Simple Mail Trasport Protocol).
- MySQL (www.mysql.org): es una poderosa base de datos muy utilizada por aplicaciones desarrolladas en PHP, Perl, Python y otros lenguajes.
- PHP (www.php.net): obviamente es el lenguaje orientado al Web más utilizado por los desarrolladores.
- Linux (www.linux.org): No podría faltar en esta lista el núcleo de Linux.

Tipos de Software
Software libre: Es aquel software que te permite la libertad de usarlo, copiarlo, distribuirlo, y como se te proporciona el código fuente, puedes estudiarlo, mejorarlo y adaptarlo a tus necesidades libremente, sin pagar o permisos a nadie. El hecho de que sea libre no significa que no puedas cobrar por la distribución o modificaciones al software, siempre y cuando no pongas restricciones adicionales, respetando las 4 libertades y el concepto de copyleft.

Software propietario: Es el tipo de software en el cual su uso, redistribución o modificación está prohibida, o se requiere que se solicite autorización al titular de los derechos de la propiedad intelectual. La gran mayoría de este software tiene un costo económico por adquirirlo, convirtiéndose en software propietario comercial. No se proporciona el código fuente, por lo que no puedes hacerle modificaciones al mismo.

Freeware: es una forma de comercialización. No debe confundirse freeware con free software, son términos muy distintos. Freeware es todo aquel programa que se distribuye gratuitamente, sin ningún costo adicional. La diferencia más importante entre ambos es que el freeware no se te proporciona el código fuente en la mayoría de los casos, sólo el ejecutable. Por lo tanto, no puedes modificarlo.

Shareware: es una modalidad de comercialización más extendida. Este software si tiene costo y desde luego no se te proporciona el código fuente. El programa viene en varias modalidades: como una versión de demostración con funciones o características limitadas o con un uso restringido en tiempo, por ejemplo 30 días. Esta modalidad le brinda al usuario probar el software antes de comprarlo, y posteriormente, si es del agrado, comprar la versión completa del programa.

Adware: Es software gratuito que contiene anuncios, si deseas comprar la versión completa sin anuncios, tienes que pagar una cantidad de dinero por adquirirla. Al igual que el freeware, shareware y el software propietario, el adware no te proporcionan el código fuente.

Las formas de distribución del software que utilizan el freeware, shareware y adware, sólo afectan la forma en que los programas son comercializados, y son independientes de la licencia de software a la que pertenezcan.

En la tercera parte de este artículo hablaremos sobre el futuro del software libre y abordaremos también el controversial tema de las patentes de software y su impacto en la industria del desarrollo de programas de cómputo.

Evelio Martínez Martínez y Orlando Jorge Franco Murillo y son: profesor-investigador y estudiante respectivamente de la carrera de Licenciado en Ciencias Computacionales, perteneciente a la Facultad de Ciencias de la Universidad Autónoma de Baja California (UABC) en la ciudad de Ensenada. Se les puede contactar en evelio(at)uabc.mx y duende.estudio(at)gmail.com

Otros artículos relacionados:
>> El origen del Software Libre (primera parte)
>> El futuro del Software Libre (tercera parte)


Hits: 30732

Licencia

Creative Commons License El contenido de la web está bajo licencia Creative Commons. Eres libre de copiar, distribuir y comunicar públicamente la obra. No puedes utilizar esta obra para fines comerciales. Si alteras, transformas o creas una obra a partir de esta obra, solo podrás distribuir la obra resultante bajo una licencia igual a ésta. Debes reconocer la autoría de la obra en los términos especificados por el propio autor o licenciante mediante un enlace a este Sitio. 

<a href="http://www.eveliux.com/mx/"> Eveliux.com </a>