Apple y Adobe: el burro hablando de orejas

La pelea entre Adobe y Apple se está tornando cada día más bizarra: en el último round se cruzaron acusaciones de poca apertura, en circunstancias en que ninguno de los dos tiene un historial muy limpio en ese ámbito.

De parte de Adobe:

We are at the beginning of a significant change in the industry, and I believe that ultimately open platforms will win out over the type of closed, locked down platform that Apple is trying to create. I am excited about Flash Player 10.1 and Adobe AIR 2.0 and all of the opportunities that they will make available to Flash developers across multiple platforms (desktop, Android, Palm, Windows Phone 7, RIM, etc…). — On Adobe, Flash CS5 and iPhone Applications at Mike Chambers

Pero…

  • Flash nunca ha sido un estándar abierto… incluso los archivos que se usan en producción son compilados (los SWF), por lo que ni siquiera es un formato editable (necesitas acceso a la fuente FLA). Los movimientos más recientes hacia un desarrollo abierto son tentativos e insuficientes: el Open Screen Project establece condiciones para extender Flash, pero no para abrirlo: se elimina el pago de licencias, y se abren las especificaciones para dar la posibilidad de desarrollar otras implementaciones de reproductores Flash, pero el reproductor desarrollado por Adobe seguirá siendo de fuente cerrada — en otras palabras, se abre el formato, no el reproductor, y hasta la fecha (y hasta donde yo conozco) no hay ninguna implementación completa de estas especificaciones.
  • El tránsito de Adobe hacia estándares abiertos ha sido lento y movido principalmente por las amenazas de sus competidores: sólo comenzó el camino para transformar a PDF en un estándar abierto en 2007, luego que Microsoft tratara de avanzar en su mercado con XPS; mientras que el Open Screen Project sólo tomó forma luego de la fuerte promoción de Silverlight por parte de Microsoft, y del peligro de perder una importante cuota de mercado ante la implementación de HTML 5 y sus tecnologías asociadas.
  • PSD, el formato nativo de Photoshop, no es un estándar abierto. AI, el formato nativo de Illustrator, no es un estándar abierto. Los PNG producidos por Fireworks sólo sirven como imágenes planas con otros programas. Hasta donde yo sepa, no existen programas que ofrezcan compatibilidad completa con ninguno estos formatos.
  • El compromiso de Adobe con el código abierto ha sido en los mejores casos parcial: está ocurriendo con Flash, al licenciar parte de sus tecnologías asociadas, ocurrió con sus contribuciones al motor de Javascript de Mozilla.

"Someone has it backwards–it is HTML5, CSS, JavaScript, and H.264 (all supported by the iPhone and iPad) that are open and standard, while Adobe’s Flash is closed and proprietary," said spokeswoman Trudy Muller in a statement. — Adobe scraps work to bring Flash apps to iPhone | Deep Tech – CNET News

Pero ¿qué moral tiene Apple para hablar de apertura?

  • Todas las aplicaciones para iPhone/iPod Touch/iPad deben pasar por el control central de Apple, a través de un proceso muy poco claro del que más de alguno se ha quejado, como Google por Google Voice (en un lío que llegó hasta la Comisión Federal de Comunicaciones en EEUU), o más recientemente Grooveshark que ha visto a su aplicación rechazada sistemáticamente. (¿No se alcanza a ver el patrón? Google Voice atentaba contra el modelo de negocios de AT&T; la aplicación de Grooveshark contra el de la iTunes Music Store)
  • Como bien señala Jeff Jarvis, el iPad es un dispositivo que básicamente convierte al usuario en parte de una audiencia: el modelo de las aplicaciones por sobre la web, limita la posibilidad de un usuario para comentar, re-publicar, re-mezclar e incluso enlazar.
  • Ya que estamos en eso… ¿de qué estándares abiertos estamos hablando sobre el iPhone/iPod Touch/iPad? No tienen conexión USB, y el único diálogo que pueden establecer con mi PC es a través de iTunes: a menos que aplique un hack o jailbreak, no puedo utilizar otro software para traspasar música, videos ni aplicaciones… y por supuesto, no hay versión de iTunes para Linux
  • Volviendo a las tecnologías de la web, vale la pena recordar algo de la historia de WebKit: inicialmente Apple basó Safari en KHTML (desarrollado por KDE para Konqueror), que usa una licencia GPL por lo cual Apple debía publicar el código fuente de sus modificaciones al distribuir su software. A medida que avanzó el desarrollo de Safari, las constribuciones de Apple a KHTML comenzaron a ser progresivamente más problemáticas (en parte porque el desarrollo en Apple comenzó un año antes de hacer públicos sus primeros cambios), llegando a un punto en que la mejor opción para Apple no fue seguir contribuyendo al desarrollo de KHTML sino crear un fork. Hoy en día, Google ha superado en número de contribuciones al equipo de desarrollo de Apple (lo que ciertamente no es una buena medida de la cantidad absoluta de trabajo puesta en un proyecto, pero de todos modos constituye un dato a considerar). Incluso ahora, que el desarrollo de WebKit es abierto, Apple usa APIs no documentadas en su navegador que le otorgan una ventaja considerable sobre otras alternativas.
  • Para los que piensan que con el tag <video /> en HTML 5 se acaba lo propietario: para que el video funcione, el navegador debe incluir el códec correspondiente. Actualmente la pelea está entre dos frentes: Ogg Theora, un formato libre y libre de patentes (por lo que es apoyado por Firefox y Opera) y H.264, un estándar abierto pero cuya implementación está sueta al pago de patentes. Apple y Google soportan H.264, y para ello deben pagar miles (¿millones?) de dólares para su utilización… ¿por qué no invertir esa cantidad (la que sea) en el desarrollo de un Ogg Theora?
  • WebKit no ha sido la única vez que Apple comienza un desarrollo desde un proyecto abierto: el mismísimo OSX está basado una variante de UNIX (FreeBSD) y otros proyectos de software libre. Sin embargo, las APIs más elevadas para el desarrollo de software sobre OSX son propietarias de Apple, por lo que no puede ejecutar aplicaciones para Mac. Apple estableció una comunidad de desarrollo esperando recolectar contribuciones para la base de su sistema operativo a través del proyecto OpenDarwin, pero finalmente cerró el proyecto en julio del 2007 .