La trampa de .NET

En lo particular me gusta mucho programar en C# mas que java, pero después de leer una de las antiguas polémicas de Richard Stallman, me recordé del proyecto de Microsoft el que esta muy de moda .NET.

Y es que es grande el viejo, el exponía que Java estuvo amarrado a dependencias privativas, pero esto ya se esta solventando ya que Sun esta liberando sino es que ya la libero su maquina virtual y al parecer el JDK ya tiene licenciamiento GPL.

¿Pero por que .NET es una trampa? por que como lo dice Richard Stallman:

Si algunas de las dependencias de un programa no son libres, entonces todo o parte del programa no se puede ejecutar en un sistema completamente libre —es inusable en el mundo Libre—.


La dependencia no libre de nuestras aplicaciones es el framework .NET, entonces ciertamente "es inusable en el mundo libre", para cubrir esa TRAMPA, se hace uso del proyecto Mono.


Al ser C# desarrollado y estandarizado por Microsoft, luego aprobado por la ECMA e ISO, surge el proyecto Mono iniciado por Ximian, que luego Novell lo retoma despues de adquirir Ximian. El proyecto surge para crear un grupo de herramientas libres para sistemas Unix/Linux, Mac OS, entre otros, compatibles con .NET.

Algunos me dirán que Mono aun no implementa al 100% los proyectos de .NET y es como lo dice Richard Stallman con respecto a Java en su momento:

Si usted escribe un programa en Java sobre la plataforma Java de Sun, está expuesto a usar funcionalidades exclusivas de Sun sin ni siquiera darse cuenta. Para cuando se dé cuenta, quizás las haya estado usando durante meses, y rehacer el trabajo le tomaría más meses. Podría decir «volver a empezar es demasiado trabajo». Entonces su programa habrá caído en la trampa del Java; será inusable en el mundo Libre.
La manera fiable de evitar la trampa del Java es tener en su sistema solamente una implementación libre del Java. Así, si usted usa una funcionalidad o biblioteca del Java que el software libre todavía no soporta, se dará cuenta en seguida, y podrá reescribir ese código de inmediato.


En el caso de .NET una implementación libre es usando Mono, para que nuestras aplicaciones no tengan dependencias privativas y sean totalmente libres. Y para esto no hay ningun problema ya que Mono se puede usar tanto en Windows como en GNU/Linux y tener aplicaciones totalmente multiplataforma y libres.

Comentarios (0)

0 Response to "La trampa de .NET"