domingo, 26 de agosto de 2012

Motivos para usar Software Libre


Existen muchos motivos para usar e impulsar el Software Libre, en nuestro país tenemos un marco legal que facilita la migración y el uso de software que permita mejorar tecnológicamente. Voy a mencionar los motivos que cinsidero más importantes.

  • Motivos Sociales: el Software libre permite comprender algunos valores éticos en los cuales se fundamenta, impulsar las libertades que establece el SL ayuda a fomentar valores como: colaboración, respeto, honestidad, responsabilidad, humildad, entre otros. Valores que son tan necesarios en nuestra sociedad que en el transcurso de los años ha ido perdiendo.
  • Motivos Económicos: se reducen los gastos en los organismos del estado, ya que al usar SL se elimina el pago de licencias y mantenimiento anual por diversos productos y servicios. Este dinero ahorrado puede ser usado para invertir en capacitación y tareas mas importantes.
  • Motivos Tecnológicos: lograr la independencia tecnológica  permitiendo la creación, modificación, mejoramiento, innovación, estudio y distribución de las aplicaciones, y de esta forma no depender de terceros para mejorar los sistemas.
  • Motivos Legales: se reducen los riesgos de infringir la ley por temas relacionados con el copyright, ya que no se va a considerar copia ilegal por el hecho de ser el SLlibremente distribuido, copiado y modificado. 
  • Motivos Institucionales: tener el poder sobre la información que se maneja en los organismos del estado, ya que en muchos casos es de caracter confidencial y es muy importante tener el control y ofrecer seguridad de la información que en muchos casos es de los ciudadanos.
  • Motivos Estratégicos:  el hecho de usar el software libre indica que se pueden utilizar aplicaciones ya desarrolladas y no tener que comenzar desde cero, lo que significa reducir recursos como tiempo, dinero y esfuerzo, permitiendo mejorar estrategias de negocio bien sea para el estado si es un ente público o una mejor posición en el mercado en caso de una empresa privada.
  • Motivos Académicos: el estudio es un derecho que debe tener todo ciudadano venezolano, y más aún cuando desde niño se le ofrecen herramientas que permitan un mejor aprendizaje. Es estado venezolano ha emprendido proyectos que permiten influir de manera positiva en el ámbito académico, el software libre es en la actualidad el más usado en colegios y universidades tanto públicas como privadas.


Otra forma de presentar el significado del 
Software Libre

A continuación se presenta un video que muestra una breve descripción de lo que significa Software Libre y de su importancia.




Licencias de Software Libre


Las licencias son un tema muy importante al momento de verificar si el software es libre o no. GNU posee varios criterios que permiten clasificar las licencias de software:

1.- Si califica como una licencia de software libre, siempre y cuando cumpla las libertades del software libre.
2.- Si es una licencia copyleft, que exija que todas las versiones modificadas y extendidas del software sean también libres.
3.- Si es compatible con la licencia GPL de GNU. A no ser que se especifique lo contrario, las licencias denominadas compatibles lo son con ambas versiones de la GPL: GPLv2 y GPLv3.
4.- Si en la práctica causa algún problema en particular.

Dado estos factores claves a continuación se presenta un esquema de la clasificación de algunas licencias realizada por GNU.



Referencias:

http://www.gnu.org

domingo, 19 de agosto de 2012

Casos de éxito del Modelo Sistemático de Calidad (MOSCA) en Venezuela


A nivel mundial existen diversos modelos que permiten verificar la calidad del software con un enfoque sistémico, donde han hecho enfasis en las características internas como el contexto organizacional, asi como a traves del tiempo se ha resaltado que la calidad debe medirse de forma integrada en el proceso, producto y las personas involucradas para poder verlo como un todo. En el caso específico del software libre también debe ser verificada la calidad de los procesos y productos dado que uno de sus objetivos es aportar software de alta calidad.

En Venezuela, desde la Universidad Simón Bolívar, Departamento de Procesos y Sistemas, LISI se definió un Modelo Sistemático de Calidad (MOSCA) a cargo de los profesores María Pérez, Luis Mendoza y Anna Grimán, el cual trabaja con tres perspectivas: Producto, Proceso y/o Humana. MOSCA tiene una estructura jerárquica de cuatro niveles, cuenta con 803 métricas para su operacionalización y con un algoritmo que parte de la medición de la calidad sistémica.



El objetivo principal de este proyecto es establecer un marco de referencia que ubica en un “nivel de calidad sistémica”a la organización y a sus productos y con ello, se brinda orientación sobre actividades de planificación y control que conlleven a aumentar la calidad del software a los niveles deseados. Este centro ha trabajado con diversas organizaciones y tiene como meta futura que esta sea la via para la certificación del software nacional.

Este modelo se ha aplicado en diversas organizaciones tanto en software privativo como software libre, acontinuación se presenta una lista de casos exitosos:

1.- Sistema Bancario: se aplicó el modelo con la finalidad de verificar caracteristicas como funcionalidad, mantenibilidad y eficiencia. En donde se evaluaron aspectos internos de análisis, diseño e implementación. Se obtuevieron problemas con el uso de variables globales y memoria ya que se sacrificaba la mantenibilidad del Sistema.

2.- Sistemas de Reproducción animal: se aplicó el modelo con la finalidad de verificar caracteristicas como usabilidad, funcionalidad y eficiencia. Los resultados fueron baja usabilidad pero buena funcionalidad.

3.- Sistemas Web: se aplicó el modelo en varias empresas pequeñas con la finalidad de verificar caracteristicas como funcionabilidad, mantenibilidad y usabilidad ademas de aspectos relacionados al poceso como Cliente-Proveedor (CUS), Ingeniería (ENG), Soporte (SUP), Gestión (MAN), Organizacional (ORG). En donde se obtuvo como resultado que algunas poseían calidad básica y otras nula en lo que refería a producto y proceso.

4.- Software educativo: se amplió el modelo con la finalidad de verificar los  requerimientos  particulares de calidad del software  educativo,  tomando en  cuenta no sólo los  aspectos técnicos  del  producto, sino el diseño  pedagógico y los materiales de soporte didáctico. El resultado en este caso fue obtener un modelo en versión prototipo que permite  medir la calidad para software educativo.

5.- Servicios Web: se realizó una adecuación de MOSCA para que éste sea aplicable a la nueva tecnología de los servicios Web ya que ofrecen una alternativa de software independiente en cuanto a la plataforma, basada en estándares para la integración de aplicaciones, la automatización de procesos de negocio e intercambio empresarial. Se evaluaron aspectos de Funcionalidad, Eficiencia, Mantenibilidad, Fiabilidad, Usabilidad y Portabilidad. El resultado arrojo que es indispensable la calidad en los WS principalmente las caracteristicas de Eficiencia, Fiabilidad y Seguridad.

6.- Software de Industrias petroleras: se aplicó el modelo con la finalidad de verificar caracteristicas como funcionalidad, usabilidad y eficiencia. En donde al evaluar estos aspectos se obtuvo como resultado que es un Software comercial de uso exclusivo y altamente costoso y que amerita énfasis en la caracteristica de eficiencia.

7.- Modelado de procesos del negocio: se utilizó y se realizó un instanciación de (MOSCA), esta propuesta incluyó atributos del software relacionados con la funcionalidad, la usabilidad y la mantenibilidad, estableciendo 75 nuevas métricas para un total de 128 que permiten evaluar herramientas FLOSS para el 
modelado del negocio. Este modelo fue aplicado a EPFC, StarUML, Intalio y DIA, con la finalidad de comprobar la utilidad del modelo y, además, seleccionar la herramienta con un nivel de calidad avanzado para mejorarla en un futuro. Los resultados de esta investigación pueden servir de guía para pequeñas y medianas empresas que precisen seleccionar una herramienta de apoyo a esta disciplina.

Muchos han sido los casos en que MOSCA a contribuido bien sea para evaluar la calidad en una organización en particuar o para ser la base de una adecuación de diversas investigaciones. Lo mas importante es que es un modelo Venezolano y es importante conocerlo para sugerirlo a quien lo necesite, sobre todo aplicarlo en el software libre que se está desarrollando en nuestro país.



Referencias:

-http://www.lisi.usb.ve/publicaciones/02%20calidad%20sistemica/MOSCA-MCT.pdf
-http://132.248.48.14:3003/lmendez/moodledata_posgrado/27/eval_entor_edu/unidad4/img/4_3_diaz_Anto n.pdf
-http://www.willydev.net/insitecreation/v1.0/descargas/soa/willydev_estimaciondecalidadws.pdf
-http://redalyc.uaemex.mx/redalyc/pdf/922/92218339014.pdf










sábado, 18 de agosto de 2012

Metodologías Ágiles en Software Libre

Hoy en día las metodologías de desarrollo de software son fundamentales para el éxito de cualquier proyecto de software, pero elegir la mas adecuada es mucho mas importante, ya que cada proyecto tiene diferentes necesidades y recursos. Debido a que en los últimos años se tienen caracteristicas como: tener equipos pequeños de trabajo, planificación democrática, orientación al código y a las pruebas, modelos dinámicos y colaborativos, mejoras continuas, manejo de calidad, etc. ha surgido la necesidad de cambiar el uso de metodologías tradicionales por metodologías ágiles.

El desarrollo de software libre se caracteriza por lo siguiente: 
  • Reclutar o aceptar colaboradores, técnicos, revisores, documentadores, y contribuidores esporádicos. 
  • A veces se contratan especialistas. 
  • Con la base del código desarrollado se puede comenzar a recibir aportes de terceros, que no pertenecen al grupo que tomo la iniciativa. 
  • Expandir el conocimiento rápidamente. 
  • Involucrar muchas personas eficientemente, sin perder el rendimiento. 
  • No hay cuello de botellas porque todos participan. 
  • Poseen grandes comunidades en línea para dar soporte. 
  • Ofrecen servicios en vez de productos. 

Ahora bien, las metodologías de desarrollo de software libre deben enfocarse en la colaboración de sus desarrolladores, facilitar la interacción con los usuarios finales y dar respuestas rápidas. Es por ello que en el desarrollo de software libre predominan las metodologías de desarrollo iterativas, especialmente las de desarrollo ágil y programación extrema, ya que estas son las que mejor se adaptan a los principios del software libre. 

Las metodologías agiles y el Software Libre han crecido a la par ya que se enfocan en una organización menos formal y jerárquica, dándole mayor prioridad a las personas, y enfocándose en el desarrollo de las mínimas caracteristicas necesarias para obtener un sistema de calidad y satisfacer al cliente.

A continuación mostraré algunas concordancias que existe entre las metodologías ágiles con el SL:

Principios de las metodologías ágiles Relación con SL
Personas e interacciones en vez de procesos Desarrollo en comunidades, por lo que se orienta al desarrollo en equipo
Software funcional en vez de documentación excesiva El código debe funcionar bien ése es su principal fuente de documentación, además de los foros y extractos de código y capturas de pantalla.
Colaboración con el cliente en vez de enfatizar un contrato En el SL el desarrollador y el usuario coinciden con frecuencia.
Responder al cambio por encima de seguir la planificación De acuerdo con el gran principio de colaboración los desarrolladores se enfocan dar prontas respuestas en mejoras, desarrollos y cambios


En muchos organismos se han estado integrando las metodologías ágiles con el software libre ya que unen conceptos de comunicación, retroalimentación y sencillez que permiten dar prontas respuestas cubriendo con las necesidades funcionales y sobre todo satisfasciendo al cliente.


Referencias:

- http://agilemanifesto.org/ 

- S. Koch. "Agile Principles and Open Source Software Development: A Theoretical and Empirical Discussion", 5th International Conference on eXtreme Programming and Agile Processes in Software Engineering (XP2004), GarmischPartenkirchen, Alemania 2004.



domingo, 5 de agosto de 2012

Aportes de Venezuela en Software Libre

Venezuela desde 1999 ha asumido como prioridad para el desarrollo económico, social, político y tecnológico del país, el uso prioritario del Software Libre con el fin de obtener las bases para constituir un desarrollo tecnológico orientado al desarrollo social y la eficiencia productiva. Fuimos el país pionero en America latina en incluir en nuestra constitución un artículo que expresara la inclusión del software libre para que sea el instrumento que permita ofrecer la soberania tecnológica a nuestro país.

De acuerdo a esto se tiene el siguiente marco legal:
  • Constitución de la República Bolivariana de Venezuela 
  • Ley Orgánica de Telecomunicaciones 
  • Ley Orgánica de la Administración Pública
  • Ley Orgánica de Ciencia, Tecnología e Innovación 
  • Decreto N° 1.290, N° 825, N° 3.390
  • Reglamento de la Ley Orgánica de Ciencia, 
  • Tecnología e Innovación 
  • Normas Técnicas sobre el Uso de las Tecnologías de Información por parte del estado
Partiendo de ese marco legal, se establecieron los siguientes planes:
  • Plan de Alfabetizacion Tecnologica
  • Plan Nacional de Desarrollo Regional
  • Guía para el Plan de Migración a Software Libre en la Administración Pública
  • Líneas Generales del Plan de Desarrollo Económico y Social de la Nación 2007-2013
  • Plan Nacional de Ciencia, Tecnología e Innovación 2005-2030
  • Plan de Telecomunicaciones e Informática y Servicios Postales 2007-2013
  • Plan Nacional de Tecnologías de Información y Comunicación
  • Plan de Ordenación del Territorio
En la actualidad, muchos entes del estado se han dedicado a migrar sus aplicaciones a software libre y a difundir el uso del mismo. El gobierno venezolano ha impulsado la creación de diversos proyectos como lo son:
  • Invesol: Es una herramienta que permitirá a las instituciones del Estado contar con un espacio para difundir requerimientos de soluciones y servicios en materia de Software Libre Canaima Repositorio Nacional de aplicaciones.(http://www.softwarelibre.gob.ve/invesol/cms/index.php)
  • Canaima: a es una distribución GNU/Linux Venezolana basada en Debian que surge como una solución para cubrir las necesidades ofimáticas de los usuarios finales de la Administración Pública Nacional (APN). (http://canaima.softwarelibre.gob.ve/cms)
  • Repositorio Nacional de Aplicaciones: proyecto colaborativo desarrollado en Software Libre que tiene como objetivo construir un espacio colaborativo donde reposen aplicaciones recomendadas y certificadas para el uso en la Administración Pública.(http://repositorio.softwarelibre.gob.ve/)
  • Forja: Plataforma Colaborativa de Gestión y Desarrollo de Proyectos de Tecnologías de Información Libres. (http://forja.softwarelibre.gob.ve/)
  • RedEstado: es una iniciativa que busca estudiar, evaluar y formular las medidas y mecanismos necesarios para la creación de la Red del Estado. (http://www.redestado.gov.ve/)
  • Infocentro: proyecto que busca facilitar el proceso de apropiación de las tecnologías de información y comunicación por parte de los sectores populares, mediante la consolidación de espacios tecnológicos comunitarios que faciliten la construcción colectiva y transferencia de saberes y conocimiento.
  • Aula virtual: es un espacio para llevar a cabo prácticas educativas que faciliten transferencias tecnológicas en el uso de aplicaciones informáticas.
  • Academia de software libre: es un centro de formación, investigación y desarrollo de software de fuente abierta y de licencia gratuita, que brinda apoyo a las instituciones públicas con el fin de incrementar la eficiencia,productividad y calidad en los servicios ofrecidos por las diferentes organizaciones nacionales.
  • Congreso Nacional de Software Libre (CNSL): es una serie ordenada de eventos que todos los años visita una ciudad por semana durante tres meses de actividades y conferencias en las cuales una selección importante de expertos nacionales e internacionales en el uso de GNU/Linux y el Software Libre ofrecen a todos los participantes una muestra integral del Software Libre, su implementación, características, posibilidades y lo más importante: sus valores éticos y la importancia de vivir en libertad y con Soberanía Tecnológica.(http://cnsl.org.ve/)
  • Indesoft: La Fundación de Investigación y Desarrollo y de Software libre esta compuesto por un grupo de jovenes con amplia motivación en participar en el proceso de desarrollo tecnologico del Software libre en Venezuela. (http://www.indesoft.org.ve)
  • Proyecto GNU Venezuela: es un ente generador y articulador de proyectos donde se integran todo tipo de actores del movimiento del Software Libre junto a las demás áreas del quehacer nacional, con el objetivo de promover y defender la libertad del conocimiento en materia de ciencia y tecnología. (http://gnu.org.ve/)
Con todos estos proyectos podemos decir que en nuestro pais se ha hecho una labor muy importante de masificación y contribución con el Software libre. 


Referencia:
- www.cnti.gob.ve/