Google ha querido eliminar una de las críticas que ponen los desarrolladores de aplicaciones de pago: que las aplicaciones Android son muy fáciles de copiar, sin pagar por ellas. De hecho, es posible comprar una aplicación, copiarla a una tarjeta de memoria, y devolver la aplicación, recuperando el dinero y conservando una copia. Pero yo no os he dicho nada.
Pero con el nuevo sistema anti-copia que ofrece Google, esto se irá acabando. Por desgracia, el sistema pensado por Google es una pésima idea, que consume ancho de banda, crea un punto único de fallo, es criticable desde el punto de vista de la privacidad… Vamos, que complace al desarrollador escupiendo al usuario.
Con el nuevo sistema, las aplicaciones que sean protegidas envían un mensaje a un servidor de licencias de Android Market para comprobar si el usuario tiene licencia. Si el Market da el visto bueno, la aplicación funciona. Eso sí, los desarrolladores deben modificar sus aplicaciones para enlazarlas a la librería que Google ha creado para realizar la comprobación de la licencia.
La transmisión de los datos se realiza de forma cifrada, algo es algo, mediante un sistema criptográfico de clave pública. Esto no quiere decir que nuestra privacidad esté protegida, porque Google sabrá cada cómo y cuándo usas tus aplicaciones protegidas, pero al menos garantiza que terceras partes no serán testigos.
La aplicación Android Market (y no la aplicación protegida directamente) es la que realiza la conexión a las bases de datos de licencias. No hace falta decir que si no tienes conexión, la aplicación Android Market no puede comprobar si tienes licencia para tus aplicaciones protegidas. Google deja en manos de los desarrolladores qué hacer en ese caso.
Desde el punto de vista del desarrollador es un mecanismo anti-copia bastante seguro, aunque como cualquier otro, podrá ser evitado más tarde o más temprano. Pero de cara al usuario es un tostón. No sólo te obliga a consumir de tu tarifa de datos (incluso en aplicaciones que no necesiten conectarse a internet de por si), sino que además crea un punto débil: si falla el servidor de licencias, nadie puede usar aplicaciones protegidas.
¿Se ve claro por qué digo que es una pésima idea? Google podría haber ideado un método más respetuoso con el usuario, pero este método a lo bruto (por aquello de lo poco sofisticado) es mucho más sencillo, y evita el engorro de pensar en algo que no necesite llamaditas a mamá para ver si puedes jugar.
Ah, esto no afecta para nada a las aplicaciones gratuitas, claro, que no requieren licencia alguna.
Actualizado: Como bien indicáis en los comentarios, la implementación es voluntaria. Hay tres formas de hacerlo: de forma “relajada”, de forma “estricta” y al gusto de desarrollador. El método estricto requiere conexión al servidor de licencias mientras se usa la aplicación, y la tercera vía es que el desarrollador construya su propia clase para comprobar la licencia. Aunque sea posible usar la aplicación si el servidor de licencias está caído, éste sigue siendo un punto único de fallo. Por poner un ejemplo, si por error empezara a responder de forma negativa a todas las consultas, no podrías ejecutar aplicaciones protegidas.
Sitio oficial | Android Developers blog
Más información | MobileCrunch
Ver 55 comentarios
55 comentarios
Wfox
El sistema es flexible lo cual puede ser visto como una ventaja o como una desventaja. Google en estos momentos recomienda usar una clase ya implementada llamada ServerManagedPolicy que funciona así:
1. La aplicación verifica la licencia. Una vez hecho esto, se dan varios días en los que la licencia se considera validada y por lo tanto la aplicación no vuelve a verificar la licencia durante este periodo de tiempo.
2. Una vez expire el tiempo de validación la aplicación intentará validar la licencia. En caso de que no lo haga la aplicación se ejecutará siempre y cuando no exceda un "tiempo de gracia" que será normalmente de cinco o más días, o en caso de que un contador de intentos no exceda un límite que será normalmente 10 o un número mayor.
La clase que solo permite hacer uso de la aplicación si hay conexión a la red se llama StrictPolicy y se recomienda analizar muy bien las cosas antes de usarla. Supongo que fue implementada para ue sea usada por esas aplicaciones que de todas formas requieren conexión para ofrecer utilidad alguna.
Por supuesto esas son las dos clases ya implementadas. Los desarrolladores podrán implementar sus propias clases permitiendo que se pueda implementar sistemas más flexibles o más estrictos (el sistema más estricto que se utilizará probablemente será el ofrecido por la clase StrictPolicy).
mendicm2
Que habría pasado si esto lo hubiera hecho apple?? Fácil, ya iríamos por el comentario 50... Google, eres Dios. Ni Jobs ni hostias.
Malqpor
Pues ami el artículo me parece bien, y el sistema me parece una mierda.
Lo he sufrido en muchos juegos de PC y es una tocada de pelotas. Lo minimamente lógico sería una comprobación cada X usos (siendo X un número aleatorio dentro de un rango preferentemente) pero este sistema es muy pobre.
Lo que no es menos cierto es que algo había que hacer, porque el nivel de piratería es bastante estratosférico.
Un saludo
Escapology
No tiene porque comprobar cada vez que ejecutas la aplicación si es legal o no, quizás sólo lo hace la primera vez que ejecutas la aplicación, con lo que si has tenido Internet para comprarla no creo que haya problemas para que en su primer inicio haga la comprobación de licencia, o sea, comprobar que esa aplicaciones de pago esta comprada del Android Market...
luskao
Supongo que el método no será tan caótico. Según instalas una aplicación lo que hace todo el mundo es abrirla lo primero. Si la acabas de instalar tienes conexión.
El método será como cualquier registro online. Se comprueba una vez y listo. Si por casualidad no tienes internet se hará como con los programas de PC. Tienes 24h para comprobar la copia.
Ya veremos pero, a priori no me parece mala idea. Hay aplicaciones muy chulas y en España no se paga ni una aplicación de 1€. Hay que ser cutre!
54344
...Y así Google supo a que jugaban sus niños y desarrolló sus propios juegos aderezados con publicidad geolocalizada en base a este conocimiento... y a todos les pareció bien porque eran juegos de código abierto y mantenidos por la comunidad...
...y quien dice juegos dice cualquier otra cosa...
pablolus
Debe ser uno de los post escritos con más pesimismo de todo Weblogs. A una situación normal y que sucede con mucho de los programas que tenemos instalados en nuestras PC, se le encontraron las 5 patas.
Se enarbola la bandera de "protejamos al usuario" cayendo casi en el "que viva la piratería"... Ahora, me pregunto yo, si Google (o quien sea) no defendiera a sus desarrolladores.... no creen que uno de los mayores perjudicados en esa cadena serían, precisamente, los usuarios finales? Porqué quisiera trabajar yo, como desarrollador, sabiendo que todo mi trabajo va a ser copiado por miles y miles de personas y yo, con mi conimiento y horas y horas de trabajo no voy a ver un peso?. Creo que mejor me dedico a otra cosa. Pero privo al usuario final de ese programita que en su vida diaria puede hacer la diferencia. Y todo por unos pocos dólares... o menos.
Dejemos los comentarios tan catastróficos como "si se cae el servidor nadie podrá usar sus programas", veo muy difícil que se compruebe la licencia cada vez que el programa va a ser utilizado, lo usual es sólo cuando es instalado (al menos en aplicaciones que no son críticas).
Zaraka
No entiendo las críticas a Google. Quiero decir, Google pone los medios para un tipo de comprobación de validez de licencia. Son los desarrolladores los que luego la ponen o no, no están obligados a usarlo. Lo repito, los desarrolladores no están obligados a usarlo. ¿O sí?. Por otro lado, ya hay aplicaciones que usan un sistema parecido implementado por los desarrolladores. Esas librerías responden a algo pedido por muchos desarrolladores (y mira, yo soy un simple usuario, pero qué quieres que te diga, sin desarrolladores dispuestos a meter horas para hacer buenas aplicaciones, Android sería una mierda).
Segundo, una cosa es que a mi tampoco me guste demasiado el sistema, pero chico, es muy fácil decir que hay otros métodos más respetuosos y sencillos y tal y tal. Lo difícil debe ser pensar uno que realmente funcione. Yo no he visto que plantees ninguno, pero si sabes de alguno seguro que los que desarrollan para Android estarán encantadísimos de oír la idea.
En fin, que si obligaran a hacer uso de esas librerías quizás yo también pondría el grito en el cielo. Pero, que yo sepa, de eso nada (por ahora al menos, que con Google no te puedes fiar un pelo).
alvaro
Me parece muy complicado el sistema, sería más fácil que copiasen el método que usa Palm:
Cada teléfono tiene un perfil de Palm asociado, y al descargar una aplicación (sea de pago o no) el teléfono lo registra en el perfil. Así pues si alguien descarga una aplicación pirata de otro lado, el teléfono ve que esa aplicación no está en el registro, por lo que no se puede acceder a ella.
Chris
¿Este sistema es para futuras apps o para cambiar las actuales? No m'entero de ná.
porzino
La gente que piratea las apps estar tranquilos, horas después de salir el nuevo market ya existirá una versión que permita dar el ok a todas las apps.
¿¿No os acordáis lo que se tardó en tener el google maps navigation para Europa cuando oficialmente no existía???
logoff
¿os habéis planteado que la gente ha de ganar dinero si quiere con sus desarrollos? ¿y os habéis preguntado si esto es opcional y por lo tanto la mayoría de las aplicaciones no lo usarán? es que criticar es muy fácil...
catalania
A nadie le recuerda esto a Ubisoft?
alexito4
No tengo ni idea de como va a funcioanr realmente al final, pero si como decís los comentaríos solo se comprueba la preimra vez, que impide que luego hagamos lo que dice el post de devolverla i quedarnsola?? xD
No se, de todas maneras el sistema no va a durar mucho.
Kui
Espero que sea lo que decis, porque si no, Android se me acaba de pegar un ostion en la lista del proximo SO movil que usare...
jask
Tengo una HTC Legend sin tarifa de datos, no me interesa, con el wifi en casa me sobra, eso quiere decir que cuando salga a la calle y quiera usar cualquier aplicación, por el mero hecho de que a estos personajes se les ocurrió esa "fabulosa" idea voy a tener que pagar por la tarifa sin darle el uso que se merece? Me parece un abuso sin igual... espero que rectifiquen si no.. va a haber muchos, muchísimos problemas.
DiegoDBM
Como matar un SO. Lo que olvidais comentar es que de ese modo de algún modo cada conexión a lo que sea estaría pasando un poquito más por Google que a fin de cuentas es lo que le interesa, que hagamos checkout de algún modo en sus servidores incluso cuando tengamos que ir al baño.
Jose Miguel Salcido Aguilar
Google luego saca el as de la manga...
rafa
viva criticar por criticar. los argumentos contra esta "pésima idea" se caen por su propo peso:
que consume ancho de banda. la confirmación de licencia no se hace cada vez que se ejecuta la aplicación, asi que ese "mama, ¿puedo jugar? viene sobrando" crea un punto único de fallo. la misma respuesta. la confirmacion de licencia es con cada ejecucion de la aplicacion, asi que sería tolerante a un fallo del servidor que proporcione las licencias.
es criticable desde el punto de vista de la privacidad. este es el que menos entiendo. "Google sabrá cada cómo y cuándo usas tus aplicaciones protegidas". tienes un android, es que te crees que google no lo sabe ya???
Héctor
"si falla el servidor de licencias, nadie puede usar aplicaciones protegidas."
Eso no lo tengo yo tan claro, es el mismo caso que el de estar sin conexion a internet (o por lo menos eso es lo esperable).
Yo la verdad es que no sé si objetivamente los puntos malos superan a los buenos, pero subjetivamente creo que sí.
rafa
otra cosa, es que android esta orientado y vive para "la nube". muchos servicios no funcionan sin datos, y usarlo como una pda no tiene sentido. a mi me parece logico el movimiento, el que no tenga acceso a datos, que no use un telefono pensado para acceder a datos...
58835
Qué fácil viene siendo ultimamente "exprimir" a los usuarios finales de productos digitales. Jamás entenderé como hemos llegado a estas posiciones. Toda la vida un producto se ha fabricado y se ha vendido. Y PUNTO. ¿Por qué tiene alguien, sea creador, vendedor, intermediario.....etc. conocer el uso que yo como comprador final hago de dicho producto? Estamos haciendo realidad "1984". Pensemos seriamente el peligro que eso supone para todos. El punto anterior en cuanto a la privacidad.
En cuanto a lo perjudicados que resultan los desarrolladores Y SOBRE TODO LOS TODOPODEROSOS INTERMEDIARIOS, pensemos las cosas friamente: 1-Un desarrollador crea un producto. 2-Ese desarrollador vende su producto. Analizando estas sencillas premisas, yo me pregunto: ¿Por qué un BUEN desarrollador que hace una BUENA aplicación y la vende una vez, quiere seguir vendiendola miles de veces?, ¿no tendrá esto que ver con la excesiva mediocridad que existe en el gremio? Quizá sea cuestión de pagarles con su misma moneda, y cada vez que se sienten a comer en la mesa de madera que fabricó el ebanista "X" estén obligados a dejar claro en ese mismo momento a dicho fabricante mediante videoconferencia que pagaron la mesa y que ésta es la original y no una copia que ellos han hecho con madera más barata.(Si la videoconferencia no funciona, te jodes y te quedas sin comer). Por supuesto si vas a comer a casa de un amigo y te sientas a su mesa, deberás pagar a quien la fabricó, ya que tu amigo no puede prestarte la mesa para que comas en ella. Idem si eres tú quien invitas a un amigo a comer. Y habrá que hacer lo mismo con las sillas, cucharas, tenedores, mirar un cuadro que tu amigo tiene en su pared, hojear un libro de su estantería.....(podríamos seguir hasta el infinito). Pero es muy cómodo escudarse en los "derechos intelectuales y de autor" para vivir un año del trabajo de uno pocos días. Eso sí, solo los creadores de contenidos digitales y los que venden discos en lugar de dar conciertos; los que pican zanjas no, esos que hagan una cada día y si por ella pasan 5 ó 500.000 dá lo mismo, que si quiere cobrar más, al día siguiente ya puede ir a picar otra. Seamos serios señores, y si un desarrollador hace una buena aplicación en la que ha invertido 100 horas, que la tase en el precio que crea conveniente y será el consumidor en función de la relación calidad-precio quien decida si la compra o no y a cuantos de sus amigos permite utilizarla después. No quisiera ser derrotista, ya que siempre habrá forma de saltarse toda puerta que se ponga al campo, pero flaco es el favor que se hace en este caso al joven Android, y si se queda cojo (por que esto es un claro tiro en una pierna), ya me dirán los desarrolladores a quien venderán sus productos. Cada cual que extraiga sus propias conclusiones en cuanto a quien sale más perjudicado con este tipo de medidas, ¿desarrollador o consumidor? yo tengo muy claro que el mayor perjudicado es el BUEN DESARROLLADOR.
enzo_canavaro
Hola Alkar. Bueno primero un saludo y agradecete la información. Te quisiera entonces peguntar, ¿ninguna pero ninguna Aplicación para Android sirve sin conexión a Internet? Y entonces por ejemplo, la aplicación para modificar archivos Word, Excel y Power Point, no sirven sin conexión a Interne. O alguna aplicación como “El Dictado de Voz”, no sirve sin Conexión a Internet? Bueno, Te agradecería enormemente tu orientación. Se que como todos tienes cosas q hacer y apreciaría mucho q pudieras contestar las preguntas Gracias De ante mano.
Jose
Lo que no me ha quedado claro es si cambio de móvil, ¿he de adquirir nuevas licencias de las aplicaciones que ya he comprado?
nnn333
Valgame dios, ya nada mas falta que puedan remover aplicaciones remotamente sin que el usuario se entere, Oh Wait!! Fandroids axcusando a Google en 3, 2, 1....