|
|
|
|
8. Proyectos de Software Libre.
|
|
|
|---|
El proyecto WINE es bastante antiguo, ya que nació en 1993. En aquel entonces el objetivo del mismo era lograr ejecutar programas de Windows 3.1 en GNU/Linux.Bob Amstadt fue quien inició el proyecto, pero poco tiempo después se lo pasó a su principal ayudante, Alexandre Julliard quien continúa siendo el líder de WINE.
Como su nombre lo indica, WINE no es un emulador. La idea detrás de este proyecto es la de clonar la Win32 API ( y la Win16)38. Para entender de una manera más clara el funcionamiento de este software hay que imaginarlo como una capa de compatibilidad con Windows. WINE provee lo siguiente:
Un conjunto de herramientas de desarrollo para portar códigos fuente de aplicaciones Windows a Unix.
Un cargador de programas, el cual permite que muchas aplicaciones para Windows 3.x/9X/ME/NT/2000/XP se ejecuten sin modificarse en varios UNIX para plataforma Intel como GNU/Linux, FreeBSD y Solaris.
WINE no requiere que se encuentre instalado Microsoft Windows, dado que es una implementación alternativa que no utiliza código fuente de Microsoft. Puede llegar a utilizar alguna dll (biblioteca dinámica) en el caso que se encuentre instalado Windows. El código fuente de WINE se encuentra licenciado bajo la LGPL por lo que se lo considera Software Libre.
A mediados del año 2002 el proyecto cuenta con más de un millón de líneas de código fuente escrito en lenguaje C. A su vez cuenta con un grupo de 300 personas que han participado o participan del desarrollo de esta pieza de software.
Dada la complejidad del objetivo perseguido y a su vez que la meta se encuentra en constante movimiento (cada nueva versión de Windows implica nuevos desarrollos), el proyecto aún no llegó a liberar la versión 1.0. Los detalles que faltan ajustar para poder llegar a la bendita 1.0 son:
Crear un sistema de instalación simple e intuitivo para los usuarios comunes.
Lograr soportar a las aplicaciones que fueron creadas específicamente para Windows XP (por ejemplo .NET).
WINE ha sido una pieza clave para el desarrollo de Lindows, una distribución de GNU/Linux que prometía ejecutar cualquier pieza de software diseñada para Windows. Por problemas de índole legal aún no pudo llegar a comercializarse esta distribución.
En el sitio web del proyecto se puede participar de un sistema de votación para elegir qué aplicación se desea que pueda ejecutarse en WINE. El software más votado es el Macromedia Dreamweaver, luego lo siguen - entre otros - algunos juegos como el Half-Life. También tiene votos el Adobe Photoshop y el Microsoft Word. En el caso del procesador de textos de Microsoft, ya se ha podido ejecutar bajo WINE, pero su performance aún deja mucho que desear.
También hay otro sistema, el cual se utiliza para calificar el funcionamiento de las aplicaciones bajo WINE. Se establece una separación entre las que se ejecutan y se instalan sobre UNIX de las que se ejecutan desde una partición de Windows. De esta forma se permite que los usuarios califiquen qué nivel de funcionalidad obtuvieron del software al ejecutarlo bajo WINE. La escala va de 0 a 5 y en la misma página indican cómo debe evaluar el usuario a la aplicación para evitar distintos puntos de vista a la hora de establecer la puntuación.
|
|
|
|---|
El proyecto más conocido de esta fundación es el servidor HTTP Apache. Pero en realidad son varios los proyectos Open Source que se encuentran apadrinados por esta fundación. Estos son:
El servidor HTTP Apache.
El nombre apache tiene un origen un poco discutido, algunos dicen
que viene de "a patchy server"
debido a numerosos parches del principio, otros dicen de una manera más
seria que los investigadores de este proyecto tomaron el nombre en memoria de
los Apaches por su gran adaptabilidad al terreno.
Este servidor es el más utilizado en internet. Respeta el protocolo HTTP
(1.1) normalizado por el W3C (WWW Consortium)

Esta es la encuesta que se publica en el sitio netcraft.com. Claramente se observa el predominio de Apache sobre los demás servidores. En segunda ubicación se encuentra Microsoft con su IIS, pero no alcanza el 35% del mercado contra el 60% de HTTP Apache.
Jakarta:
El proyecto Jakarta es el que se encarga de crear y mantener todas las soluciones open Source creadas para la plataforma Java. Los productos del proyecto se dividen en tres categorías generales.
Bibliotecas, herramientas y APIs. Por ejemplo Taglibs que es una colleción de tags JSP para implementar aplicaciones Web.
Motores. Por ejemplo Lucene que es un motor de búsqueda de textos totalmente implementado en Java.
Aplicaciones del lado del Servidor: Por ejemplo Tomcat que permite implementar las tecnologías de Servlets y JSP.
Perl
Integra el lenguaje de programación Perl al servidor web. Permite ejecución de scripts CGI y también lo concerniente al manejo de sesiones y autenticación de usuarios. El intérprete se encuentra embebido al servidor.
TCL
Apache Tcl intenta integrar el lenguaje de Scripting TCL con el servidor Web. A su vez el proyecto se divide en tres.
mod_dtcl: permite usar Tcl como un lenguaje de scripting embebido en el HTML y también ejecutar scripts de Tcl
neowebscript: también permite embeber el Tcl en HTML, pero utiliza intérpretes seguros y archivos db.
mod_tcl: Permite escribir módulos completos de Apache en Tcl. El intérprete se encuentra dentro del servidor lo que genera mejores tiempos de arranque.
XML
Se encarga de agrupar todos los desarrollos que vinculen XML con Apache. Entre los subproyectos más importantes se encuentran:
Xerces: Parser XML en Java y C++.
Xalan: Preprocesador de hojas de estilo XSLT, en Java y C++.
FOP: Objetos para formatear XSLT, en Java.
La fundación Apache se creó para brindar soporte organizacional, legal y financiero a todos los proyectos anteriormente mencionados. La misma, no persigue fines de lucro y se encarga de ser la “cara visible” de todos los proyectos. Esto permite que las donaciones se hagan a nombre de una entidad legal y no a un proyecto o a un líder de proyecto.
La estructura de la fundación puede denominarse una “meritocracia”. Esto implica que para poder ascender posiciones, el individuo debe tener probados pergaminos en uno o más de los proyectos. Los distintos integrantes de la estructura son:
Usuarios: Son muy útiles para el proyecto, dado que emplean el software desarrollado por la fundación. En muchos casos son quienes reportan errores encontrados y quienes contribuyen ideas sobre mejoras posibles. Algunos usuarios participan en las listas de correo ayudando a solucionar problemas que afectan a sus pares.
Desarrolladores: son aquellos que contribuyen con código fuente o documentación a la lista de correo.
Committers: son desarrolladores que contribuyen de manera frecuente al proyecto. Por esa razón tienen permiso de escritura sobre los repositorios de código fuente del proyecto. Son los encargados de tomar las decisiones diarias sobre los cambios que se efectuarán al software.
Comité de Gerenciamiento del proyecto: es un grupo de committers que toman la dirección a largo plazo del proyecto. Este comité lo elige el directorio de la fundación.
Directorio: Es el que se encarga de la administración de los asuntos de negocios de la organización. Las decisiones de índole técnica quedan delegadas en los distintos comités de gerenciamiento de proyectos.
|
|
|
|---|
Samba es un conjunto de aplicaciones UNIX que entienden el protocolo SMB (Server Message Block). Muchos sistemas operativos, entre ellos Windows y OS/2, usan SMB para operaciones de red cliente/servidor. Mediante el soporte de este protocolo, Samba permite a los servidores UNIX entrar en acción, comunicando con el mismo protocolo de red que los Windows. De esta manera, una máquina UNIX con Samba puede enmascararse como servidor en una red Microsoft y ofrecer los siguientes servicios.
Compartir uno o más sistemas de archivos.
Compartir impresoras, instaladas tanto en el servidor como en los clientes.
Autenticar clientes logueandose contra un dominio Windows.
Proporcionar un servidor con resolución de nombre WINS.
El creador de Samba fue Andrew Tridgell quien continúa liderando el equipo de desarrollo de Samba. En un comienzo Tridgell creó un programa servidor de archivos para LAN que soportaba el protocolo DEC de la empresa Digital Pathworks. Tiempo después este protocolo se convirtió en SMB, y ahí nació realmente el proyecto. En un principio simplemente era conocido como servidor SMB, pero luego no pudo mantener ese nombre y su creador tuvo que cambiarlo. Para ello utilizó el comando grep.
grep -i `sm*m.*b' /usr/dict/words
y la respuesta fue:
salmonberry samba sawtimber scramble
De esta manera nació el nombre de Samba. El paquete completo se distribuye bajo la GNU GPL. Aunque parezca extraño, Microsoft también ha contribuido materialmente poniendo a disposición de la gente de Samba la definición de SMB y del Common Internet File System (CIFS). El protocolo CIFS es el nuevo nombre de las futuras versiones de SMB que serán usadas por Windows.
¿Cuándo es recomendable usar Samba?
Para acceder a archivos NT desde un servidor Unix.
Para compartir impresoras entre clientes Windows y Unix.
Para reemplazar un servidor NT, OS/2 o Netware.
Este proyecto goza de una fama importante, en gran medida por la utilidad que reviste. Es más que interesante su implementación en ambientes LAN que cuentan con equipos que corren distintos sistemas operativos. Los servicios que brinda son los justos y necesarios para este tipo de configuraciones ( autenticación de usuarios, compartir archivos e impresoras). Con todas estas características, Samba se transforma en una herramienta más que útil y por sobre todas las cosas es libre; dándole aun más ventajas al usuario final.
|
|
|
|---|
El proyecto OpenOffice es la apuesta por parte de Sun Microsystems para destronar a Microsoft Office de los escritorios. La historia se remonta a julio de 1999 cuando Sun adquirió de la empresa alemana Star Division la suite Star Office. En junio de 2000 se lanzó Star Office 5.2. Para octubre de 2000 se publicaron los fuentes dando origen al proyecto Openoffice.
Rápidamente, se convirtió en uno de los proyectos más grandes del mundo de software libre. Actualmente se estima que alcanza a los 7,5 millones de líneas de código fuente en C++. OpenOffice cuenta con:
un procesador de textos (Writer).
una planilla de cálculos (Calc).
un software de presentaciones (Impress).
Un software para dibujo (draw).
Una de las características más importantes es que el software es multiplataforma. Corre en Solaris, GNU/Linux, Windows. A su vez se encuentran en etapas de desarrollo las versiones para FreeBSD, MacOS X e Irix. Entre sus funcionalidades principales se encuentra la posibilidad de abrir y guardar documentos en formato Microsoft Office (97/2000/XP) y cuenta con soporte para 27 idiomas.
Los archivos nativos de OpenOffice respetan el formato de intercambio de datos de XML y sus especificaciones se encuentran disponibles al público en general. La suite se encuentra licenciada bajo una modalidad dual que emplea la LGPL y la licencia de Sun SISSL (Sun Industry Standards Source License). Las implicancias de la LGPL ya fueron descriptas en la sección 4. Sobre la SISSL, se puede destacar que obliga a mantener compatibilidad entre las versiones. En el caso de no respetar la compatibilidad, se deberá publicar una implementación de referencia para dar a conocer los detalles de la modificación.
Como desventajas frente a la suite de Microsoft se puede resaltar que requiere de mayor potencia de hardware para funcionar correctamente. Si se ejecutan ambos en un mismo equipo, puede observarse claramente que los programas de Sun tardan algunos segundos más en iniciarse. También durante la operación, se nota que los programas de Microsoft responden con mayor velocidad.
Este trabajo ha sido redactado utilizando las versiones de OpenOffice beta 0.639 y la flamante 1.0 lanzada en abril de 2002.
38Win API: Application Programming Interface de Windows. Es una gran cantidad de características que facilitan la creación de software bajo Windows. Si un programador debe crear un nuevo menú, no tiene que escribir todas las instrucciones nuevamente ya que en la Win API se encuentra una rutina que hace esa tarea. La Win16 API es para Windows 3.X y la Win32 API es para Windows 95 y superiores (32 bits).
|
|
|
|