miércoles, 29 de octubre de 2008


¿Qué aportes da la Ingeniería del Software al desarrollo de aplicaciones basadas en SL?

Como se aprecia en las lecturas, nos comentan que el software libre no posee una forma digamos tradicional de gestionar un proyecto. Existen digamos varias maneras que pueden adaptarse al software libre.

Sin embargo se pueden adaptar metodologias de la ingenieria del software para ser usadas en aplicaciones basadas en software libre, como por ejemplo establecer un comite de gestion del proyecto, de manera tal que el principal del comite delege funciones. Pero si el proyecto es de mediano a pequeño impacto se pueden prescindir de metodologias y hacerlo de una manera mas dinamica.

Podemos ver entonces que para la mayoria de proyectos de software libre se puede usar el modelo iterativo que define el ciclo de vida del desarrollo de software ya que se adapta a los requisitos cambiantes del entorno de SL.

En general la ingenieria del software puede proveer de sus metodologias, procesos y herramientas para ayudar al desarrollo de software libre, obviamente haciendo cambios para que se adapten al esquema del SL, pero esto ayudara a que el software producido sea de calidad, confiable y que si se necesitan cambios, se continue usando la metodologia empleada o por el contrario se seleccione otra metodologia a fin de optimizar los tiempos.

¿Cuáles son los factores claves para gestionar exitosamente proyectos de SL?

Como vemos en las lecturas no hay una forma estandar de gestionar un proyecto de SL, dada la naturaleza del SL que debe ir adaptandose a cambios constantemente, y por tanto pueden existir varias formas para gestionar proyectos de SL, e incluso varias formas aplicadas a un mismo proyecto.

Es asi como vemos que para grandes proyectos, la manera recomendad seria por medio de un comite de gestion donde una persona principal es quien decide los pasos y delegacion de funciones. Cuando es necesario realizar un cambio, el proceso va de abajo hacia arriba, siendo el comite quien decidira a la final si se incorpora o no al proyecto el cambio solicitado, siendo clave en este esquema la comunicacion de los miembros del proyecto.

Pero si hablamos de proyectos pequeños, entonces le damos prioridad a publicar nuevas funcionalidades y versiones, mas que seguir una calendario de actividades. Por ultimo se podria limitar a gestionar un proyecto a nivel de simplemente resolver fallos o requisitos y publicar los mismos.

¿Qué técnicas nos ayudan a estimar el desarrollo del SL?.

Podemos hablar de estudios de factibilidad, para determinar cuales fases, modulos o tareas son factibles de realizar. Tambien se puede realizar un analisis del sistema de informacion, cuando ya existe el mismo y es necesario modificarlo o mejorarlo.

Como todo sistema, es necesario su diseño, desde definir la arquitectura, hasta el entorno bajo el cual funcionara, de manera que sus componentes se integren sin problemas. Tambien podemos incluir, temas analisis de seguridad, de rendimiento y costos, esto con el fin de tener a priori un estimado lo mas real posible del desarrollo del SL.

Hola a todos!

Aqui les dejo mi version del mapa conceptual de la Ingenieria del Software

sábado, 18 de octubre de 2008



Hola a todos!.

Indudablemente muchos de nosotros usamos o hemos usado en algun momento software libre y nos hemos dado cuenta que son programas muy bien desarrollados, que cumplen nuestras necesidades y que ademas no pagamos licencia alguna y podemos distribuir sin problemas.

Entonces, por qué el software debe ser libre?, porque indudablemente todos debemos tener acceso al conocimiento y a la información sin ninguna restricción. Lo comparo como si las bibliotecas exigieran un pago anual por ingresar y consultar los libros, seria realmente absurdo e ilógico.

Claro esta que inmediatamente me hago la pregunta como desarrollador que soy, si el software es libre, entonces quien lo desarrolló, puede sustentarse economicamente de esa manera?. Sin mucho analisis uno diría de inmediato, no. Pero luego de revisar los videos, las paginas, ciertamente hay un nuevo modelo de negocios, que rompe el paradigma del software propietario.

Por tanto, como desarrollador, veo que existe un forma de, apoyar y crear software libre, pero a la vez percibir una retribucion monetaria, porque en el mundo actual invertir tiempo y esfuerzo en hacer un producto y no obtener algo a cambio, ciertamente no sustenta a nadie.

Pero esa opcion es sin duda alguna, desarrollar un programa y ofrecerlo bajo licencia de software libre y/o open source. Y luego dar soporte al mismo, y ofrecer la creacion de modulos especializados a cambio de un importe monetario.

Este esquema lo utiliza JBoss (una division de RedHat http://www.jboss.com) su software en open source, cualquiera puede bajarlo, copiarlo, modificarlo y distribuirlo, pero ellos ofrecen soporte, entrenamiento y consultoria como un servicio pago. Como consecuencia de esto los productos de JBoss son muy buenos, rapidos, confiables, de calidad y usados en muchas empresas.

Vemos entonces que el software si debe ser libre para todos, y desde el punto de vista de los desarrolladores, si pueden crear software libre y adoptar el nuevo modelo de negocios para percibir ganancias.

Despue de ver el video y visitar las paginas y portales, sin duda alguna tengo una vision mas clara de lo que se refiere el software libre y el open source.

Con el video de Stallman ya comprendo su idea y el por qué de su iniciativa, ciertamente lo apoyo, es muy cierto que los software propietarios en general cuando presentan fallas, o bien no lo solventan o demoran mucho tiempo en dar solucion, lo que conlleva a fallas en seguridad.

Otro punto importante es que con el paso de los años ciertamente Linux ha conseguido mas mercado por su interfaz grafica mejorada, que permite al usuario final poder utilizarlo sin necesidad de conocer a fondo comandos por consola, etc. Es un punto super importante porque recordemos que para una masificacion de un producto, el mismo debe ser facil de utilizar, sino estariamos limitandolo a su uso exclusivo de desarrolladores o analistas.

Las paginas visitadas se aprecia que todas poseen un formato sencillo, donde todas destacan principalmente que ofrecen ayuda, documentacion y soporte para todo lo relacionado con software libre y sistemas GNU, en la pagina del gobierno en particular incluso se aprecian requerimientos de servicios para en materia de software libre, asi como tambien la posibilidad de registrarse y formar parte del equipo de colaboradores.

Tambien visite la pagina personal de richard stallman la cual incluye muchos topicos, como del mismo proyecto GNU, asi como tambien de relatos y fotos de viajes realizados e incluso toca la parte politica mundial, en especial me llamo la atencion una seccion donde solicita personas que lo ayuden con una peticion de no permitir que en los aeropuertos del reino unido (UK) tomen las huellas dactilares de las personas, lo que aprecio es que esta involucrado en todas las areas que se refieran a libertades.

martes, 14 de octubre de 2008


Hola a todos!

Bueno como parte de las actividades esta la creacion de un mapa conceptual del software libre.

Arriba lo pueden visualizar, claro esta es una versión de cómo lo entendí, espero ir mejorandolo para hacerlo mas completo con nuevos conceptos.

Saludos!

lunes, 13 de octubre de 2008



Como dice en la pagina de www.gnu.org, software libre es significado de libertad, no de precio. Es libertad de correr, copiar, distribuir, estudiar, cambiar y mejorar el software.

Tambien da libertad de hacer modificaciones y usarlas para el uso propio, y si estos cambios se publican al publico, no hay necesidad de notificarles a nadie. La forma de distribucion puede ser tanto en codigo fuente como ejecutable, aunque siempre se aconseja que sea al menos el codigo fuente para poder permitir a terceros su modificacion y mantener el concepto de software libre.

Un punto importante es que software libre no significado no-comercial, ya que el mismo debe estar disponible para su uso, desarrollo y distribucion comercial.

Otro punto a destacar son las distintas categorias que tiene el software libre: software libre, codigo abierto, de dominio publico, copyleft, software libre no-copyleft, software bajo GPL (General Public License), software semi-libre (el cual no es libre pero viene con permisos especificos de uso, copia, distribucion y modificacion).

Hay varias motivaciones para el uso y la proliferacion de software libre, entre las destacadas estan, el mejorar, complementar un software existente, ofrecer seguridad, flexibilidad, independencia, ademas de eficiencia economica. Y la motivacion mas importante es, (heredada de la cultura hacker) es que el software es conocimiento y debe difundirse sin obstaculos.

A nivel historico, el punto mas importante, en mi opinion, fue cuando Richard Stallman comenzo a trabajar en el proyecto GNU y posteriormente funda la Free Software Foundation, lo considero el mas relevante dado que fue quien definio los conceptos y las formas de distribucion del software libre, resultante de establecer un orden en el surgiente mundo del software libre.

Como consecuencia se definieron las llamadas cuatro libertades que expresan:

1. Ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, militar, etc.)
2. Estudiar y modificar el programa (para lo cual es necesario poder acceder al código fuente)
3. Copiar el programa de manera que se pueda ayudar al vecino o a cualquiera
4. Mejorar el programa y publicar las mejoras

Es importante señalar que las libertades 1 y 3 obligan a que se tenga acceso al código fuente.

La "libertad 2" hace referencia a la libertad de modificar y redistribuir el software libremente licenciado bajo algún tipo de licencia de software libre que beneficie a la comunidad

jueves, 9 de octubre de 2008

Bienvenidos a mi Blog


Hola a todos!

Con esta entrada doy inicio a mi Blog relacionado con la materia y el Software Libre.

Espero les sea util la informacion que vaya publicando en el mismo!

La imagen publicada es "Duke" la mascota de Java, desde hace 1 año, Sun Microsystem ha colocado a disposicion de los desarrolladores ciertas partes del codigo del JDK (Java Development Kit) bajo open source, progresivamente ha colocado mas partes del JDK y se espera que en poco tiempo todo el codigo sea open source. La idea es, crear nuevas versiones del JDK basado en las modificaciones realizadas por las personas y buscando un mejor y mas completo kit de herramientas para Java.

Saludos!

Pedro