You are on page 1of 20

Software libre: los diez ms importantes del 2011

Por Marta Alejandra del Valle Lau y Hsing Li Chang Ascencio Organizacin de computadoras y assembler

Guatemala 2012 Software libre: los diez ms importantes del 2011

Por Marta Alejandra del Valle Lau y Hsing Li Chang Ascencio Organizacin de computadoras y assembler

Universidad del Valle de Guatemala Facultad de Ciencias y Humanidades 16 de febrero de 2012 I. INTRODUCCIN

El software libre free software es la denominacin del software que respeta la libertad de los usuarios sobre su producto adquirido. Donde ese puede ser copiado, estudiado, modificado y redistribuido libremente. Como definicin ms formal se tiene que es La libertad de los usuarios para ejecutar, copiar, distribuir, estudiar y modificar el software y distribuirlo modificado segn la Free Software Foundation.

II.

HADOOP

Apache

Hadoop es

un framework

de

software que

soporta aplicaciones

distribuidas bajo una licencia libre. Permite a las aplicaciones trabajar con miles de nodos y petabytes de datos. Consiste bsicamente en el Hadoop Common, que proporciona acceso a los sistemas de archivos soportados por Hadoop. El paquete de software The Hadoop Common contiene los archivos.jar y los scripts necesarios para hacer correr Hadoop. El paquete tambin proporciona cdigo fuente, documentacin, y una seccin de contribucin que incluye proyectos de la Comunidad Hadoop. Una funcionalidad clave es que para la programacin efectiva de trabajo, cada sistema de archivos debe conocer y proporcionar su ubicacin: el nombre del rack (ms precisamente, del switch) donde est el nodo trabajador. Las aplicaciones Hadoop pueden usar esta informacin para ejecutar trabajo en el nodo donde estn los datos y, en su defecto, en el mismo rack/switch, reduciendo as el trfico de red troncal (backbone traffic). El sistema de archivos HDFS usa esto cuando replica datos, para intentar conservar copias diferentes de los datos en racks diferentes. El objetivo es reducir el impacto de un corte de energa de rack o de fallo de interruptor de modo que incluso si se producen estos eventos, los datos todava puedan ser legibles.8 Un clster tpico Hadoop incluye un nodo maestro y mltiples nodos esclavo. El nodo maestro consiste en jobtracker (rastreador de trabajo), tasktracker (rastreador de tareas), namenode (nodo de nombres), y datanode (nodo de datos). Un esclavo o compute node (nodo de cmputo) consisten en un nodo de datos y un rastreador de tareas. Hadoop requiere tener instalados entre nodos en el clster JRE 1.6 o superior, y SSH. Sistemas de archivos [editar]Hadoop Distributed File System

El Hadoop Distributed File System (HDFS) es un sistema de archivos distribuido, escalable y porttil escrito en Java para el framework Hadoop. Cada nodo en una instancia Hadoop tpicamente tiene un nico nodo de datos; un clster de datos forma el clster HDFS. La situacin es tpica porque cada nodo no requiere un nodo de datos para estar presente. Cada nodo sirve bloques de datos sobre la red usando un protocolo de bloqueo especfico para HDFS. El sistema de archivos usa la capa TCP/IP para la comunicacin; los clientes usan RPC para comunicarse entre ellos. El HDFS almacena archivos grandes (el tambao ideal de archive es de 64 MB9 ), a travs de mltiples mquinas. Consigue fiabilidad mediante replicado de datos a travs de mltiples hosts, y no requiere almacenamiento RAID en ellos. Con el valor de replicacin por defecto, 3, los datos se almacenan en 3 nodos: dos en el mismo rack, y otro en un rack distinto. Los nodos de datos pueden hablar entre ellos para reequilibrar datos, mover copias, y conservar alta la replicacin de datos. HDFS no cumple totalmente con POSIX porque los requerimientos de un sistema de archivos POSIX difieren de los objetivos de una aplicacin Hadoop, porque el objetivo no es tanto cumplir los estndares POSIX sino la mxima eficacia y rendimiento de datos. HDFS fue diseado para gestionar archivos muy grandes.9 HDFS no proporciona Alta disponibilidad.

III.

GIT

Git es un software de control de versiones diseado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran nmero de archivos de cdigo fuente. Al principio, Git se pens como un motor de bajo nivel sobre el cual otros pudieran escribir la interfaz de usuario o front end como Cogito o StGIT. 2 Sin embargo, Git se ha convertido desde entonces en un sistema de control de versiones con funcionalidad plena. 3 Hay algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programacin delncleo Linux.

Entre las caractersticas ms relevantes se encuentran:

Fuerte apoyo al desarrollo no-lineal, por ende rapidez en la gestin de ramas y mezclado de diferentes versiones. Git incluye herramientas especficas para navegar y visualizar un historial de desarrollo no-lineal. Una presuncin fundamental en Git es que un cambio ser fusionado mucho ms frecuentemente de lo que se escribe originalmente, conforme se pasa entre varios programadores que lo revisan.

Gestin distribuida. Al igual que Darcs, BitKeeper, Mercurial, SVK, Bazaar y Monotone, Git le da a cada programador una copia local del historial del desarrollo entero, y los cambios se propagan entre los repositorios locales. Los cambios se importan como ramas adicionales y pueden ser fusionados en la misma manera que se hace con la rama local.

Los almacenes de informacin pueden publicarse por HTTP, FTP, rsync o mediante un protocolo nativo, ya sea a travs de una conexin TCP/IP simple o a travs de cifrado SSH. Git tambin puede emular servidores CVS, lo que habilita el uso de clientes CVS pre-existentes y modulos IDE para CVS pre-existentes en el acceso de repositorios Git.

Los repositorios Subversion y svk se pueden usar directamente con git-svn.

Gestin eficiente de proyectos grandes, dada la rapidez de gestin de diferencias entre archivos, entre otras mejoras de optimizacin de velocidad de ejecucin.

Todas las versiones previas a un cambio determinado, implican la notificacin de un cambio posterior en cualquiera de ellas a ese cambio (denominado autenticacin criptogrfica de historial). Esto exista en Monotone.

Realmacenamiento peridico en paquetes (ficheros). Esto es relativamente eficiente para escritura de cambios y relativamente ineficiente para lectura si el reempaquetado (con base en diferencias) no ocurre cada cierto tiempo.

I.

CASSANDRA

Cassandra es una base de datos NoSQL, hoy en da es un proyecto de Apache. Cassandra fue desarrollado por Facebook (la versin original fue escrita por un ex empleado de Amazon y otro de Microsoft), en el 2008 fue liberado como un proyecto open source enGoogle code, en el 2009 se convirti en un proyecto Apache Incubator, y finalmente en el 2010 se convirti en un proyecto TOPLEVEL. La informacin en las bases de datos relacionales, se almacenan en forma de filas, pero en Cassandra la informacin se almacena en columnas con pares keyvalue, key-map para mltiples valores, que se agrupan en column families (familia de columnas). Las column families son fijas cuando una base de datos Cassandra es creado, pero las columns se pueden agregar a lacolumn families en cualquier momento. Por otra parte, las columns se agregan solo a las keys especficas, por lo tanto diferentes keys pueden tener diferentes nmeros de columns en cualquier columns family. Cassandra puede manejar varios terabytes de datos si lo necesita y puede, fcilmente, manejar millones de files, incluso en un cluster pequeo. Cassandra puede hacer alrededor de 20k de insert por segundos. La rendimiento de Cassandra es muy alta, y mantener ese rendimiento alto mayormente depende delhardward, la configuracin y el numero de nodos en nuestro cluster.

II.

LIBRE OFFICE

LibreOffice es una suite ofimtica libre y gratuita, compatible con Microsoft Windows, Mac y GNU/Linux. Cuenta con un procesador de texto(Writer), un editor de hojas de clculo (Calc), un creador de presentaciones (Impress), un gestor de bases de datos (Base), un editor de grficos vectoriales (Draw), y un editor de frmulas matemticas (Math). LibreOffice fue creada por la fundacin The Document Foundation como una bifurcacin de la suite OpenOffice.org en octubre de 2010. Est disponible bajo la licencia GNU Lesser General Public License.3 La compra de Sun Microsystems (lder del desarrollo de OpenOffice.org) por Oracle fue el desencadenante de esta bifurcacin debido a la orientacin dada por Oracle. Las versiones existentes de Libre Office son: Versin 3.3 La primera versin de LibreOffice fue la 3.3 Beta 1, la cual fue publicada el 28 de septiembre de 2010, el mismo da que se anunci la creacin de la Document Foundation. Debido a que The Document Foundation considera a LibreOffice como la continuacin de OpenOffice.org, LibreOffice us el mismo nmero de versin que OpenOffice.org en ese momento. Esta versin de prueba estuvo basada en la versin beta de pruebas de OpenOffice.org 3.3, pero eliminando las referencias al nombre, los iconos, las marcas y dems relaciones con dicho software. El primer objetivo del proyecto era lograr la separacin de esta bifurcacin del tronco del OpenOffice.org a partir de la reorganizacin de los archivos. La primera versin estable fue la 3.3.0, publicada el 25 de enero de 2011. Debido a que The Document Foundation considera a LibreOffice como la continuacin de OpenOffice.org, LibreOffice 3.3 usa el mismo nmero de versin que OpenOffice.org.

LibreOffice 3.3 tiene algunas caractersticas que no existen en OpenOffice.org 3.3. Estas caractersticas nicas de LibreOffice incluyen:

Importacin de imgenes en formato SVG. Filtros de importacin de documentos en los formatos de Lotus Word Pro y Microsoft Works

Importacin mejorada de documentos en formato WordPerfect. Caja de dilogo para las pginas de ttulo. El navegador permite que un encabezado sea desplegado como en un tpico Tree View.

Modo experimental que permite que caractersticas inacabadas puedan ser probadas por el usuario.

Inclusin de algunas extensiones (plugins), como Presenter View en Impress.

En la evaluacin de la versin de LibreOffice 3.3.0 estable realizada el mismo da de su lanzamiento, Ryan Paul de Ars Technica escribi que introduce un nmero de significativas nuevas caractersticas y hay mejoras en las aplicaciones incluidas. Las nuevas caractersticas incluidas en LibreOffice 3.3 mejoran el conjunto de caractersticas, la usabilidad, y la interoperabilidad con otros formatos de suites de oficina. Por ejemplo, tiene soporte mejorado para importar documentos provenientes de Lotus Word Pro y Microsoft Works. Otra nueva caracterstica clave es la habilidad para importar y editar grficos en formato SVG en LibreOffice Draw. Versin 3.4 La primera beta de LibreOffice 3.4 fue publicada el 15 de abril de 2011. La primera versin estable fue la 3.4.0, publicada el 3 de junio de 2011. Actualmente se encuentra en la versin 3.4.5, lanzada el 16 de enero de 2012. Las nuevas caractersticas y mejoras de la versin 3.4 respecto a la versin 3.3 incluyen:

Mejora del uso de la memoria. Reduccin adicional de la dependencia de cdigo en Java dentro de LibreOffice.

Lista oficial de cambios y mejoras en versin 3.4

Versin 3.5

La

primera

beta

de

LibreOffice

3.5

fue

dada

conocer

el 18

de

diciembre de 2011. El 21 de diciembre de ese mismo ao, fue anunciada por The Document Foundation en su blog, la primera Bug Hunting Session (caza de errores) de LibreOffice 3.5 para el 28 y 29 del mismo mes, en la cual fueron encontrados ms de 70 errores, o bugs. Debido al xito de esta primera sesin, The Document Foundation anuncia la segunda Bug Hunting Session para el 21 y 22 de enero de 2012, donde fue puesta a prueba la primera release candidate. La ltima versin disponible es la 3.5 release candidate 3, publicada el 4 de febrero de 2012.

I.

OPEN STACK

OpenStack es un proyecto liderado por la empresa Rackspace, que ha decidido liberar el cdigo de sus servicios Cloud Files y Cloud Servers bajo una licencia Apache 2.0. Este cdigo forma la piedra angular de OpenStack, ofreciendo la posibilidad a usuarios o empresas de crear sus propios servicios de cloud computing. La NASA, que tambin participa en el proyecto, colabora con Nova, base de su plataforma NEBULA, ambos servicios estn desarrollados utilizando Python. Como se ha comentado, OpenStack ofrecer dos servicios: OpenStack

Compute permite gestionar el despliegue y ejecucin de aplicaciones a travs de mltiples servidores. La tecnologa Nova, se basa en el protocolo de mensajeria AMQP y es el sistema utilizado en la NASA para proveer sistemas de virtualizacin bajo demanda. OpenStack Object Storage permite gestionar el almacenamiento de datos en varios servidores que trabajen de manera conjunta en clsters, para conseguir un almacenamiento masivo de objetos estticos, de manera suprflua y fiable. El software de OpenStack es el responsable de garantizar la replicacin de los datos y la integridad a travs de todo el clster, permitiendo aadir nuevos nodos y configurarlos de manera automtica. Aunque el cdigo en el que se basan los servicios comentados lleva siendo utilizado durante bastante tiempo, se espera que las aportaciones de la comunidad open source mejoren su funcionamiento. Lasprimeras versiones estables de

Compute y Object Storage se liberarn a mediados de octubre y septiembre, respectivamente. Detrs del proyecto OpenStack se encuentran empresas como Dell, Citrix, Intel o como ya se ha comentado, la agencia espacial estadunidense. El objetivo final del proyecto es facilitar un sistema de cloud computing de cdigo abierto y fcilmente adaptable a sistemas hardware de bajo coste, facilitando su implantacin en empresas de todos los niveles.

II.

NGINX

Nginx ("engine x") es un servidor HTTP y proxy inverso de alto rendimiento, y un servidor proxy para IMAP/POP3/SMTP. Nginx fue desarrollado por Igor Sysoev para Rambler.ru, el segundo sitio web ms visitado de Rusia, donde ha estado funcionando en produccin ms de dos aos y medio. Igor ha lanzado el cdigo fuente bajo una licencia estilo BSD. Aunque an se encuentra en una etapa beta, Nginx es conocido por su estabilidad, gran conjunto de caractersticas, configuracin simple, y bajo consumo de recursos. Ya que la mayora de la documentacin est en Ruso, esta wiki est para ayudar a los castellano-parlantes a instalar, configurar, e intercambiar trucos sobre Nginx. La mayora de la documentacin est derivada del trabajo de [[MailTo(al-nginx AT none DOT at,Aleksandar Lazic). Versiones de Nginx Existen 3 versiones del programa: Estable(Stable), de Desarrollo(Development), de Legado(Legacy). La versin Estable es la recomendada para utilizacin general. La versin de Desarrollo es la versin que contiene las nuevas funciones y en la que los errores del programa son eliminados primero, pero tambin en la que hay mayor probabilidad de que aparezcan nuevos errores. La versin de Legado es la versin que fue Estable hasta que la nueva versin aparece, se mantiene para eliminar problemas de seguridad mayormente.

III.

JQUERY

jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, manipular el rbol DOM, manejar eventos, desarrollar animaciones y agregar interaccin con la tcnica AJAX a pginas web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC. jQuery es software libre y de cdigo abierto, posee un doble licenciamiento bajo la Licencia MIT y la Licencia Pblica General de GNU v2, permitiendo su uso en proyectos libres y privativos. jQuery, al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en JavaScript que de otra manera requeriran de mucho ms cdigo, es decir, con las funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y espacio. Las caractersticas son:

Seleccin de elementos DOM. Interactividad y modificaciones del rbol DOM, incluyendo soporte para CSS 1-3 y un plugin bsico de XPath.

Eventos. Manipulacin de la hoja de estilos CSS. Efectos y animaciones. Animaciones personalizadas. AJAX. Soporta extensiones. Utilidades varias como obtener informacin del navegador, operar con objetos y vectores, funciones como trim() (elimina los espacios en blanco del principio y final de una cadena de caracteres), etc.

Compatible con los navegadores Mozilla Firefox 2.0+, Internet Explorer 6+, Safari 3+, Opera 10.6+ y Google Chrome 8+.

I.

NODE.JS

Node.js es un entorno de programacin en la capa del servidor basado en el lenguaje de programacin Javascript, con E/S de datos en una arquitectura orientada a eventos, y basado en el motor Javascript V8. Fue creado con el enfoque de ser til en la creacin de programas de red altamente escalables, como por ejemplo, servidores web.1 Fue creado por Ryan Dahl en el 2009, y su evolucin est apadrinada por la empresa Joyent, que adems tiene contratado a Dahl en plantilla. Node.js es similar en su propsito a Twisted de Python, Perl Object

Environment para Perl, libevent para C y EventMachine para Ruby. Al contrario que la mayora de mucho cdigo JavaScript, no se ejecuta en un navegador, sino en el lado del servidor. Node.js implementa algunas especificaciones deCommonJS. Node.js incluye un entorno REPL para depuracin interactiva.

II.

PUPPET

Puppet es un sistema para automatizar las tareas administrativas de una red de ordenadores. Funciona bajo esquema cliente/servidor y es el mtodo que tenemos para configurar y adaptar el servidor ldap delcentro, el servidor principal (nfs) y lo servidores de terminales de las aulas. El mtodo de funcionamiento es a base de reglas que son ejecutadas en el cliente cada vez que se conecta al servidor. El servidor principal de cada centro es a la vez cliente puppet (del servidor puppet2) y servidor puppet de los servidores de terminales de cada aula. Actualmente, el servidor principal se conecta cada 3 horas a puppet2, de esta forma sincroniza los archivos fundamentales de configuracin y otros aspectos importantes de funcionamiento como el listado de paquetes instalados. De la misma forma, puppet2 enva archivos de configuracin importantes al servidor principal para que ste a su vez los utilice para enviarlos a los servidores de terminales, as como algunas reglas que se ejecutarn en dichos servidores.

III.

LINUX

GNU/Linux es uno de los trminos empleados para referirse a la combinacin del ncleo o kernel libre similar a Unix denominado Linux, que es usado con herramientas de sistema GNU. Su desarrollo es uno de los ejemplos ms prominentes de software libre; todo su cdigo fuente puede ser utilizado, modificado y redistribuido libremente por cualquiera bajo los trminos de la GPL (Licencia Pblica General de GNU, en ingls: General Public License) y otra serie de licencias libres. A pesar de que Linux es, en sentido estricto, el sistema operativo, parte fundamental de la interaccin entre el ncleo y el usuario (o los programas de aplicacin) se maneja usualmente con las herramientas del proyecto GNU o de otros proyectos como GNOME. Sin embargo, una parte significativa de la comunidad, as como muchos medios generales y especializados, prefieren utilizar el trmino Linux para referirse a la unin de ambos proyectos. Para ms informacin consulte la seccin "Denominacin GNU/Linux" o el artculo "Controversia por la denominacin GNU/Linux". A las variantes de esta unin de programas y tecnologas, a las que se les adicionan diversos programas de aplicacin de propsitos especficos o generales se las denomina distribuciones. Su objetivo consiste en ofrecer ediciones que cumplan con las necesidades de un determinado grupo de usuarios. Algunas de ellas son especialmente conocidas por su uso en servidores y supercomputadoras, donde tiene la cuota ms importante del mercado. Segn un informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500 servidores del mundo,4 otro informe le da una cuota de mercado de 89% en los

500 mayores supercomputadores. Con menor cuota de mercado el sistema GNU/Linux tambin es usado en el segmento de las computadoras de escritorio, porttiles, computadoras de bolsillo, telfonos mviles, sistemas embebidos, videoconsolas y otros dispositivos.

IV.

BIBLIOGRAFIA

Cosaslibre. Linux y Software Libre en Colombia. http://www.linux-es.org/ AgeValed. Introduccin a Apache Cassandra. http://www.agevaled.com/2010/12/31/introduccion-a-apache-cassandra/ Rodriguez, Nacho. Software libre: los 10 ms importantes de 2011. http://www.genbetadev.com/software-libre-y-licencias/software-libre-los-10-masimportantes-de-2011 Annimo. Node.js v0.6.10 Manual & Documentation. http://nodejs.org/docs/latest/api/index.html DryIcons. Nginxes. http://wiki.nginx.org/NginxEs

You might also like