
Recientemente, la publicación noruega Digi.no publicó una historia sobre cómo los desarrolladores del navegador Vivaldi trabajan con código Chromium. En una entrevista con tres especialistas líderes de la compañía, por primera vez se habló públicamente sobre este importante componente del proceso de desarrollo del navegador Vivaldi.
Tres empleados de la compañía participaron en una entrevista con la publicación noruega: Ingve Pettersen, Jarle Antsen y Andre Schulz. Hablaron sobre cómo se está trabajando para integrar el código del navegador Vivaldi y el núcleo Chromium que se usa en el navegador, sobre las ventajas y desventajas de este enfoque, así como qué problemas surgen y cómo lidiar con ellos.
A continuación hay una traducción al ruso de las preguntas y respuestas más interesantes.
(En el sentido de las agujas del reloj de izquierda a derecha) Harald Brombach de Digi.no, Jarle Antonsen, Ingve Pettersen, Andre Schulz.
¿Es el problema del gran volumen y la poca frecuencia de actualización del código del núcleo Chromium?
Yngwe Pettersen (ingeniero principal) : se lanza una nueva versión de Chromium cada seis semanas, y necesitamos integrar nuestro propio código Vivaldi con el código para este núcleo. Estoy comprometido con esta tarea, siendo responsable de la base de código del navegador. Y sí, este es un trabajo bastante complicado y lento que lleva varias semanas.
¿Hay algún progreso en este trabajo?
Jarle Antensen (gerente de proyecto) : Anteriormente, el proceso de integración tomó de tres a cuatro semanas, pero los desarrolladores de Vivaldi lograron integrar las dos últimas versiones de Chromium (68 y 69) en menos de dos semanas. El principal problema eran las regresiones, cuando nuestro código dejó de funcionar con el código Chromium, y es su corrección la que lleva más tiempo.
¿Cómo va el trabajo con la comunidad de Chromium?
Andre Schulz (desarrollador de UI) : Para nuestra alegría, es muy productivo. Constantemente envío preguntas a los desarrolladores de varios módulos y obtengo respuestas bastante detalladas, a veces incluso con sugerencias sobre cómo hacer que el módulo funcione aún mejor.
¿Contribuyes al desarrollo del cromo?
Yngwe Pettersen : En los últimos seis meses, hemos enviado una docena de parches para el código Chromium. Estas son principalmente sugerencias para limpiar el código, pero también ha habido correcciones de errores. En este momento estamos preparando algunos parches más para enviar a los desarrolladores de Chromium.
Jarle Antonsen, Ingve Pettersen, Andre Schulz.¿Qué tan complicado y largo es el proceso de integración del código?
Ingve Pettersen : después del lanzamiento de la próxima actualización de Chromium, creo una nueva rama separada y empiezo a trabajar con ella. Extraigo el código de Chromium y sincronizo todos los submódulos que usamos, mientras realizo cambios menores. Esta parte del proceso está bastante bien automatizada con nosotros.
Luego copiamos todas nuestras actualizaciones sobre la base del código de Chromium. Hay mucho trabajo hecho a mano desde obtenemos bastantes regresiones y conflictos de fusión de código. Esto solía ser muy problemático, pero con el tiempo, limpiamos bien el código de los elementos que causaron los conflictos, y hoy todo es mucho más simple. Por ejemplo, durante la última actualización, realizamos cambios en aproximadamente 900 archivos, y solo 80 archivos requerían edición manual de código. Me llevó entre cinco y seis horas hacer esto; solía llevar al menos una semana.
Después de fusionar el código, debe compilar el código del navegador para varias plataformas: Windows, Linux, Mac. Como regla general, esto lleva un día o incluso varias horas. En general, el proceso de fusión de código lleva dos o tres días hoy.
¿Cómo se identifican los nuevos problemas?
Ingve Pettersen : En realidad, en el proceso de integración del código, ya están apareciendo errores, para cuya corrección debe realizar cambios en el código de los módulos Vivaldi. Esto puede llevar bastante tiempo.
Luego, Andre, Jarle y otros desarrolladores comienzan a solucionar los problemas descubiertos, así como los nuevos que ya se identificaron durante las pruebas del navegador Vivaldi.
¿Qué tan complicado es este proceso?
Andre Schulz : Sí, los cambios en Chromium son los más difíciles en nuestro trabajo. Un par de veces desactivamos las banderas para algunas funciones y trabajamos en paralelo con las funciones de Chromium, que en realidad se eliminaron de las siguientes versiones del kernel. Esto creó muchos problemas para nosotros. El caso más difícil ocurrió durante la actualización del núcleo de Chromium 64 y nos llevó mucho tiempo solucionarlo, lo que afectó la desaceleración en el lanzamiento de nuevas versiones del navegador Vivaldi.
Yngwe Pettersen : Después de solucionar los problemas que surgieron durante la integración del nuevo kernel, continuamos trabajando en la solución de problemas y hasta que obtengamos una versión lo suficientemente estable adecuada para su lanzamiento como producto terminado.
¿Cómo van las cosas al agregar nuevas funciones al navegador?
Yngwe Pettersen : Sí, no dejamos de trabajar en nuevas características, por lo que el código principal de Vivaldi cambia y prueba constantemente. Cada vez que uno de los desarrolladores agrega cambios al código, se crea automáticamente un nuevo ensamblaje. Estos ensambles se prueban activamente primero por la compañía y los probadores externos de Sopranos, y luego por los usuarios de las compilaciones de prueba del navegador público, y al final es el departamento de control de calidad quien decide si estamos listos para lanzar la versión final.
Vivaldi actualmente emplea a unos 20 desarrolladores. No sé exactamente cuántos desarrolladores están involucrados en el desarrollo de Chromium, pero, por supuesto, hay muchos más que nosotros. Puede intentar comparar la cantidad de cambios en el código realizados por ambos equipos recientemente.
En cinco años, hemos realizado más de 17,000 cambios en nuestro código central. Durante el año pasado, hemos realizado más de 2,700 cambios. A modo de comparación, entre Chromium 67 y 68, se realizaron aproximadamente 12,000 cambios al código de Chromium, y entre las versiones 68 y 69 esta cifra ya era de aproximadamente 15,000 cambios. En otras palabras, el equipo de desarrollo de Chromium realizó tantos cambios en unos pocos días como lo hicimos en nuestro código durante el año. Por lo tanto, calculo el número de desarrolladores de Chromium activos en aproximadamente 600 personas.
Jarle Antensen : Como regla, nos lleva un poco de tiempo desde la idea hasta la implementación de una nueva función. En un equipo pequeño, es más fácil evitar la burocracia excesiva. Al mismo tiempo, casi todos los miembros del equipo participan activamente en la prueba de nuevas funciones, incluido el director de la compañía, Jon von Techner. Y, por supuesto, el proceso de agregar nuevas funciones depende mucho de las solicitudes de los usuarios: sus recomendaciones y comentarios son fundamentales para nuestro trabajo.
(En el sentido de las agujas del reloj de izquierda a derecha) Jarle Antonsen, Ingve Pettersen, Andre Schulz, Harald Brombach.Artículo original