En este artículo os comentaré un poco de historia sobre la evolución de la tecnología .NET y del proyecto Mono, que a pesar de su corta existencia, ha sido un proyecto muy vivo, y en el cual han participado y participan muchas personas de todo el mundo.

.NET es una tecnología desarrollada por Microsoft, que ha sido estandarizada en el ECMA (C#, CLI), ofreciendo la posibilidad de crear utilidades que trabajen con este entorno, sin miedo a que un día Microsoft interponga una demanda o que simplemente cambie las especificaciones a su antojo.

Así pues, Ximian Inc., empresa dirigida por Miguel de Icaza, decidió el 9 de Julio de 2001 crear un runtime y un compilador para la plataforma .NET en sistemas Unix. Dicho entorno fue bautizado como Mono.

Las utilidades del proyecto (runtime = mono; compilador de C# = mcs) están escritos en C#, el lenguaje estrella de la plataforma .NET, por lo que su desarrollo inicial se realizó en el entorno .NET de Microsoft, hasta que el 3 de Enero de 2002 se anunció que el proyecto era auto-suficiente, es decir, que era capaz de compilarse y ejecutarse a sí mismo, con lo cual ya no fue necesario el uso del compilador de Microsoft (csc), pudiendo continuar el desarrollo usando el propio proyecto.

Desde entonces el desarrollo del proyecto ha estado centrado en el desarrollo de la librería estándar, el desarrollo de compiladores para otros lenguajes, como por ejemplo VisualBasic (mbas), la adaptación del sistema de interfaz de usuario de windows (System.Windows.Forms o SWF) al resto de sistemas operativos, usando para ello las librerías del proyecto Wine (http://www.winehq.com), y el desarrollo de ASP.NET y los servicios web, habiendo desarrollado un mini servidor web (xsp) para su uso en entorno .NET (aunque también existe un módulo para Apache llamado mod_mono).

El futuro immediato de Mono está orientado a completar y depurar la librería estándar, sin perder de vista las nuevas características incluidas en la nueva estandarización del entorno, .NET 1.1 (C# 2.0), en donde se incluyen, entre otras cosas, la implementación de genéricos en C#.

Éstos han sido los pasos, a grandes rasgos, de lo sucedido en torno al proyecto. Para obtener más información, remitiros a las archivos de las listas de correos que podreis encontrar en la web del proyecto.

En el siguiente artículo os haré una breve descripción de las principales utilidades de Mono, así como un pequeño glosario de los acrónimos más utilizados en relación con .NET.