Los secretos de un Desarrollador MONO, al habla con Cesar Lopez

Entrevistas de SomosLibres.org

César López Natarén, es mexicano colaborar y co-fundador del Grupo de Usuarios de Software Libre - Somos Libres de Perú. Además es un excelente programador y colaborador del Proyecto Mono, La comunidad de SomosLibres.org esta orgulloso de Cesar, además queremos conocer más de su experiencia en el desarrollo de proyectos de software Libre, MONO, Ximian y GNU/Linux.
En la Foto Derecha: Duncan Mak(desarrollador Mono), Cesar Lopez (Desarrollador Mono), Miguel de Icaza (Creador de Mono y Presidente de Ximian Novell), Hector Gomez (Desarrollador Mono)

Estimado Cesar esta entrevista se realiza con el unico proposito de despertar el interes, motivar y animar al creciente incremento de usuarios desarrolladores peruanos que desean aportar a la Comunidad del Software Libre en el Perú.
Como sabes el futuro del Software Libre en nuestros paises en desarrollo depende de esta generación de jovenes universitarios tanto en mexico como en el Perú.
Por lo tanto quisieramos saber mas acerca del tema de Software Libre y GNU/linux.

En la foto de la derecha Paolo Molaro (Desarrollador GNOME, MONO), Miguel Icaza (Presidente de Ximian Novell y Mono), Cesar Lopez (Desarrollador Mono), Mike Kestner (Creador de GTK).

P1.¿Desde cuando Cesar trabaja con GNU/linux y cómo está su persona colaborando con la comunidad de software libre en Mexico?
Me inicié dentro de GNU/Linux en el año de 1998 al estudiar la carrera de Ciencias de la Computación en la Facultad de Ciencias de la Universidad Nacional Autónoma de México (UNAM), cabe mencionar que mi hermano ya me había familiarizado con el desde un tiempo atrás. A partir de este primer contacto con GNU/Linux empecé a usar toda clase de Software Libre y conocí la filosofía que hay detrás de este movimiento. Acá en Mexico he estado colaborando con la comunidad de software libre principalmente desde la universidad, promoviendo el uso de GNU/Linux, Emacs GNOME, Mono, etc...entre los estudiantes, dando charlas de difusión de los objetivos y beneficios del software libre.

P2.¿Cómo se está desarrollando e implementado el Software Libre en la UNAM y en México?
Muchos compañeros y amigos que trabajan para la UNAM están liberando el software que desarrollan para nuestra institución bajo licencias GPL/LGPL lo cual es muy importante ya que son sistemas de gran calidad que pueden ser reutilizados en muchas partes, en particular es un proyecto integrador de sistemas de información basados en XML , PLT Scheme , SSAX y Java. En México hay una gran cantidad de personas usando software libre, aunque aún somos minoría debido a la larga tradición de uso de software propietario, sin embargo considero que esto cambiará en el futuro en la medida en que los usuarios y desarrolladores de Software Libre nos esforcemos en promoverlo y brindemos servicios y soluciones a problemas reales mediante alternativas libres.

P3. ¿Cuales han sido los impactos significativos del Software Libre en México y crees que Miguel Icaza tenga que ver con el moviento activo del software Libre en México?
En la Facultad de Ciencias de la UNAM, se usa casi exclusivamente software libre para la enseñansa, esto a permitido que el dinero que se invertía en licencias para el uso de software propietario se usen para otras cosas como comprar hardware, libros, entre otras cosas. Además de permitir la experimentación y el aprendizaje debido a la posibilidad de tener acceso al código fuente de los programas. Han habido varias propuestas para usar Software Libre en proyectos grandes que tienen el propósito de brindar acceso a la información a todo el pais mediante el acceso a internet a través de servidores GNU/Linux, un ejemplo de esto es el proyecto Red Escolar .
Miguel de Icaza - desde mi punto de vista - es una de las personas con mayor influencia, capacidad y visión dentro del software libre a nivel internacional actualmente, el que sea mexicano tiene un gran peso para nosotros ya que nos impulsa y motiva para prepararnos y trabajar en pro del software libre, Miguel desde muchos años atrás siempre colaboró en pro de la difusion, distribucion y creación de software libre en el pais, y formó y trabajó con mucha gente que despues se volvieron en grandes contribuidores tambien, además de hacer propuestas a nuestros parlamentos para que se adopten sistemas libres, un ejemplo de ello es su propuesta para el proyecto e-méxico , la cual desafortunadamente fue rechazada.

P4.¿Qué es Ximian y el Proyecto Mono y cual es la Base de este proyecto?
Ximian es la compañia formada por Nat Friedman y Miguel de Icaza en 1999 para desarrollar GNOME y aplicaciones basadas en esa plataforma de desarrollo.
Mono es el proyecto iniciado por Ximian en el 2001 con el fin de crear una implementacion libre de la plataforma de desarrollo especificada en los estandares de ECMA de lenguaje de programación C# y el motor de ejecución conocido como Common Language Infrastructure (CLI) .
Mono actualmente consiste de:

  • Un motor de ejecución ECMA-CLI para GNU/Linux en x86, SPARC, entre otras arquitecturas, MAC OSX y Windows.
  • Un motor de ejecución para programas escritos en Java, a través de IKVM .
  • Un compilador para el lenguaje de programación C# 1.0.
  • Una biblioteca de clases que implementa .NET 1.1.
  • GTK# 1.0, bibliteca para desarrollar aplicaciones gráficas.
  • GNU Classpath para el CLI.
  • Motor de ejecución para VisualBasic. El pasado 30 de junio del 2004 fue liberada la version Mono 1.0. Pueden bajarla . La creación de Mono ha sido posible gracias a las contribuciones de más de 234 desarrolladores de todo el mundo, además del apoyo de compañias como: Novell/Ximian, SourceGear, Virtuoso, Voelcker Informatik y Mainsoft.

    P5.¿Qué funciones realiza en el Proyecto Mono y de que manera está aportando a éste proyecto?
    Actualmente estoy desarrollando el compilador para JScript .Net de Mono. Anteriormente había escrito documentación, ayudado en el soporte de serializacion en la biblioteca de clases y modificaciones en el API de GTK#.

    P6.¿Con que otros lenguajes de programación podemos desarrollar más software libre y cuales deben ser las recomendaciones para los que recien empiezan a trabajar sistemas utilizando Mono u otro lenguajes de Software Libre?
    En cuanto a los lenguajes de programación mi idea siempre ha sido, utiliza el lenguaje de programación que te permita resolver tu problema en particular de la mejor manera. En lo personal me gustan Scheme, Python, C, C#, Smalltalk, entre otros.

    P7.¿Mono tiene soporte para Base de Datos es posible realizar sistemas complejos Cliente/Servidor o aplicaciones Web utilizando Mono?
    Definitivamente, existen muchas clases para interactuar con bases de datos, los ensamblados System.Data.dll, IBM.Data.DB2.dll y System.Data.OracleClient.dll contienen esas clases.

    P8. ¿Por que deberiamos utilizar los usuarios peruanos Mono para desarrollar sistemas y por que no se debe utiliza .NET de microsoft?
    Perú como México es un pais en vias de desarrollo que necesita reducir costos con respecto al uso de software en el gobierno, empresas y usuarios casuales; el software libre nos permite lograr esto y además crear una industria de software nacional que nos permita ser autosuficientes y crear nuestras propias soluciones a un menor costo, y esos recursos podrian ser usados educacion y capacitacion, entre otras cosas. No tengo idea de cual sea el valor de las licencias para usar .NET de Microsoft, sin embargo Mono es Software Libre y actualmente es una plataforma de desarrollo estable, además de portable, ya que podemos usar Mono en GNU/Linux sobre x86, en MAC-OSX en PPC y en Windows mismo.

    P9. ¿Qué se espera de Mono los proximos años, ya existe un entorno de desarrollo?
    El pasado 30 de junio del 2004, fue liberado Mono 1.0, despues de esto sigue un ciclo de arreglo de errores e inicia la implementación de ciertos componentes pertenecientes a lo que será .NET version 2.0, entre ellos cosas relacionadas con XML 2, ASP .NET 2, WSE 2/Indigo, el compilador para C# 2.1, System.Windows.Forms y el compilador para VB .NET y el compilador para JScript .NET.

    La biblioteca de clases provee una gran variedad de servicios para crear aplicaciones de diversos tipos, por ejemplo: Servicios Web, ASP.NET, XML, acceso de bases de datos, reutilización código escrito en Java.

    Sin embargo, por otro lado ha empezado a florecer una gran variedad de bibliotecas que no pertenecen a .NET y que son de gran utilidad en el mundo del software libre, por ejemplo: Evolution#, GTK#, iFolder, Commons.Xml, controladores para manejadores de bases de datos.

    La mayoría de los desarrolladores de Mono usan Emacs o Vi como editores para programar en C#, sin embargo también existe MonoDevelop , que es un IDE (Integrated Development Environment) que permite la migración más facil de desarrolladores de Windows a GNU/Linux. Monodevelop está escrito en C#.

    Actualmente ya varias compañias a nivel internacional usan Mono para desarrollar sus productos, por ejemplo Novell desarrolla iFolder , Beagle , Dashboard , F-Spot , con Mono, SourceGear usa Mono para poder ejecutar Visual Mainsoft for J2EE , Winfessor certifica que sus bibliotecas trabajen con Mono. Por otro lado, la comunidad del software ya adopto a Mono como plataforma de desarrollo, muestra de ellos son los proyectos: Monodevelop , Muine , Nemerle y GNOME Fax .

    P10.¿Cuales deben ser los otros lenguajes que se debe trabajar para desarrollar Software y que faltaria para que las empresas puedan utlizar esta herramienta de desarrollo?
    Considero que se debe escoger cierto lenguaje de programacion para implementar un solucion, tomando en cuenta el tipo de problema a resolver, la arquitectura en la cual sera instalada, y otro tipo de factores que son comunes.

    Como mencioné en la pregunta anterior, hay empresas que actualmente ya están usando Mono para desarrollar sus productos. Así que ahora depende de las empresas el usarlo.

    Pueden visitar el nuevo sitio del proyecto en la sección para usuarios, para obtener información sobre como instalarlo y documentación.

    P11.¿Cómo los usuarios peruanos que quieran aportar pueden colaborar con Mono y demás proyectos de software libre?
    Mono necesita y le da la bienvenida a todas las personas que quieran coloborar, existen muchas áreas en las cuales se puede contribuir: correción de errores, implementar nuevas bibliotecas, optimizaciones en los compiladores, y documentacion.

    Pueden visitar el nuevo sitio del proyecto en la sección para desarrolladores.

    P12.¿Piensas que deberian de enseñar Mono y el resto de lenguajes de programación de software libre en las Universidades Peruanas y como contribuiria en la formación académica de los estudiantes de Informática?
    Un punto que considero muy interesante es el usar Mono en las clases de compiladores ya que Mono implementa varias técnicas sofisticadas y es posible usarlo como base para experimentar con nuevas técnicas y hacerle modificaciones.

    Para cursos introductorios para aprender a programar creo que hay mejores opciones, como Scheme por ejemplo, acompañado de un buen libro planeado para la enseñanza. Existe un libro llamado "How To Design Programs" diseñado para estudiantes de nivel medio-superior (preparatorias, bachillerato) muy interesante y bien diseñado.

    P13.¿Qué recomendaciones nos puedes brindar para los estudiantes peruanos de informática que recien empiezan a programar y algunos recien empiezan a trabajar con GNU/Linux?
    Sean muy curiosos y autodidactas. No tengan miedo a experimentar y a unirse al proyecto de software libre de su preferencia, es una experiencia muy valiosa ya que se tiene contacto con desarrolladores de todo el mundo de los cuales pueden aprender mucho.

    P14.¿Dónde podemos encontrar más enlaces relacionados a Mono y demás proyectos de desarrollo de software Libre?
    Pueden visitar, http://go-mono.org, http://mono-project.com, http://monohispano.org, http://www.go-mono.com/monologue/, http://www.gotmono.com/, http://www.go-mono.com/docs/, entre otros.

    Existe un catálogo de los programas desarrollados con GNOME, en http://www.gnome.org/projects/.

    P15.Finalmente quisieramos que pueda Saludar a todo toda la Comunidad de SomosLibres.org, el cual tambien eres miembro, cofundador y amigo del Grupo?.
    Claro que si, quiero mandarle un saludo muy fuerte a toda la gente que hace posible somoslibres.org, en especial a Daniel Yucra, amigo que se que trabaja de manera constante y entusiasta en Perú para difundir el software libre. Un abrazo desde México.



    Nota: Agradecemos la Gentileza de Cesar Lopez desde Mexico.

  • Tema Relacionado: Entrevistas de SomosLibres.org