Thursday, July 24, 2008

Patentes y derechos de autor

Los derechos de autor (copyright como le dicen del otro lado del Bravo), es algo que la sociedad ha diseñado para proteger a los autores legítimos del plagio, venta ilegítima, etc. por parte de terceros. Es claro que la idea de proteger con esta ley de derechos de autor las obras de software ha estado siempre presente y además a mucha gente le parece natural u obvio este hecho. Sin embargo, en realidad estamos hablando de una idea verdaderamente perversa. El sistema de derechos de autor se diseñó para proteger los trabajos del arte, la literatura y la música. De esta manera los autores pueden explotar su obra por cincuenta o setenta años antes de que pasen a dominio público porque es claro que una obra de arte es para toda la vida.

Con el software la gente ha abstraído el concepto de los derechos de autor considerando que de esta manera se protegen a los autores de programas de computadora. No obstante esto no es necesariamente cierto debido a detalles interesantes. Por ejemplo, una empresa que hace software registra un programa a su nombre. ¿Quién tiene los derechos de dicha obra (por llamar al código de alguna manera)? ¿La empresa de software o el autor del programa? (Piensen en el caso de los libros. El editor puede registrar en derechos de autor una obra de algún escritor, pero tales derechos le pertenecen precisamente al creador de la obra, no a quien la edita). O bien, considérese que muchos programas pasan por revisiones contínuas (por ejemplo tómese Windows, Office o programas de esta naturaleza), ¿Se aplican los derechos de autor también a estas versiones mejoradas? Porque si este es el criterio entonces estaríamos en el caso de un registro de propiedad intelectual que se renueva cada vez que nace una nueva versión.

Tenemos por otra parte las patentes. Podemos pensar en esto como otra forma perversa de mantener los derechos de un programa de computadora, aunque menos malévola que los derechos de autor. Aquí el asunto se pone interesante y difícil cuando nos enteramos que algún ingenioso decidió “patentar” un algoritmo específico, como el ordenar datos a través de la llamada técnica del shell sort. Hay gente que cree que esto es correcto, pero en realidad es poco probable que lo sea. Porque miren ustedes, un algoritmo es simplemente una entidad matemática (de hecho hay una correlación muy significativa entre los algoritmos y las demostraciones en matemáticas. [véase el isomorfismo de Curry-Howard que indica que ambos en efecto son la misma cosa, el mismo objeto en la teoría de las categorías y tipos]). De esta manera lo que hacen las patentes es poner candados, restricciones a las ideas en matemáticas, asunto que evidentemente no puede permitirse porque esto querría decir que nadie más que el que patenta un algoritmo puede usarlo o puede dar permiso para usarlo. Se dice, sin embargo, que las ideas no son patentables pero sí la manera particular de la realización de una idea. Si esto es así entonces estamos hablando de otro tema. Por ejemplo, Lotus en sus buenos tiempos del 123 decidió que su interfaz de su popular hoja de cálculo tenía una patente por lo cual, quien quisiese usar una interfaz así (aunque no fuese para programas de hojas de cálculo), tendría que pagarle a Lotus cierta cantidad. Pero ojo, Lotus mismo podría negarse a otorgar su licencia si se siente amenazado por algún programa que la competencia de ellos pudiese hacer. Ahora bien, independientemente de esto Lotus demostró que la idea de las patentes es poco menos que absurda. Al tener la patente de la interfaz de 123 simplemente mató dicha manera de escribir software. De hecho noten que ninguna hoja de cálculo o cualquier otro programa la usa. Ha desaparecido totalmente del mundo del cómputo. Y hay por supuesto algo más. ¿Cómo saber qué algoritmos están patentados y cuáles no? El programador e incluso muchas empresas de software podrían estar perpetuamente amenazadas por algunos vivales que hubiesen patentado ciertos algoritmos y que a la menor provocación buscarían lucrar con ello. Y si creen que esto puede ser caso aislado solamente piensen en la cantidad de gente que registra dominios en Internet con el avaricioso sueño de venderlos más adelante a alguien por cantidades estratosféricas.

Todos estos fenómenos son parte de lo que se llama software propietario, en donde Microsoft es una de las empresas que trabajan sobre este paradigma. Para todos aquellos que usan Windows o cualquier programa de la empresa de las ventanas deben saber que el hecho de instalar el sistema operativo de Gates significa que usted confía todos sus datos a Microsoft. Ellos bien pueden borrar su información o mandarla a donde mejor les plazca a través de la red y usted no tiene forma de saber si esto está ocurriendo o no. Si lo están haciendo usted no podrá demandarlos, incluso aunque pueda demostrar que lo están haciendo a propósito, cuestión a todo esto ilegal, porque para probar semejante cosa tendría que hacer ingeniería en reversa en el código de Microsoft, asunto que está prohibido y sujeto a que la empresa lo demande a usted por ello.

Así, si quiere olvidarse de todos estos problemas piense en la solución: el software libre. Se puede vivir y tener una vida profesional interesante escribiendo programas bajo este paradigma y eliminando así las restricciones ridículas que los grandes corporativos nos han hecho creer que son “obviamente su derecho”. Y en este caso no es algo que creo, sino algo de lo que estoy seguro.

2 comments:

Cyberprimo said...

Asi es y en mi ultima entrada comente un poquito sobre eso de las patentes de microsoft, la verdad no se esta seguro a donde va a parar toda nuestra info, maxime los rumores de la salida del famoso windows seven que dice que podra localizar al usuario en el mapa, este monopolio tiene a su mando el 90% de la informacion de las computadoras de todos los usuarios comunes y aparte de eso pagamos por ello por eso estoy muy de acuerdo en ser libre, usando software libre, yo ya empece usando Linux.

Erik Martinez said...

La primer versión de Linus Trovalds nació en 1991. HACE 17 AÑOS !!!. Durante esté tiempo han existido muchos defensores del mismo. Actualmente existen más de 100 distros de linux unas mejores otras peores. El problema es que lo que programas para una distro, no necesariamente funciona igual para otra, entonces; ¿Debes testear en más de 100 escenarios diferentes un producto de software? Imposible!!!.

Mi familia come del sofware que desarrollo para terceros, empecé a utilizar Linux hace 4 años, motivado por el buen Miguel Icaza, obvio elegí la distribución de Novell, el SO es como todos, tiene cosas buenas, muy buenas, y malas, muy malas. me considero usuario avanzado en el tema ya que los servidores de seguridad de la empresa corren bajo Linux, he seguido muy de cerca y participado activamente en el proyecto MONO sin embargo es más por gusto que por rentabilidad. A la fecha no he ingresado un solo peso a mi bolsa por conocer y desarrollar bajo linux. Puede ser que no he tocado las puertas adecuadas pero cuando vives del desarrollo de sofware, te orientas hacia lo que más hay en el mercado (Windows).

¿Es linux Seguro? digamos que es más confiable por que te permite más libertad y tu sabes que puertas cierras o dejas abiertas, sin embargo no es para novatos, debes tener un perfil avanzado en el SO y en desarrollo para sacar realmente provecho al núcleo de linux.

Me incómoda que se especule sobre si Microsoft extrae datos o no lo hace, me parece propaganda de terror cibernetico y más cuando se enfoca a una sola empresa ( conste que no trabajo para Microsoft). No hay garantía en ningún SO acerca de lo que sucede en su kernel, ni en el software libre ni en el software propietario, ni en un sistema operativo ni en una aplicación de negocio. El único que sabe que hace por dentro su sistema es el que lo programo y ,ni modo, es un acto de fe confiar que no hay nada dañino dentro del software.

Ojalá linux fuera una real competencia para el sofware propietario, desafortunadamente no lo es. No hay aplicaciones verticales que funcionen en linux, los usuarios no saben utilizar linux, no hay suficientes herramientas de desarrollo para linux (Mucho de lo que haces lo tienes que hacer "a pincel" compilando manualmente. Delphi, por ejemplo, dice que produce ejecutables para linux, sin embargo en su pagina no veo que exista una versión del IDE para linux ( quizá de este punto nuestro amigo Manuel pueda darnos más información).

Linux lite y embebido es mucho más dificil de programar que otros productos del tipo incluyendo los de Microsoft, aunque el kernel completo puede alojarse en un CD no es nada fácil lograrlo y puedes obtener prácticamente lo mismo usando flash, silverlight o hasta acrobat.

Desde mi personal punto de vista, la organización del software libre está echa un desma.... Si intentas buscar un grupo en google te encuentas cientos de ellos y muchas veces se contradicen.

Quieres dar soporte a un linux existente y no solo debes conocer la distro, debes poder interpretar las modificaciones que la misma distro permitió realizar a tu antecesor. ¿No será esto más propietario y quien sabe con que calidad y ética?.

Linux por ser Software Libre no significa que sea gratis, por ejemplo; el paquete premium de soporte para microsoft te cuesta alrededor de 2,500 USD al año y el producto de soporte similar que ofrece novell para suse te cuesta 3,800 USD al año. ¿donde está el ahorro?. Claro que el SO sí es más barato; Windows 2003 +-15,000 Pesos más el costo de licencias Cal, Open suse máximo 1000 pesos, pero ¿Quien te lo va a instalar y poner a punto?.

La solución (Quizá utópica):

Un solo grupo responsable de una distro estable, podría estar abierta pero con un solo grupo que marque parametros y revise calidad, libere versiones, mantenga documentación etc.
Grupos de desarrollo por aplicaciones especificas comerciales. Un grupo para aplicaciones para consultorios, un grupo para aplicaciones de contabilidad, un grupo para herramientas de desarrollo, etc, estando todas de acuerdo y trabajando en un mismo Framework
Grupo de empresas de consultoría que empujen la instalación e implementación de escenarios reales comerciales con linux.
¿Gratis? No lo creo, quienes vivimos de esto invertimos mucho en capacitación, software, congresos, testing, hardware como para no cobrar por lo que realizamos. Sin embargo si puede ser a un costo más accesible.
El tema da para mucha cuerda y ojalá lo que inicio hace 17 años pueda ser una solución real y comercial.



Saludos

Erik Martinez Roqueñi