[U-co] ¿Porque no depender de Mono o C#?

Manuel Alejandro Cerón Estrada ceronman en gmail.com
Jue Jul 30 04:48:30 UTC 2009


Hola Hugo.

El 29 de julio de 2009 11:40, Hugo Franco<hugo.franco75 en gmail.com> escribió:
> Vi los dos artículos y me quedo con el primero... el asunto no es de
> fanatismos u odios, simplemente se trata de una cuestión práctica:
> protegerse de un futuro alegato por el uso de material protegido por
> patentes.

Me quedan serias dudas de que hayas leído los dos artículos. Hay cosas
que se han explicado mil veces y el autor del artículo se ha tomado la
paciencia de escribirlas de nuevo. Aún así, las personas no se toman
el trabajo de leerlas. Yo no debería, pero por enésima vez me tomaré
la molestia de decir algunas de estas cosas de nuevo.

En primer lugar, cuando se habla de propiedad intelectual del
software, existen dos aspectos que son muy diferentes: Los derechos de
autor y las patentes. Los derechos de autor se usan en todo el mundo
para proteger el software. Aplican sobre el código binario y el código
fuente. Las patentes de software aplican sobre las ideas que se usan
en el software y sólo se usan en Estados Unidos y Japón, el resto del
mundo no considera el software patentable.

Por ejemplo: Una patente se software puede aplicar sobre el algoritmo
del codec de video H-264. Los derechos de autor aplican sobre una
implementación específica, por ejemplo ffmpeg. Así por ejemplo ffmpeg,
en cuanto derechos de autor tiene licencia LGPL, pero en cuanto a
patentes, tiene patentes pertenecientes a MPEG-LA. ffmpeg es software
libre, pero tiene patentes que lo restringen, por lo que no se puede
distribuir libremente en USA y Japón. Las patentes MPEG-LA exigen que
se paguen regalías por el uso de las implementaciones.

Los derechos de autor de Mono (El runtime, el compilador de C#, la
biblioteca de clases y las herramientas) NO pertenecen a Microsoft.
Los derechos de autor de Mono son propiedad de Novell y de muchos
desarrolladores voluntarios al igual que pasa con Linux, Gnome o
Apache. La licencia de Mono es 100% Software Libre.

Sobre Mono pueden existir muchas patentes que son propiedad de
Microsoft, hasta ahora nadie ha dicho cuales son esas patentes, sólo
se cree que pueden existir. Hasta ahí todo puede ser como dices, uno
podría pensar que en cualquier momento Microsoft podría sacar a
relucir las patentes que tiene sobre Mono y frenar las cosas
importantes que se hayan desarrollado con esta plataforma. Sin
embargo, y esta es la razón por la cual dudo que hayas leído el
artículo que mandé, resulta que Microsoft ha decidido que C# y el CLI
(Infraestructura de máquina virtual que usa Mono) sean estándares
internacionales, y los ha mandado a dos organismos para eso: ISO y
ECMA. Eso quiere decir que C# y el CLI son estándares ISO y ECMA
(ECMA-335 - ISO/IEC 23271 y ECMA-334 ISO/IEC 23270 respectivamente).
¿Y qué con eso? Pues que el requisito fundamental para que un estándar
sea ISO o ECMA es que quienes lo promueven deben declarar que el
estándar debe ser de libre implementación y libre de pago de regalías.
Esto quiere decir que Microsoft tuvo que comprometerse a que no va a
exigir pago de regalías por sus patentes ni que va a ejercer ninguna
restricción para sus implementaciones. Como si esto fuera poco,
Microsoft ha decidido licenciar C# y el CLI bajo una licencia de
patentes llamada "Microsoft Community Promise" La cual dice lo
siguiente:

Microsoft irrevocably promises not to assert any Microsoft Necessary
Claims against you for making, using, selling, offering for sale,
importing or distributing any implementation

Es importante entonces notar que no es que las cosas sean poco claras
o que no se estén dejando en claro los derechos de propiedad de un
producto. Para mí están clarísimos. De hecho están más claros que los
términos de QT, porque aunque QT tenga clara su licencia de derechos
de autor, hasta donde sé, no dice nada con respecto a las patentes que
puedan aplicar sobre ese software.

Ahora, es cierto que estas garantías sólo aplican a C# y el CLI. Hay
partes del proyecto de Mono que, aunque son libres en cuanto a
derechos de autor, no están cobijadas por las mismas garantías en
cuanto a patentes. Ejemplos de esto son ASP.NET y WindowsForms. Sin
embargo, es bueno aclarar que los proyectos libres que usan Mono como
Banshee, Tomboy, F-Spot, Gnome-do o MonoDevelop no hacen uso de estas
librerías, sino que sólo usan las partes cobijadas por las garantías
de patentes.

Estas razones que he expuesto son las mismas por las cuales
comunidades como las de Ubuntu, Debian, Fedora, OpenSUSE y empresas
como RedHat, Canonical, Novell y otras, se han reunido y han
deliberado junto con sus abogados y han llegado a la conclusión de que
incluir Mono en sus distribuciones no es una amenaza. Y así lo han
hecho.

Por último, me gustaría decir que los riesgos de las patentes están
siempre presentes sin importar las herramientas que se usen. Por
ejemplo Linux tiene ya varias acusaciones de violaciones de patentes y
está escrito en C. También recordemos que así como Linux es una
implementación libre de un sistema privativo: Unix. Mono también es
una implementación libre de un sistema privativo: .NET. Igual pasa con
Samba, Wine, gcc, gnash y muchos otros.


-- 
Manuel Alejandro Cerón Estrada
http://ceronman.freaks-unidos.net




Más información sobre la lista de distribución Ubuntu-co