Logo es.androidermagazine.com
Logo es.androidermagazine.com

¿Qué es el tenedor un 'tenedor'?

Tabla de contenido:

Anonim

En los últimos días, probablemente haya escuchado la palabra "tenedor" más veces de las que puede contar. Facebook bifurcó esto (aunque no lo hizo), Amazon bifurca eso, el equipo de Chrome bifurcó toda la web, y así sucesivamente. Mientras todos hablan de quién está bifurcando a quién, nadie se molesta en explicar exactamente qué es bifurcación y por qué tanta gente tiene un problema.

La bifurcación, o la destrucción, tuvo una mala reputación hace unos 20 años, ya que tendía a dividir a los desarrolladores en facciones separadas que no compartían el código entre sí. En los días de cosas como la división Gnu-Emacs / XEmacs, esto era importante porque no había tanta gente capaz de trabajar en estos grandes proyectos de código abierto, y tener dos sucursales o tenedores significaba que tomaba más tiempo agregar características y problemas de dirección para ambas partes. En algunos casos, esto sigue sucediendo, estoy seguro, pero en su mayor parte hay muchos desarrolladores que pueden llenar el vacío dejado por aquellos que tienen una visión separada y descifrarán el código para seguirlo. Pero algunas personas nunca lo olvidan, y el estigma asociado a las bifurcaciones se transmite. Habiendo dicho todo esto, no podemos pretender que los tenedores malos no sucedan. Solo necesitamos mirar más allá del acto mismo antes de tomar nuestras decisiones.

Sé que algunos de ustedes saben lo que significa todo esto, y solo están tratando de ignorar todo el ruido, pero para muchos es confuso. Tratemos de arreglar eso.

¿Qué es una bifurcación de software y cómo afecta a Android?

Piense en Android como un montón de código. Hay dos partes: las partes de código abierto, que es lo que es AOSP, y las partes patentadas que Google guarda para sí mismo. Si alguien quiere usar Google Android y hacerle cambios, descargará el código para usarlo como base y formará su propio proyecto con él. Samsung hace eso, HTC hace eso, y su desarrollador de ROM favorito podría hacerlo. Cada vez que alguien toma el código existente y comienza un proyecto independiente (que es una distinción importante) basado en él, crea una bifurcación. Muchos desarrolladores verifican el código, editan partes de él y luego envían sus cambios de regreso en su totalidad, lo que no es una bifurcación.

Amazon levantó algunas cejas cuando bifurcó a Android para construir el sistema operativo para la línea Kindle Fire. Pero en el lado del código abierto, no fue diferente de lo que hizo Motorola con el Cliq, o de HTC con el Hero, o de lo que Samsung hace ahora para los dispositivos de la serie Galaxy. Así es como funcionan muchos grandes proyectos de código abierto. Todos los proveedores (excepto tal vez Amazon) trabajan con los mismos conceptos básicos, probablemente informando errores y enviando soluciones de nuevo a medida que avanzan, para crear su propia versión del producto final.

Facebook no bifurcó Android. Utilizó el sistema de intención de Android (una forma en que las aplicaciones pueden trabajar entre sí y compartir en Android) y creó una gran aplicación que además incluye un hogar sustituto. Dentro de su caja de arena, pueden hacer lo que quieran o necesiten, y siempre que usen las intenciones de Android, pueden comunicarse con el resto del sistema. Si desea obtener información técnica, HTC puede haber forjado que Android funcione mejor con Facebook Home en HTC First, ya que menciona algunos cambios que se hicieron para una mejor compatibilidad. Sabremos más sobre lo que hicieron cuando salga el teléfono.

En cualquier caso, bifurcar código no siempre es algo malo y no merece toda la negatividad que escuchas cuando alguien lo menciona. El analista de la industria Stephen O'Grady lo resume muy bien, creo:

Sin embargo, vale la pena mencionar que, desde la perspectiva del cliente, los tenedores o las variantes no son universalmente malos. Si bien las diversas versiones de Android pueden representar decisiones de diseño desafortunadas por parte de los proveedores responsables de ellas, las aplicaciones son en la gran mayoría de los casos compatibles de dispositivo a dispositivo, suponiendo equivalencia de versión.

Tener aplicaciones compatibles de dispositivo a dispositivo es la razón por la cual se diseñó Android. El código de bifurcación no hace que eso no suceda. Pero otras cosas sí.

El otro lado de bifurcar Android

En China, ¿puede comprar un teléfono de un proveedor que ejecuta Android, pero no tiene servicios de Google? Al igual que el Kindle Fire, está construido a partir del código de Android de Google (a veces no modificado), pero no fue enviado y probado para ser compatible con Google y tener cosas como Gmail o Google Play incluidas. Esas aplicaciones, y los diversos archivos de sistema que necesitan para ejecutarse, no son de código abierto, y no puede simplemente incluirlos sin el permiso de Google.

Aparte de una experiencia de usuario "diferente" (no voy a decir que es "peor", solo diferente) sin estas aplicaciones, pueden verse y sentirse como un teléfono Android que compras en Verizon o AT&T. También pueden verse y sentirse muy diferentes, como lo ha hecho Amazon. Pero nada de esto se debe a que bifurcaron el código de Android de Google: fue una decisión consciente de no hacer un dispositivo "certificado" de Google. Google presenta Android como una plataforma de aplicaciones y un conjunto de marcos de aplicaciones. No incluir las aplicaciones de servicio de Google no lo hace menos una plataforma de aplicaciones. Por supuesto, imaginamos que Google preferiría que todos los dispositivos Android y Android utilicen los servicios de Google, pero no existe una regla estricta que diga que un proveedor tiene que hacerlo.

Hacer dispositivos sin las aplicaciones de Google no tiene nada que ver con bifurcar Android. Puede hacer que los dispositivos sean menos deseables, o algún día el último teléfono Android podría construirse sin las aplicaciones de Google, pero puede suceder sin bifurcar ningún código. Todos somos culpables de combinar las dos cosas juntas, pero no debemos hacerlo.

Bifurcar es solo una cosa

No es bueno que los OEM completen Android y trabajen en su propio proyecto con el código. No está mal que los OEM completen Android y trabajen en su propio proyecto con el código. Es solo una cosa que todos hacen.

Dejando a un lado el club de fans de Nexus, no puedes decirme que Samsung o HTC han arruinado Android al bifurcar el código y desarrollarlo. Agregaron características mientras mantienen todo compatible para que las aplicaciones creadas para "Android" de acuerdo con las pautas del desarrollador funcionen bien. Y constantemente entregan dispositivos que la gente quiere comprar. Creo que esto es exactamente lo que Google tenía en mente para Android. Sabían que eventualmente alguien iría un poco más allá y crearía algo que no es totalmente compatible con "Android", pero está bien. Los usuarios de esos dispositivos todavía están en Internet, y las aplicaciones web móviles de Google son bastante decentes.

Con suerte, ahora sabes un poco más sobre lo que las personas quieren decir cuando hablan de bifurcar Android.