5 Herramientas de software libre que el ingeniero de sistemas debería conocer.

Suele suceder que en las Universidades en Ecuador se gradúan tecnólogos en sistemasingenieros de sistemas, y profesionales afines a informática con muy poco conocimiento de que herramientas se utilizan en la práctica, en el mundo productivo del entorno, por lo menos en el área de desarrollo de software. Salen a «trabajar con las uñas» a veces por no conocer las herramientas apropiadas para distintas soluciones.

Por supuesto que siempre se puede desarrollar soluciones desde cero en lugar de utilizar herramientas existentes. Pero, en mi experiencia, en el mundo productivo esto es lo que menos sucede y en general lo menos conveniente. Lo conveniente es saber que herramienta de software libre es buena y apropiada para ajustarla a un problema determinado.

LA IMPORTANCIA DEL SOFTWARE LIBRE EN EL DESARROLLO DE SOLUCIONES Y SU IMPACTO EN EL MUNDO

El software libre es maravilloso. Al igual que la ciencia, el software libre se comparte sin barreras generando un efecto social, político y económico muy positivo a nivel mundial. No me voy a extender en el tema pero realmente creo que vale la pena recalcar que para casi todo problema común existe una herramienta de software libre. Las soluciones basadas en software libre seguramente no entran como «anillo al dedo» pero con suficiente trabajo te permitirá desarrollar soluciones escalables y re-utilizables en tiempos razonables.

5 HERRAMIENTAS DE SOFTWARE LIBRE QUE SI NO CONOCES QUIZÁS DEBERÍAS CONOCER

Moodle

Se pronuncia Mudol. Moodle es una plataforma LMS (Learning Management System) de altísimo uso a nivel mundial. Es muy probable que la universidad donde estudiaste o estudias la utilice. En Colombia casi todas las instituciones educativas utilizan Moodle tanto para impartir formación virtual como para complementar la formación presencial.

Moodle puede instalarse con MariaDB, Mysql, o Progress como motor de base de datos. Existen algunas otras alternativas Open Source para LMS como Dokeos y Sakai pero sin duda Moodle es el más popular en nuestro contexto.

Joomla

Se pronuncia Yumla. Joomla es un gestor o administrador de contenidos CMS (Content Management System) que permite construir sitios web; tanto básicos como integrados con aplicaciones gracias a su robustez y extensibilidad. Hoy por hoy el diseño web converge con la ingeniería de sistemas dado que en general las páginas web son construidas a partir de aplicaciones CMS como Joomla, las cuales permiten actualizar y administrar los contenidos de forma sistemática y amigable.

WordPress

Se prouncia Uordpres. WordPress al igual que Joomla es un CMS. Aunque en la rama de los gestores de contenido o CMS hay muchísimas opciones, WordPress se destaca por ser el más utilizado en nuestro contexto y seguramente el favorito de las agencias de publicidad y empresas del diseño web. WordPress es muy amigable, su simplicidad y versatilidad han sido claves para su éxito en combinación con una gigantesca y colaborativa comunidad de desarrolladores activos creando plugins (extensiones) y themes (temas para modificar la apariencia).

Por ejemplo si vas a crear un blog y no sabes por donde comenzar, seguro WordPress es tu mejor opción. Otros CMS como Drupal son más complejos y tienen sus ventajas también, pero WordPress está perfecto para empezar.

Vtiger

Se pronuncia Vitaiguer. Vtiger es un CRM (Customer Service Magement), es decir. una aplicación de gestión de servicio al cliente. Vtiger también es altamente extensible y personalizable. De hecho personalizarlo es prácticamente obligatorio dado que todo negocio es distinto por lo cual hay que configurar variables y flujos de trabajo según necesidad.

Codeigniter

Este prefiero pronunciarlo como suena en español dada su escritura. Codeigniter es un framework. Es decir no vendría siendo una aplicación lista para usar como las anteriores sino una herramienta sobre la cual desarrollar nuevas aplicaciones. He visto colegas realizando desarrollos desde cero probablemente ignorando la existencia y as ventajas de la utilización de frameworks como Codeigniter.

Existen algunos otros framework para PHP de gran acogida como Yii, Laravel, Symphony, Zend y Cake PHP.  Aconsejaría aprender completamente al menos uno si vas a desarrollar y/o programar.