Skina IT Solutions E.U.
 

Desarrollo de software para exportación basado en software libre

Autor:
Ricardo Naranjo Faccini
Fecha de publicación:
lunes 13 agosto 2001
Tema:
FOSS y Software Libre
Revisado por :
Ricardo Naranjo Faccini
(viernes 11 marzo 2011)

Resumen

A partir del nacimiento del software libre, actualmente plasmado en herramientas de tecnología de punta y alta calidad como lo son: El sistema operativo GNU/Linux, el motor de bases de datos PostgreSQL y el servidor WWW APACHE; las empresas de programación de los países en vías de desarrollo tienen la posibilidad de comenzar a desarrollar productos basados en tecnología de punta que, combinados con el bajo costo del personal capacitado y una metodología basada en el servicio al cliente, pueden llegar a ser sustancialmente competitivos frente a los productos desarrollados por las empresas del primer mundo.


JUSTIFICACIÓN

Los sociólogos Alvin y Heidi Toffler, los autores del libro Las Guerras del Futuro [8] clasifican la historia de la humanidad en 3 olas:

La primera ola se refería a la revolución agrícola que cambió la civilización hace 1000 años, convirtiendo a las sociedades feudales en poderosos gobiernos que lideraban al mundo. Posteriormente, hace 300 años la revolución industrial modificó nuevamente al mundo poniendo a la cabeza de la civilización a las sociedades que, mediante procesos de producción en masa ofrecían productos de mejor calidad con menores costos de producción.

Hoy vivimos la tercera ola, en la cual el manejo de la información y del conocimiento genera una gran sinérgia entre aquellos que controlan estos recursos. Los sociólogos mencionados afirman en Las Guerras del Futuro [8]:

«Cada vez existe mas intercambios comerciales entre las economías de la tercera ola, su tecnología, muy basada en la capitalización de conocimientos, asumirá con el tiempo muchas tareas realizadas en estos momentos por países de mano de obra barata y las realizará mas deprisa, mejor y a un menor coste.

Dicho de otra manera, estos cambios amenazan con cortar muchos de los actuales vínculos económicos entre las economías ricas y las pobres»

Frente a la tercera ola, en un mundo globalizado, los países en desarrollo podremos resignarnos a ser relegados de la civilización y continuar viviendo nuestros típicos problemas de inestabilidad social, violencia y pobreza. O bien tomar medidas que disminuyan las brechas existentes con el resto del mundo.

UNA LUZ DE ESPERANZA

Sin embargo, uno de los artífices de la globalización: Internet, ha gestado varios nuevos paradigmas que, bien aprovechados, pueden permitir, a nuestros países tercermundistas, relegados a vivir eternamente en la primera ola, alcanzar la tecnología informática de la tercera sin los agresivos impases de la industrialización.

Uno de estos paradigmas es la tecnología del software libre, en donde el resguardado secreto de la tecnología ha abierto a nuestros científicos y profesionales la posibilidad de poder trabajar con herramientas de bajo costo produciendo tecnología de punta.

Combinando los bajos costos de operación que tiene una empresa de desarrollo de software basada en estas herramientas con una metodología eficiente y apopiada de servicio y de buena calidad de productos ofrecidos por medio de Internet, nuestras empresas podrán entregar al mercado productos competitivos en este globalizado mundo.

LA GALLINA DE LOS HUEVOS DE ORO

Para ilustrar a los que por primera vez escuchan el término software libre expondré a continuación una breve descripción que espero sea complementada con la lectura de los documentos que indico al final de este artículo.

El software libre nace en el MIT en 1984, bajo el liderazgo de Richard Stallman, quien organizó la fundación para el software libre [3] la cual escribió la licencia pública general. Una licencia orientada a promover el desarrollo, uso, copia y distribución de software, de tal forma que un software protegido por este tipo de licencias tiene los siguientes privilegios:

  • El usuario podrá utilizar, copiar y distribuir el software sin restricciones.
  • El usuario tendrá acceso al código fuente de tal forma que pueda verificarlo, estudiarlo y modificarlo libremente.
  • Las modificaciones que se hagan al código fuente deberán ser redistribuidas en el mismo esquema de licenciamiento original.
  • Cualquier autor podrá publicar un programa bajo esta licencia. 

Mediante esta sencilla licencia se protegió en 1991 un modesto sistema operativo que fácilmente cabía en un disquette, escrito por un estudiante finlandés llamado Linus Torvalds en la universidad de Helsinski y, gracias a la colaboración de 400.000 programadores al rededor del mundo, ha crecido hasta convertirse en un completo y robusto sistema operativo, que hoy funciona en 14 millones de computadores que abarcan procesadores de arquitecturas x86, sparc, alpha, RSC-6000 y muchas otras.

HERRAMIENTAS

De forma similar al génesis de Linux hay múltiples herramientas protegidas por esta licencia y similares que permiten operar a una empresa de desarrollo de software sin incurrir en los altos costos de la adquisición de sus símiles de las casas Microsoft, Oracle, Borland etc. Mas importante aún, los clientes de una empresa de desarrollo que opere basada en software libre tampoco incurrirán en estos costos, incrementando la competitividad de sus productos.

Estos beneficios se complementan con la perpetuidad de la licencia GPL, que garantiza que las mejoras que sean realizadas al software en el cual se basen los desarrollos tampoco generará costos futuros de adquisición de versiones actualizadas que soporten nuevas funcionalidades.

Sin embargo, no todo es libertad, con estas herramientas, es posible producir software propietario, siempre y cuando sean utilizadas como herramientas, es decir, mientras no tome parte del código fuente de estos programas para apoyar el desarrollo, la empresa de programación el producto tendrá la posibilidad de licenciarse en esquema propietario.

Skina Ltda [1] viene trabajando desde 1998 en desarrollos de software utilizando plataformas LAPP (Linux, Apache, PostgreSQL y Php) y actualmente cuenta con un cliente radicado en Bélgica al cual se le han desarrollado sus plataformas de interacción WWW. Las herramientas que nuestra empresa ha utilizado para el desarrollo de este tipo de software desde hace 4 años serán enumeradas a continuación.

El sistema operativo: GNU/LINUX [4]

Entre las herramientas libres sobresalen 3 colosos, el servidor WWW Apache, el protocolo de comunicaciones SAMBA y el sistema operativo GNU/Linux, entendido por el núcleo del sistema operativo con todas las herramientas desarrolladas bajo esquemas de licenciamiento GNU/GPL.

El éxito de GNU/Linux como sistema operativo se da gracias a su alta calidad, robustez, estabilidad, portabilidad y posibilidades de escalamiento.

Motor de base de datos: POSTGRESQL [6]

Los dos proyectos de base de datos más exitosos en el mundo del software libre son PostgreSQL y MySQL, poderosas herramientas con todas las características que una base de datos seria requiere; entre las características con las que cuenta PostgreSQL podemos destacar:

  • SQL 92 Compliant
  • ACID
  • Manejo de Triggers, Llaves primarias, secundarias, índices, secuencias, clusters, procedimientos almacenados y subqueries.

Comunicaciones: APACHE [5]

Al igual que con el sistema operativo, nuestra empresa eligió como plataforma de comunicación a otro de los colosos del software libre, el servidor WWW APACHE, el cual permite publicar a todos los equipos de una empresa las aplicaciones desarrolladas a través del navegador preferido por el usuario.

Interfaz con el Usuario: PHP [7], HTML y JavaScript

Para ser consecuentes con el modelo de comunicaciones presentado es necesario utilizar HTML para presentar los programas a través del navegador, al igual que JavaScript para hacer interfaces interactivas de rápida respuesta utilizando la potencia computacional del cliente y, por el lado del servidor, el lenguaje PHP provee interacción con las bases de datos y los diversos servicios que provee el equipo servidor.

Editores: Vi

Vi, elegido por su versatilidad y rapidez, sobre todo al resolver problemas mediante la edición de los programas ya instalados en máquinas lejanas. Al igual que por el aspecto moderno que proveen implementaciones como gtk-gvim que provee una interfaz bastante moderna con ayudas gráficas basadas en la librería gtk+ [10].

Lenguajes de programación: Python [9], C y Shell

PHP es una herramienta bastante útil, sin embargo, permite la interacción con programas alojados en el servidor escritos en otros lenguajes, de tal forma que podemos utilizar el Shell de Unix, y los lenguajes de programación C y Python para labores específicas como postprocesamiento de archivos tipo texto y ejecución automatizada de comandos.

METODOLOGÍA

Sin embargo, estas herramientas también están al alcance de las empresas programadoras del primer mundo, así que no es coherente pensar que por el simple hecho de utilizarlas la empresa será exitosa. Es necesario complementarla con una política de servicio y atención al cliente que permita garantizar la satisfacción total de este.

Una estrategia que ha demostrado su eficiencia en la satisfacción del cliente es la producción orientada a la alta calidad de los desarrollos. La calidad no se improvisa, debe ser construida a partir de una metodología clara orientada a alcanzar la meta de llevar productos que satisfagan al cliente y al mismo tiempo permitan el incremento de la productividad de la empresa de desarrollo de software.

SER CORRECTOS

Para concluir quiero anexar una advertencia ligada a los paradigmas establecidos en la comunidad del software libre. Es importante anotar que la comunidad del software libre es particularmente celosa de sus productos y para una empresa de programación es importante contar con el visto bueno de ella.

Para obtenerlo, una empresa del tipo que hemos hablado deberá orientar sus desarrollos propietarios hacia aplicaciones personalizadas que respondan a las necesidades particulares de sus clientes o aquellos procesos que brinden ventajas competitivas frente a su competencia basadas en las estrategias propias de ellos.

Igualmente es importante apoyar a las diferentes comunidades relacionadas con el software libre tales como la Free Software Foundation [3], o LinuxCol [2], patrocinándolos, colaborando con su funcionamiento, divulgando la existencia de las tecnologías libres.

También es necesario aportar bajo el esquema de licenciamiento de software libre aquellos programas que desarrolle la empresa de uso general, es decir, aquellas que todo el mundo pueda utilizar y no representen ventajas competitivas o apoyo a procesos particulares de un cliente.

REFERENCIAS

  1. http://www.skina.com.co
  2. http://linuxcol.uniandes.edu.co
  3. http://www.gnu.org
  4. http://www.linux.org
  5. http://www.apache.org
  6. http://www.postgresql.org
  7. http://www.php.net
  8. Alvin y Heidi Toffler, Las guerras del futuro, Ed. Plaza y Janés, 1995
  9. http://www.python.org
  10. http://www.gtk.org

Ricardo Naranjo Faccini

Ricardo Naranjo Faccini Desarrollador WWW

Nació en Barranquilla, Atl, Colombia el 14 de enero de 1971

  • Magíster en Ingeniería de Sistemas y Computación de la Universidad de Los Andes 1998
  • Ingeniero Civil de la Universidad de Los Andes 1995
  • Diplomado en docencia en Ingeniería de la Pontificia Universidad Javeriana 2008
  • Gerente de la firma Skina IT Solutions, su gestión ha llevado a la empresa al nivel de exportación de software. Experto en calidad en el desarrollo de software con énfasis en el uso de herramientas libres orientadas hacia WWW.
  • CTO de AuthorsGlobe, empresa participante en el MIT 100K, elegida como parte del "TOP 10" entre 300 proyectos presentados en este concurso del Massachussets Institute of Technology MIT.
  • Durante el periodo 2004-2005 se desempeñó como Gerente de desarrollo de negocios NOVELL en Nexsys de Colombia.
  • Ejerce docencia como catedrático en la Universidad Javeriana, al igual que lo ha realizado en la Universidad de Los Andes, Universidad de Manizales y Universidad autónoma de Bucaramanga.
  • Comprometido con la divulgación del software libre y su aplicación en Colombia, ha dictado más de 60 conferencias en todo el país, co-fundador de LinuxCol, la primera comunidad de usuarios de Linux en Colombia.
  • Colaborador del grupo ACIS-Linux.