16 de noviembre de 2012

Google añade cadenas a Android

Que Android tiene algunos problemas de fragmentación no es a estas alturas una noticia. Es más, ni tan siquiera es sorprendente, o evitable. Si permites que cualquier hijo de vecino ponga Android a cualquier cacharro chino, como mínimo tienes que empezar por aceptar la existencia de diferencias inevitables de rendimiento y capacidades entre unos cacharros y otros, que pueden llegar a afectar a los desarrolladores. La fragmentación de Android es algo con lo que hay que reconciliarse y saber convivir.

Aun así, es lógico que Google intente corregir o al menos desincentivar la fragmentación. Puestos a elegir entre fragmentación y no fragmentación de una plataforma, todos preferimos la no fragmentación. Que sea inevitable no quiere decir que haya que aplaudirla y darle facilidades.

Pero hay muchos tipos de fragmentación, y formas y formas de luchar contra ella. Y la que acaba de escoger Google no huele nada bien. Concretamente, Google ha decidido actualizar las condiciones del SDK de Android para el desarrollo de aplicaciones, añadiendo la siguiente línea:

3.4 You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.

Muy bienintencionado, pero esa prohibición entra en conflicto filosófico con las libertades esenciales del software libre. Un ciudadano debería tener libertad plena incluso para crear un SDK alternativo, que fragmente a Android o no, es secundario y hasta irrelevante. Y estas nuevas condiciones no sólo está prohibiendo eso, sino incluso el mero hecho de "participating in the creation of, or promoting".

Naturalmente, nadie está obligado a escribir programas para Android, pero eso no es obstáculo para preocuparse por que Android esté evolucionando hacia una plataforma que no se puede llamar "libre" con propiedad.

Desde un punto de vista histórico, preocupa que Android esté empezando a reproducir los comportamientos de su padre. Android es una plataforma Java y, recuerden que Java es una plataforma que su creador Sun Microsystems promocionaba como abierta -existe un comité donde los grandes participantes acordaban los cambios en común, etc-, pero en la práctica Sun exhibía con frecuencia cierta paranoia ante la posibilidad de un fork, hablando de lo buena que es la uniformidad y de la fatalidad cósmica que sería que alguien la rompiese. Cuando Android vió la luz, todo fueron palabras bonitas, pero no fueron capaces de conseguir que Android comprara licencias y se uniera al mundo Java oficial.

Ante la insistencia de Google de ir por su cuenta, se pusieron serios. Google reaccionó en plan: hey, tan sólo estamos jugando con partes de Java y tratando de crear really cool gadgets, ¿por qué odias la innovación? De ahí surgió, posteriormente a la compra de Sun, el caso de Oracle vs Google por infringir patentes en Android - un intento desesperado de mantener el control de Java a golpe de sentencia, y que nos deparó ese entrañable momento en el que Oracle intentó defender que se pudiera aplicar copyright a una API.

Ironías de la vida, ahora es Google quien empieza a ver con malos ojos que alguien intente romper la uniformidad que tanto despreciaban. ¿Hasta que punto estarán dispuestos a llegar para defender la de Android? ¿Que valora Google más, o valorará dentro de unos años, los principios y la libertad del software o las enormes cantidades de dinero e inversión técnica depositadas en Android?

7 comentarios:

  1. Hasta que leí la línea que agregaron, pensé que hablabas de fragmentación en disco =)

    ResponderEliminar
    Respuestas
    1. A mi me ha pasado igual jejejeje. Supongo que por deformación profesional, tanto leer artículos de Jesús sobre sistemas de archivos es lo que tiene.

      Eliminar
  2. Sin querer resultar hiriente... un poco de paranoia de fanboy veo por aquí.

    ResponderEliminar
  3. Una cuestión...¿Qué otras alternativas hay para evitar la fragmentación? Como dicen los consultores y esa gente...¿Algún caso de éxito?

    He pensado en Python o PHP o Perl pero no se si han tenido a lo largo de su vida de proyecto "amenazas de fragmentación".

    ResponderEliminar
  4. Hola diego, me gustaria contactar contigo en privado, hay alguna forma? correo, G+, Twitter?

    ResponderEliminar
    Respuestas
    1. Si le das al enlace de mi nombre que saldrá en este post, debería llevarte a mi G+...

      Eliminar