intive Argentina Blog

Compartir es bueno: la historia de DynamicJasper

“Sharing is good, and with digital technology, sharing is easy.“

(“Compartir es bueno, y con la tecnología digital, compartir es fácil.”)

Richard Stallman

 

Siempre recuerdo ese día de mi infancia en que me regalaron mi primera computadora, una Commodore 64: la infinita cantidad de opciones y de aprendizajes posibles, el disfrute en descifrar lenguajes y construir con ellos nuevas realidades, aunque en principio sólo fueran programas de dudosa utilidad.

Mucho tiempo después, cuando tenía 22 años y era estudiante en la UBA, tuve la suerte de recibir la visita de mi padre que estaba trabajando como evaluador de universidades. Él había dedicado toda su vida a la investigación y ahora, desde este nuevo rol, le tocaba analizar una de las más importantes universidades públicas argentinas. Aunque lo que descubría era muy positivo desde la mayoría de los aspectos, se encontró con  algo que lo desilusionó muchísimo. En una entrevista con el rector, ante la pregunta de por qué no se invertía más en investigación y desarrollo dentro de la institución, éste le contestó que para él la tecnología de base debía ser construida en USA, Europa y Japón, y que los ingenieros argentinos debían dedicarse solamente a la implementación.

La idea que heredé de mi padre, de más está decir ante su desilusión, fue completamente diferente y supone que el desarrollo de las tecnologías de base son la única verdadera herramienta de desarrollo de las personas, de las comunidades, de las organizaciones y las naciones.

En virtud de esta herencia nació en 2006 FDV Solutions, una empresa que en aquel entonces contaba con sólo cuatro programadores (todos amigos de la universidad) y que hoy cuenta con más de 100 integrantes. Nuestro primer proyecto fue hacer algo que una consultora había rechazado previamente por considerarlo imposible: armar reportes dinámicamente con JasperReports, el entonces líder mundial en reportes con JAVA.

En aquel momento no había otro proyecto en vista, por lo que no teníamos mucha más opción que aceptar el desafío. Fue así que tomamos el trabajo, nos encerramos en nuestra oficina (que en aquel entonces era la casa de DJ, uno de los socios fundadores) y nos quedamos toda la noche sin dormir. Cuando el sueño nos estaba ganando y el amanecer ya había pasado hacía unas cuantas horas, nuestro héroe, el dueño de casa, nos dice: “¡era una pavada, se le puede hablar a los objetos dinámicamente, puedo instanciar DynamicReport y agregarle columnas!”

Por supuesto que no habíamos descubierto la pólvora, pero en un mundo de estáticos XMLs y de costosísimos ciclos de deploy, poder modificar un reporte en tiempo de ejecución era algo soñado para los usuarios de sistemas webs construidos en Java. Además de haber logrado que el cliente pueda tener los reportes en tiempo récord, iniciamos un trabajo sumamente intenso durante los siguientes dos meses hasta dejar la primera implementación de DynamicJasper en producción.  

Lo que siempre consideré lo más importante de esta historia, piedra fundamental de FDV Solutions, fue el compromiso que tuvimos luego cuando, conscientes de que habíamos desarrollado algo que podía tener un gran impacto en otros proyectos, decidimos rehacer todo el código y publicarlo a la comunidad Open Source.

Empezamos desde cero en nuestras primeras oficinas, con la experiencia a cuestas de haber visto la versión cero funcionar con usuarios reales de negocio (y muy exigentes, dicho sea de paso). Esto ayudó mucho a no perder el foco en los usuarios y el valor que daba la librería a los desarrolladores que la necesitaban.

Aún así, jamás nos imaginamos el éxito que tendría DynamicJasper. En Octubre de 2007, sin que nosotros hiciéramos ningún tipo de actividad de prensa, los dos sitios más importantes de tecnología Java de aquel entonces, TheServerSide e InfoQ, publicaron simultáneamente notas en sus portales contando sobre el producto. Esto nos tomó por sorpresa y, como en nuestro sitio había una demo del producto que corría en nuestros servidores, ese día llegamos a la oficina y todos habían colapsado por el increíble tráfico que se había generado.

Durante los siguientes años el proyecto siguió siendo utilizado alrededor del mundo: según Google Analytics se utiliza en más de 158 países. Fue un gran esfuerzo e inversión de parte de la empresa, se liberaron a la comunidad más de 50 versiones de la librería a lo largo de 10 años, con constantes mejoras tanto al producto como a la documentación del mismo, y mantiene una vigencia desde el punto de vista técnico que nos llena de orgullo y satisfacción.

No hay duda que la experiencia de DynamicJasper confirmó y fortaleció lo que pensábamos sobre la tecnología:  que ésta puede construir en Argentina (y en cualquier otra parte del planeta) y que permite aportar valor a empresas, universidades y gobiernos alrededor del mundo. Además, descubrimos que compartir el conocimiento generado con la comunidad de código abierto es el camino para la innovación y el desarrollo tecnológico, además de una devolución de gentilezas a tanta gente que admiramos y que hizo posible que podamos disfrutar de vivir haciendo lo que amamos.

 

Mariano Stampella

Además de ser ex Business Developer en intive, Mariano Stampella es uno de sus socios fundadores. Es ingeniero en informática, egresado de la Universidad de Buenos Aires (UBA), y realizó un posgrado en el Instituto Tecnológico de Buenos Aires (ITBA). En la compañía, también se desempeño como investigador y manejó el área de Desarrollo. Es uno de los miembros fundadores de Nahual, un multipremiado proyecto social open source.

 

Deja un comentario