martes, 5 de julio de 2011

Cerrando el Curso...

Chic@s queria dejar una huella en mi blog a cerca de lo vivido en la materia, mi experiencia fue muy satisfactoria la única sugerencia es que siga así, un excelente acompañamiento por parte de los compañeros y de la profesora ademas de la calidad del material, la organización de las actividades y el seguimiento aunado a la posibilidad de consultar todo en cualquier momento fueron excelentes, cumplieron y excedieron todas las expectativas que podia tener...
 
Aquí pueden encontrar comentarios, aportes, impresiones y puntos de vista a cerca de la materia Desarrollo de Aplicaciones en Software Libre el cual tiene como finalidad conocer su base conceptual hasta sus implicaciones técnicas, sociales y económicas.

Espero todo lo publicado pueda enriquecer los temas relacionados con el muy amplio tema de Ingeniería del Software Libre.
 
Un gran abrazo.
 

sábado, 2 de julio de 2011

Retos y Oportunidades del SL en Venezuela


    En Venezuela se da una situación particular en materia de tecnología de información y comunicación; comenzó sus primeros pasos creando acceso a los servicios públicos, por medio de la Internet. Es así, como la ciudadanía obtiene el derecho a disponer de trámites y servicios que deben ofrecerse de manera gratuita, clara, sencilla, ágil, racional, pertinente y de fácil entendimiento. Con esto se persigue mejorar las relaciones de las personas con el Estado y facilitar la eficaz y eficiente prestación de los servicios.


   También se ha asumido un reto importante al decretar de manera prioritaria el uso del software libre con estándares abiertos en la administración pública, para lo cual se ha previsto todo un plan de migración a nivel nacional que también tiene sus desafíos planteados y los cuales están asociados a la simplificación y optimización de la Plataforma Tecnológica.


    El desafío que representa la presencia del software libre, se plantea desde una doble perspectiva:
  • Como individuos, ya que proporciona la opción de decidir libremente si lo queremos utilizar o escoger un software más costoso, conociendo las ventajas y desventajas que esto supone.
  • Desde los gobiernos, estos tienen la obligación de escoger la opción que sea mejor para el interés de su país, a sabiendas de que hace unos pocos años atrás el software libre no era una opción viable y hoy es una realidad.
 
 
Oportunidades y Retos del Software Libre
Ámbito Académico:
   El software libre posee ciertas características que lo convierten en un centro de interés para el mundo universitario. Desde el punto de vista de la investigación, el software libre traslada los principios básicos del modelo científico de producción de conocimiento (libre difusión, revisión por parte de expertos, constante búsqueda de mejoras, reproductibilidad de los resultados) al mundo del desarrollo del software, que además se ha convertido en una herramienta esencial para la investigación en cualquier campo.

Ámbito Técnico:
   Desde el punto de vista técnico, el software libre tiene que disponer de tecnologías que permitan simplificar el desarrollo de programas libres y mejorar la integración entre diferentes sistemas. También tiene que continuar la evolución de las tecnologías de escritorio para facilitar el uso de los sistemas actuales. Además, se debe trabajar para consolidar los estándares en el mundo del software libre con el fin de garantizar la interoperabilidad de todas las aplicaciones libres.

Ámbito Estratégico:
   La liberación del código fuente de los programas, como ocurre con el software libre, es un estímulo decisivo a la competitividad y permite mejorar, a través de la cooperación, la calidad de las aplicaciones desde el punto de vista del usuario.

Ámbito Legal:
   Desde el decreto 3390 del año 2004, mediante el cual se dispone que la Administración Pública Nacional empleará prioritariamente software libre desarrollado con estándares abiertos, en sus sistemas, proyectos y servicios informáticos. De esta manera luego de una serie de considerandos se establece lo indicado en el artículo 1° y se agrega: A tales efectos, todos los órganos y entes de la Administración Pública Nacional iniciarán los procesos de migración gradual y progresiva de éstos hacia el software libre desarrollado con estándares abiertos. En este sentido, el referido decreto define al software libre como: Programa de computación cuya licencia garantiza al usuario acceso al código fuente del programa y lo autoriza a ejecutarlo con cualquier propósito, modificarlo y redistribuir, tanto el programa original como sus modificaciones en las mismas condiciones de licenciamiento acordadas al programa original, sin tener que pagar regalías a los desarrolladores previos.

Ámbito del Voluntariado e Institucional:
   Es preciso seguir encontrando vías para mantener y promover la colaboración y las aportaciones voluntarias al software libre. Se debe preservar el espíritu de colaboración del voluntariado, como en el caso del proyecto Debian y el papel destacado que tiene éste ante la apuesta de empresas e instituciones. El voluntariado tiene un rol fundamental para garantizar la calidad de los desarrollos y también permite conservar el espíritu y la filosofía del movimiento.


El software libre tiene mayores desafíos, una parte por el desconocimiento que existe, y otra, porque existe un constante avance; asimismo, se han formulado algunas críticas, pero ello no debe impedir su desarrollo e implementación, especialmente en países donde el desarrollo tecnológico es menor y la tecnología cuesta demasiado.

viernes, 24 de junio de 2011

Migración hacia el Software Libre


Recomendaciones antes de alentar a una organizacion a migrar de software privado a software libre, se debe tener en cuenta que:
  • Los directivos tienen que tener bien claro el concepto de software libre.
  • Se tiene que contar con un plan para capacitar a los usuarios en el software que se va a instalar.
  • Los directivos deben estar 100% convencidos y apoyar el proyecto.
  • Se debe tener un análisis para determinar el software que se va instalar en cada caso.
  • Se debe realizar la migración por fases.
Los Principales inconvenientes a la hora de migrar:
  • Compatibilidad y disponibilidad del software
  • Aceptación por parte del usuario y resistencia al cambio.
  • El costo asociado al entrenamiento y soporte del usuario final.
  • El reto y costo que implica el desarrollo de aplicaciones completamente dependientes de MS Windows.
  • La alta dependencia de algunas instituciones con el Active Directory de Microsoft

Recomendaciones para la migración:
Se debe realizar la migración parcial ya que contempla combinar el uso de sistemas operacionales propietarios con la instalación en éstos de herramientas de software libre que así lo permiten, ir recopilando información mediante ensayos, pruebas o investigación a cerca de las herramientas y aplicaciones de software libre que más se adapten a la plataforma deseada, identificando los servicios ofrecidos a los usuarios y las características de la plataforma que los soportan.
 
Y las principales acciones que deben realizarse para asegurar una implantación exitosa son:
  • Realizar una instalación previa de herramientas de software libre bajo la plataforma actual con el fin de realizar una migración parcial o progresiva de las estaciones de trabajo.
  • Realizar la creación de un laboratorio en software libre, en el cual se puedan realizar pruebas, clasificación e investigación de compatibilidad con el software libre del hardware existente, así como pruebas, clasificación e investigación de equivalencias con el software libre del software utilizado actualmente.
  • Realizar un estudio para identificar las características de los servicios ofrecidos, así como de la plataforma tecnológica que los soporta con el fin de proceder con una migración parcial de los servicios.
  • Creación de Imágenes de Software Libre adaptadas a las necesidades de la empresa.
  • Generación de servidores de imágenes en software libre para facilitar el proceso de migración.

viernes, 10 de junio de 2011

Software Libre en Venezuela

Si bien GNU/Linux es el sistema operativo por excelencia en el ámbito de los servidores y las supercomputadoras (lo cual evidencia su robustez, confiabilidad y escalabilidad), en el campo de las computadoras de escritorio, todavía le falta un largo trecho para ponerse a la par con Windows o Mac OS. Sin embargo, hay países en los cuales las distribuciones de GNU/Linux son más abundantes que en otros, la imagen nos muestra el Top 20 de países con mayor penetración de sistemas operativos abiertos.


El estudio realizado por la gente de Royal Pingdom relevó las participaciones de mercado de los distintos sistemas operativos a nivel mundial, a partir del cual confeccionó este ránking con aquellos que tuviesen la mayor proporción de usuarios de GNU/Linux. Los datos fueron obtenidos a partir de las estadísticas de StatCounter, con más de 3 millones de registros. Este ránking no indica la cantidad de usuarios totales, sino que es una estimación de la proporción de usuarios de GNU/Linux en cada país.

Como se puede observar Venezuela ocupa el segundo lugar con un 3.70%, un punto interesante es que, en nuestro pais existiera un ente que se encarge de crear las estadisticas de penetración del Software libre, sin tomar en cuenta la politica.

El Software Libre no es un proyecto politico. En mi opinión el software libre trata de libertades, solidaridad y conocimiento al alcance de todos sin barreras artificiales. Nada de política.

domingo, 29 de mayo de 2011

Aspectos Legales del Software Libre

¿EXISTE ALGUNA DIFERENCIA ENTRE SOFTWARE LIBRE Y DE CÓDIGO ABIERTO O ES RELATIVAMENTE LO MISMO ?
Muchas veces hemos escuchado el termino de software libre y de código abierto, y tendemos a  confundir ambos conceptos, como si fuera casi lo mismo. Pero realmente no es así.¿Por que?. Porque, ambas se enfocan en aspectos diferentes como el uso,distribución,disponibilidad y responsabilidades que competen al usuario tener. Además la organización Free Software Foundation (FSF) apoya el concepto de software libre y la Open Source Initiative (OSI) apoya el Software de código abierto.

Para que un software pueda catalogarse como software libre o de código abierto debe cumplir con las cuatro libertades del Software libre:
  1. Ejecutar el programa con cualquier propósito.
  2. Estudiar y modificar el programa.
  3. Copiar el programa de manera que se pueda ayudar al vecino o a cualquiera.
  4. Mejorar el programa y publicar las mejoras.

Y los 10 principios de Software de código abierto:
  1. Libre redistribución: el software debe poder ser regalado o vendido libremente.
  2. Código fuente: el código fuente debe estar incluido u obtenerse libremente.
  3. Trabajos derivados: la redistribución de modificaciones debe estar permitida.
  4. Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches.
  5. Sin discriminación de personas o grupos: nadie puede dejarse fuera.
  6. Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
  7. Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa.
  8. La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
  9. La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto.
  10. La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.
Basándose en los principios anteriores, notamos la principal diferencia radica en el punto nueve del software de código abierto entre las dos ideologías, entonces ¿Cómo se puede mejorar u optimizar algo si después es lucrado por otro u otros?





Aprendiendo a modelar con UML

   En proyectos de ingeniería, y en otras áreas, es conveniente desarrollar modelos antes de iniciar su construcción, dado que esta representación facilita la comunicación entre los entes involucrados en el desarrollo del producto final, permite la validación de especificaciones y sirve de base para la aceptación de dicho producto.

   En Sistemas de Información (SI) se utilizan modelos conceptuales, de funcionamiento y físicos para representar datos, procesos e interacciones entre los elementos del sistema. Se han generado distintos paradigmas de representación, siendo el más usado el llamado Orientado a Objetos (OO), donde un SI está conformado por objetos que poseen una estructura y funcionamiento, y se comunican entre sí a través del intercambio de mensajes.

   Durante las décadas de los 70, 80 y 90, se gestaron varias metodologías de desarrollo de software OO, hasta que en 1994, tres reconocidos investigadores en esta área, responsables de las metodologías más utilizadas del momento, formularon un lenguaje de modelaje unificado al que denominaron UML, que como ya se ha dicho, no pretende ser una metodología de desarrollo de software, sino una notación estándar para el análisis y el diseño de SI OO.


   En UML se incluyen varios tipos de diagramas, vistas y extensiones que facilitan la representación conceptual y física de los distintos objetos de un SI, y se disponen en el mercado de diferentes herramientas de software para la elaboración y mantenimiento de estos diagramas. UML es un lenguaje para especificar y no para describir métodos o procesos. Se utiliza para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo. Se puede aplicar en una gran variedad de formas para dar soporte a una metodología de desarrollo de software, pero no especifica en sí mismo qué metodología o proceso usar.

Un lenguaje proporciona un vocabulario y unas reglas, las cuales se centran en la representación conceptual y física de un sistema, y así permiten una comunicación. En este caso, este lenguaje se centra en la representación gráfica de un sistema.

sábado, 7 de mayo de 2011

Ingeniería del Software Libre

   La ingeniería del software libre viene a dar aires renovados a una ingeniería del software tradicional que se encuentra estancada debido básicamente a que no ha sabido crear métodos para cuantificar tiempos, costos y calidad del software de forma aceptable y contrastable.


   Uno de los grandes problemas de la ingenería del software ha sido y es que no ha sabido adaptarse consecuentemente a su propia definición. Esto es algo que se puede considerar como una especie de traición a sí misma, a sus propios fundamentos. El enfoque sistemático y cuantificable ha tenido siempre como barreras las propias de las formas en las que el software se ha publicado y distribuido. El formato binario del software, la opacidad en los modelos de negocios, los secretos y barreras comerciales, entre otros aspectos, han imposibilitado que equipos independientes puedan, en demasiadas ocasiones, verificar de manera sistemática los resultados obtenidos. Las "verdades" enunciadas son con frecuencia experiencias puntuales que han sido generalizadas y dadas por válidas ante la falta de alternativas. En definitiva: la propia forma de desarrollar, distribuir y comerciarlizar software ha sido la que ha llevado a la ingeniería del software a la crisis.

Y es aquí donde el software libre puede dar nuevos aires a la ingeniería del software.

Fuente: http://curso-sobre.berlios.de/curso/trab/grex/sobre-trabajo-grex.pdf

miércoles, 20 de abril de 2011

Ideas destacadas en torno al Software Libre

Me parecio muy importante resaltar la Ideas que nos detallo la Prof. Maria Esther a cerca del Software Libre (SL) las cuales son:
  1. Software con la libertad de ser usado para cualquier propósito, ser estudiado, modificado y distribuido; por lo que es legal su libre uso.
  2. Se dispone del código fuente (puede no ser útil si no está documentado y bien estructurado). Dado el desarrollo usualmente a través de comunidades, se utilizan estándares y herramientas colaborativas.
  3. Requiere de una licencia que garantice las libertades del SL.
  4. SL no es Software Gratis, pero dadas sus libertades no suele incluir costos de código (excepto adecuaciones específicas).
  5. El SL está apoyado por la Fundación del Software Libre (FSF) y defiende principios éticos, morales y filosóficos.
  6. El Código Abierto está apoyado por la Iniciativa Open Source (IOS), se suscribe a las libertades del SL pero defiende principios principalmente técnicos.
  7. Existen organizaciones que apoyan ambos movimientos, como FOSS / FLOSS.
  8. El SL presenta una clara tendencia de crecimiento y penetración a nivel mundial, reflejándose principalmente en el sector Gobierno, Educativo, aplicaciones Web 2.0, entre otras. En el sector empresarial la penetración aún es muy baja.

sábado, 9 de abril de 2011

Introducción al Software Libre

Como lo define GNU Operating System

El «software libre» es una cuestión de libertad, no de precio. Para entender el concepto, debería pensar en «libre» como en «libre expresión», no como en «barra libre».

Se pueden encontrar muchos documentos que explican que es el Software Libre (SL). Día tras día, muchas  personas trabajan incansablemente para mejorarlo. Mejoran las tecnologías que la soportan, diseñan e incorporan nuevas tecnologías. En fin, el Software Libre está en constante crecimiento. Un pequeño resumen del SL se puede apreciar en este mapa conceptual.

Fuente: Elaboración propia del autor.


Por otra parte, también discutimos sobre las cuatro libertades las cuales fueron concebidas por Richard Stallman y son:
  1. Libertad para ejecutar el programa en cualquier sitio, con cualquier propósito y para siempre.
  2. Libertad para estudiarlo y adaptarlo a nuestras necesidades. Esto exige el acceso al código fuente.
  3. Libertad de redistribución, de modo que se nos permita colaborar con vecinos y amigos.
  4. Libertad para mejorar el programa y publicar las mejoras. También exige el código fuente.
A toda hora y en todo el planeta se desarrolla una sorda batalla de ideas, en la que el músculo no duerme ni la ambición descansa. Como en toda batalla está en juego la libertad, en este caso la libertad del conocimiento. El campo de lucha abarca a toda la sociedad humana aunque millones de sus integrantes ignoren que está en juego su futuro cercano:

 vivir en una sociedad controlada o vivir en una sociedad libre...

sábado, 26 de marzo de 2011

Retomando mi Blog

Bienvenid@s, aquí podrán encontrar comentarios, aportes, impresiones y puntos de vista a cerca de la materia Desarrollo de Aplicaciones en Software Libre el cual tiene como finalidad conocer su base conceptual hasta sus implicaciones técnicas, sociales y económicas.

Paulatinamente publicare todo aquello que a mi parecer, pueda enriquecer todos los temas relacionados con el muy amplio tema de Ingeniería del Software Libre.

Por ahora me despido hasta una próxima publicación….

Retomando mi Blog...