sábado, 15 de agosto de 2015

De lo Sublime a lo ATOMico

Hace un par de meses GitHub anunció la versión 1.0 de su editor de texto ATOM. Si usas Sublime notarás instantáneamente la similitud entre los dos editores, sin embargo existe una diferencia muy importante, ATOM es Open Source.

viernes, 8 de julio de 2011

El entorno legal y jurídico del Software Libre

Si desarrollas un programa y quieres compartirlo bajo una licencia libre, es recomendable revisar las distintas opciones antes de tomar una decisión.

Retos y Oportunidades del Software Libre en Venezuela

Las 4 libertades que brinda el software libre permiten la construcción de una plataforma dedicada al estudio y enseñanza del mismo. En este sentido, las universidades venezolanas tienen una enorme oportunidad de explotar esta ventaja y comenzar a formar profesionales que sean capaces de diseñar, desarrollar y mantener proyectos de software libre.

Migrando a Software Libre

La "Guía para el Plan de Migración a Software Libre en la Administración Pública Nacional (APN) de la República Bolivariana de Venezuela" contiene información y procedimientos inherentes al desarrollo de la Migración hacia el Software Libre en el Centro Nacional de Tecnologías de Información (CNTI), el cual podrá ser tomado como referencia por los diferentes Entes Gubernamentales que requieran migrar su Plataforma Tecnológica de Información desde un entorno de Software Propietario a un entorno basado en el Software Libre para el uso y/o prestación de servicios de Tecnologías de Información y Comunicación (TIC) [1]. Formalmente el CNTI recomienda un proceso de 4 fases para una migración efectiva de software propietario a software libre, cada una de estas fases está compuesta por un conjunto de actividades que evalúan diferentes aspectos del proceso de migración y que en conjunto aseguran -hasta cierto punto- el objetivo de migrar todo el entorno de trabajo a software libre, desde los servidores hasta las estaciones de trabajo.

Motivos que impulsan al desarrollo del Software Libre en Venezuela

Canaima es una de las comunidades venezolanas que ha evidenciado los mayores logros en materia de software libre, proyectos como Canaima GNU/Linux (recientemente liberada en su versión 3), que surgió como una solución para cubrir las necesidades informáticas de los usuarios finales de la Administración Pública Nacional (APN) Venezolana, ha demostrado ser de gran calidad y robustez, a la vez que ha dado paso para otros proyectos tales como Canaima Educativo, conformado por un conjunto de recursos de aprendizaje orientado a niños de 1ro y 2do grado, que buscan impulsar la interacción entre el niño y el computador [4].

jueves, 7 de julio de 2011

Gestión de la calidad y pruebas del Software Libre

La bibliografía relacionada con la gestión de la calidad de software es muy amplia, sin embargo para entender los conceptos más comunes basta con revisar el artículo de Wikipedia relacionado con el tema [1]. Este artículo explica que las pruebas se pueden agrupar según el nivel de la prueba (unitarias, de integración, de regresión, de aceptación, pruebas alpha, pruebas beta), según los métodos utilizados (caja blanca, caja negra, caja gris) y además describe las siempre olvidadas pruebas no funcionales (rendimiento, estabilidad, usabilidad, seguridad). Por otra parte existen diferentes modelos que le permiten a los ingenieros asegurar la calidad a lo largo de todo el proceso de desarrollo del software, los modelos de calidad más mencionados son: CMMI y las Normas ISO.

Ahora bien, si por lo general es una tarea difícil gestionar la calidad de los proyectos de desarrollo de software, incluso cuando muchos aspectos de estos proyectos están controlados. ¿Cómo se gestiona la calidad en los proyectos de software libre?

miércoles, 6 de julio de 2011

Aprendiendo a modelar con UML

El Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language), es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables [1].

En la actualidad UML es el lenguaje de modelado de sistemas más conocido y utilizado, de ahí la importancia de estudiarlo y aprender a utilizarlo.

martes, 5 de julio de 2011

Ingeniería del Software Libre

Cada proyecto tiene un conjunto de características y necesidades únicas (que deben ser identificadas desde el inicio); de forma similar, cada metodología de desarrollo ofrece un conjunto de ventajas y facilidades únicas, así como inconvenientes.

En ese sentido, el primer paso de la ingeniería de software es seleccionar la metodología de desarrollo que mejor se ajuste a las necesidades del proyecto, de forma tal que este sea desarrollado en el menor tiempo posible y con la mejor calidad. Para lograr esto, hoy en día tenemos la ventaja de poder escoger de una lista de metodologías que han demostrado ser eficientes en proyectos con características particulares. Por un lado tenemos las metodologías ágiles, ideal para proyectos cortos (menores a 6 meses) en los que no se tienen muy claros los requerimientos del cliente, y por otra parte tenemos las metodologías tradicionales, ideales para proyectos largos mayores a 6 meses. Pero ¿Dónde quedan los proyectos de software libre?

Profundizando conocimientos en Ingeniería del Software

Uno de los problemas actuales que enfrenta la ingeniería del software es el problema de la estimación. Aunque existen muchas teorías y técnicas al respecto, en la práctica ha resultado terriblemente difícil hacer buenas estimaciones de los proyectos de software.

Entendiendo la filosofía del Software Libre

"Como usuario de informática de hoy en día, se puede encontrar usando un programa privativo. Si su amigo le pide hacer una copia, estaría mal negarse a ello. La cooperación es más importante que el copyright. Pero una cooperación clandestina no contribuye a mejorar la sociedad. Una persona debería aspirar a vivir una vida honrada abiertamente con orgullo, y esto significa decir «No» al software privativo." [1]

Libertad y solidaridad social conforman los pilares de la filosofía del software libre. Y aunque ciertamente no es fácil seguir la línea de pensamiento de Richard Stallman, en este post intentaré explicar algunas de las ideas expresadas por el padre del software libre.