El caso es que yo veo estos 3 comentarios:
Gandulf escribió:Yo estoy en contra del opensource, de linux y de esa filosofía del software. No estoy en contra del freeware por contra. Respeto a todos (que no siempre ocurre a la inversa), pero esa tendencia globalizadora y pancartista no comulga conmigo . Quizá es porque vivo de vender y hacer software desde siempre.
En resumen, que las patentes de software las veo bien.
No se puede patentar cualquier cosa. Uno no puede hacer un volcado de pantalla y patentarlo, lógicamente. Una patente es algo más complejo que implica a una tecnología en particular.
Y deduzco una cosa clarísima (y no te ofendas): no sabes (al menos exactamente) ni lo que es el opensource ni lo que son las patentes de software. O, al menos, las estás confundiendo con otras cosas, y ahora te explico con qué.
Si me permites, voy a extenderme, me gustaría que le dieras la oportunidad a este mensaje (ya que me voy a esforzar en dejarlo todo claro) leyéndolo completo antes de responder.
Vamos a empezar por el segundo tema, el de las Patentes de Software.
Estás confudiendo, claramente, PATENTES DE SOFTWARE con COPYRIGHT (Protección de la propiedad Intelectual y/o Derechos de Autor).
Las patentes de software no patentan "programas". Tú no vas a la oficina de patentes con tu último juego y lo "proteges". Lo que haces es ir a la Oficina de la Propiedad Intelectual y proteger el programa (y datos asociados) con un Copyright.
Las patentes no son para los programadores, son para las multinacionales y los abogados. El programador, con las patentes, lo único que puede hacer es REZAR para que su programa (enterito hecho por él) no viole ninguna y no le demanden por ello.
Las patentes de software protegen IDEAS, CONCEPTOS, DEFINICIONES y ALGORITMOS relacionadas con el software, no tienen nada que ver con los programas o el código. De hecho, normalmente no suelen llevar ni una sóla línea de código, sólo definiciones abstractas. Las patentes de software las definen y pagan las multinacionales para controlar a la competencia. Las patentes no protegen TU programa, sólo a las multinacionales, para que los programadores no apliquen ideas patentadas (PAGADAS, que no pensadas, ni inventadas, ni diseñadas) por ellos.
Voy a extenderme un poco con parte de un artículo que publiqué en su momento en el periódico al respecto. Te remarco en negrita ciertos puntos para ver:
Una patente es un registro de un producto que permite a su propietario evitar que otras personas fabriquen, copien o vendan el objeto patentado. Hasta aquí no deberíamos tener ningún problema en su aceptación, pues parece lógico que una persona retenga derechos básicos sobre el producto por él creado, asegurándose que su inversión en I+D está protegida contra plagio. El problema radica en que en EEUU se decidió que el software también podía ser patentado.
De nuevo podríamos pensar que parece lógico patentar un programa para protegerlo contra su copia, pero los americanos llegaron más allá, haciendo que sea posible patentar algoritmos o porciones de código. Esto significa, como seguramente habrá temido, que si una gran compañía utiliza su dinero para patentar un algoritmo determinado, nosotros NO podremos utilizar dicho algoritmo en nuestros programas sin el pago de una cantidad (unos ciertos royalties, normalmente un porcentaje de las ventas de nuestro programa) a la empresa/persona que patentó el algoritmo.
A título de ejemplo, si una compañía con la fuerza y dinero suficiente (como Microsoft, IBM, etc.) patenta (por ejemplo) un determinado algoritmo de ordenación, nadie puede usar dicho algoritmo sin pagar por su uso la cantidad de royalties que la compañía especifique. Algunos defienden esto como que es una gran forma de obligar a las empresas a que inviertan más en Investigación y Desarrollo, ya que si desean hacer una determinada tarea no podrán utilizar determinados algoritmos para solucionarla, sino que deben invertir dinero en investigar nuevas técnicas o bien pagar por el uso del algoritmo en su solución software. Pero... ¿qué ocurre con los programadores de a pie? Los programadores de por libre, los freelance, los autores de shareware, de freeware, y, en definitiva, los que no dispongan del dinero suficiente para pagar por cada algoritmo patentado que usen, se verán obligados a invertir para poder programar o sencillamente a desaparecer.
Para poder ver lo serio que es esto, veamos algunos ejemplos de patentes de software que posee la compañía IBM (extraídos del libro SOFTWARE PATENTS: AN INDUSTRY AT RISK:
La patente num 4,965,765 cubre utilizar diferentes colores para distinguir niveles de profundidad en expresiones.
La patente num 4,941,125 cubre utilizar una cámara digital en conjunción con un programa de OCR para archivar e indexar documentos en un CDROM (es decir, habría que pagar a IBM entre un 1 y un 5% por hacer software que permitiera escanear documentos y guardarlos en un CDROM).
Si programamos una hoja de cálculo, debemos tener en cuenta, entre otras, los siguientes 2 ejemplos de patentes: la num 5,121,499 especifica que debemos pagar a IBM si cada celdilla tiene un campo "Siguiente" que indique hacia donde debe avanzar el cursor cuando escribamos datos dentro de dicha celda. Por otra parte, IBM también tiene la patente que cubre que cada celda pueda contener más celdas opcionales [num 5,247,611].
Incluso la capacidad de marcar texto con el ratón o teclado (comandos para activar o desactivar el marcado) en un procesador de textos está patentado [num 4,924,411], así como la capacidad de introducir fórmulas matemáticas de forma separada al texto para que posteriormente se inserte en este (capacidad también básica de cualquier procesador de textos).
El panorama se hace estremecedor sobre todo si tenemos en cuenta que se piden cerca de 30.000 nuevas patentes cada año y que ciertas compañías (como IBM) han elevado la cifra total hasta cerca de 6 millones de patentes impidiéndonos usar determinados algoritmos o técnicas de programación. Nos encontramos ante un cepo que podría permitir programar sólo a aquellos con unos elevados recursos económicos. Por supuesto, no todas las patentes atentan contra los programadores, pero algunas de ellas pueden resultar realmente limitadoras. Por suerte, la Ley de Patentes de Estados Unidos no permite el patentado de aquellos algoritmos obvios (no se puede patentar un bucle for y esperar que todo programador que lo use te pague por él), pero cuando se ha creado un algoritmo nuevo que no es obvio, es perfectamente susceptible de ser patentado, y esto quiere decir que todas las nuevas técnicas que aparezcan en el futuro pueden ser patentadas. Y aunque no se permita el patentado de algoritmos obvios, les diré que el encargado de aceptar o denegar una patentes es un funcionario que no tiene por que entender si algo es obvio o no. Atentos a esto: en Australia está patentada el uso de la operación OR EXCLUSIVO (XOR) en programas.
Resumiendo: si se aprueban las patentes de software en Europa, lo vais (vamos) a pasar muy muy muy muy mal, porque entre IBM y Microsoft suman casi 200.000 patentes de cosas realmente genéricas y absurdas como el definir datos numéricos en celdillas, el poder marcar diferentes partes de un texto con diferentes colores, etc.
Y como programador, precisamente eres el más perjudicado por estas patentes. Por que, efectivamente, se puede patentar todo eso que has dicho que no se puede patentar, con definiciones totalmente genéricas. En Australia, TODAVIA está patentada la rueda (sí, no es broma) como dispositivo circular de blahblahblah.
Más ejemplos de patentes absurdas:
1. 1-Click ordering de Amazon. Patente numero 5.960.411
2. Client-Server Computing. Patente numero 5.974.444
3. Preemptive multithreading software (5.694.603, 5.694.604)
El poder comprar algo haciendo click en un sitio, está patentado.
Las conexiones cliente-servidor, están patentadas.
Hacer programas que usen multitarea, está patentado.
Estas 2 últimas patentes están en proceso de petición de invalidación en la oficina de patentes de USA, pero como esas, hay millones.
Por eso creo que estás confundiendo las patentes de software con los Derechos de Autor / Propiedad Intelectual / CopyRight. Las patentes son algo muy muy muy dañino para los programadores y muy muy muy beneficioso para las multinacionales y sus abogados. Ser programador, vivir de serlo, y estar a favor de las patentes no tiene ningún sentido. Las empresas las usan para luchar entre ellas: puedes ver este ejemplo:
http://www.iteisa.com/wordpress/?p=37
En esa URL puedes ver que Microsoft ha tenido que pagar 520 MILLONES DE DOLARES para poder "distinguir entre varios tipos de contenidos vinculados desde una página web e iniciar automáticamente el plug-in encargado de interpretar cada uno de ellos". O sea, que si programas un navegador, y cuando recibes un PDF abres acrobat o cuando recibas un .SWF abres flash, tienes que pagar a EOLAS para poder hacer eso. ¿Te sigue pareciendo eso, como programador, aceptable?
Para rematarlo, supon que quieres programar una tienda WEB para tu empresa. En USA (y en Europa como las aprueben el año que viene), fíjate en todo lo que te tocará pagar (abajo tienes la patente YA APROBADA EN EUROPA, con el prefijo EP, que se aplicará, recuerda, patentes ya aprobadas en europa):
http://webshop.ffii.org/
1. Webshop: Selling things over a network using a server, client and payment processor, or using a client and a server - EP803105 and EP738446
2. Order by cell phone: Selling over a mobile phone network - EP1090494
3. Shopping cart: Electronic shopping cart - EP807891 and EP784279
4. [CDs] [Films] [Books]: Tabbed palettes - EP689133
5. Picture link: Preview window - EP537100
6. View/download film: Video data distribution through the web - EP933892
7. View film: Video streaming ("segmented video on-demand") - EP633694
8. MP3-format: Audio compression format, covered by numerous patents, e.g. EP287578
9. Credit card: Pay using credit card via the Internet - EP820620 and EP779587
10. Gift: Order a gift for someone via the Internet by providing his/her email address - EP927945 (note: the claims on the target page are less broad than the eventually granted claims in the B1 form of the patent)
11. Request loan: Automated loan application - EP715740
12. VISA: Digital signature in graphic to show that the shop is approved for receiving VISA payments - EP798657
13. Send offers: Send offers in response to request - EP986016
14. Send to vendor: Reroute incoming orders to a vendor - EP217308
15. Support database: Network support system using databases - EP673135
16. Preview chapters: Use of TV as metaphor for selecting different video fragments - EP670652
17. Ladybug image: JPEG format - EP266049
18. Related results: Show related results if customer likes the current ones - EP628919
19. Rebate code: Allow rebate codes to be entered by customers - EP370847
20. Burn at shop: Material reproduction of information stored at remote location - EP195098
Fíjate en las patentes 1, 2, 5, 7, 13, ... ¿te sigue pareciendo que no se puede patentar CUALQUIER COSA?
En resumen: las patentes de software son extremadamente nocivas para nosotros los programados, tanto de software libre como de software propietario:
- No puedes asegurar que no incumples ninguna patente, puesto que eso sólo lo puedes saber si pides una auditoría del código por parte de la oficina de patentes, y cuesta pasta (mucha).
- Si incumples alguna, sólo tienes la opción de pagar (mucho), o de descartar tu programa, a menos que puedas modificarlo para que no haga uso de lo que infringes (y te aseguro que pueden ser cosas muy absurdas).
- Si no haces ninguna auditoria, distribuyes tu programa, y a posteriori te encuentran que infringes alguna patente absurda, entonces ya no hablamos de pagar royalties, sino de pagar multas por "supuestos daños", + retirada de tu producto + pago de costes judiciales.
- Europa se ha convertido en la cuna del software libre gracias a que no están (todavía, al final el dinero de las multinacionales hará efecto y las aprobarán) las patentes de software. OpenOffice no podría existir en USA, por ejemplo, por eso se desarrolla aquí. Tampoco Linux, no porque haya tomado codigo de nadie, sino porque viola miles de patentes absurdas del tipo "Abrir un fichero haciendo click en una ventana", o "Abrir un plugin según el tipo de fichero que recibe el navegador".
Es que no concibo cómo un programador puede estar a favor de las patentes de software, cuando la posibilidad de que tú puedas patentar algo que no esté patentado ya es ridícula con respecto a la posibilidad de verte atado de manos y pies y no poder hacer nada sin pedir permisos o pagar royalties.
Y ahora, en otro mensaje, pasaré al tema del OpenSource.