DESARROLLADOR

Cómo Magento cambió su enfoque de código abierto para obtener un 50 % de contribuciones de la comunidad

Magento solía operar como la mayoría de las otras empresas de código abierto: código abierto, desarrollo cerrado. Hace dos años, las cosas cambiaron. Aquí está la cosa.

La teoría del código abierto es un desarrollo impulsado por la comunidad. Sin embargo, la realidad suele ser diferente. La mayoría de los proyectos de código abierto en realidad atraen a muy poca comunidad. Si bien proyectos como Linux o Kubernetes atraen una profunda participación de los desarrolladores, la mayoría de los proyectos de código abierto son oscuros, trabajos de amor de desarrolladores individuales. Para proyectos comerciales de código abierto que hacen contribuciones significativas, como MongoDB o JBoss de Red Hat, casi todas esas contribuciones provienen de desarrolladores de la misma empresa.

Esto es lo que hace que Magento sea tan interesante.

Magento es diferente a cualquier otro proyecto que haya visto en 20 años de proyectos de código abierto con el 50% del código proveniente de desarrolladores que no están en la nómina de Magento. Lo que es aún más interesante es que hace solo dos años, Magento fue codificado casi en su totalidad por la propia empresa. Me senté con el director de ingeniería comunitaria de Magento, Max Yekaterynenko, y el vicepresidente de tecnología de Magento, Ramadass Prabhakar, para averiguar qué ha cambiado y cómo funciona esta comunidad única.

De la incidencia de Jira a la solicitud de incorporación de cambios

Antes de comenzar, es importante tener en cuenta que mi empleador, Adobe, completó recientemente una compra de Magento. Teniendo en cuenta mis casi 20 años de experiencia en código abierto, estoy encantado de que hayamos adquirido una empresa de código abierto. Sin embargo, no fue hasta que me senté con el equipo de la comunidad de Magento que realmente comencé a comprender cómo funciona de manera diferente el modelo de código abierto de Magento. Bueno, mi interés en Magento no se trata de comprar, se trata de cómo construye una comunidad.

LEER  Cómo configurar un servidor SMTP en una instancia autohospedada de Passbolt

No es que siempre haya sido así.

VER: Cuadro comparativo de distribución de Linux (Tech Pro Research)

Hace dos años, Magento funcionaba como cualquier otra empresa de código abierto: en su mayoría código fuente abierto (modelo típico de núcleo abierto, con núcleo de código abierto y partes propietarias en construcciones empresariales para fomentar el pago) y desarrollo en su mayoría cerrado. La comunidad de Magento está compuesta principalmente por integradores de sistemas y socios tecnológicos que desarrollan negocios en torno a Magento. Sin embargo, cuando se trata de afectar el código, los socios en su mayoría solo registran los problemas de Jira cuando encuentran errores y luego esperan (a menudo en vano) que Magento los solucione.

Este proceso debería ser familiar para cualquier empresa, ya sea propietaria o de código abierto. El genio de Magento es su comunidad SI, especialmente la cantidad de tiempo que se necesita para que Magento funcione en producción y pueda traducir esa experiencia en un mejor código.

Por lo tanto, Magento le pide a su comunidad que deje de enviar problemas de Jira y, en su lugar, envíe solicitudes de extracción.

Al mismo tiempo, Magento creó un equipo de ingeniería de la comunidad cuyo objetivo básico es escuchar y revisar las solicitudes de incorporación de cambios. Hoy en día, se acepta la gran mayoría de las solicitudes de incorporación de cambios, pero inicialmente la tasa de aceptación fue baja. Con el tiempo, lo que comenzó más como «hacer que la comunidad escuchara» se transformó en «Guau, tantas innovaciones en Magento son impulsadas por nuestra comunidad».

Diferentes tipos de innovación de diferentes lugares.

Código abierto: cobertura de lectura obligada

Magento se conecta con la comunidad a través de una videollamada mensual que destaca el trabajo de los ingenieros de la empresa, familiarizando así a los desarrolladores externos con la hoja de ruta de la empresa. Si bien la comunidad de Magento inicialmente se dispuso a abordar la vulnerabilidad, con el tiempo la naturaleza de sus contribuciones de ingeniería cambió.

El equipo de ingeniería interno de Magento ahora se centra en grandes proyectos de larga duración y calidad/estabilidad. Magento Engineering también crea herramientas que tanto la comunidad como los equipos internos pueden usar para maximizar la productividad.

La comunidad maneja muchas otras innovaciones (incrementales y de otro tipo), así como una serie de nuevas características de la comunidad. A través de esta colaboración de ingeniería interna y externa, la producción de código general de Magento ha aumentado.

Echa un vistazo a GitHub: hoja de trucos (Tecnopedia)

Algo sorprendente para la gente de código abierto como yo, los socios de Magento contribuyen al código propietario de la empresa, no solo al código abierto. Pregunto por qué cualquier socio contribuiría a un producto patentado por el cual ellos (o sus clientes) todavía tienen que pagar. La respuesta es que hacerlo facilita el mantenimiento. También les ayuda a impulsar el negocio porque pueden diferenciarse si su código está en un producto comercial. De manera similar a cómo Red Hat posiciona sus contribuciones para Linux o Kubernetes, los socios contribuyentes activos de Magento se posicionan a sí mismos como capaces de brindar un mejor soporte a sus clientes si tienen influencia en la ingeniería.

Magento intenta seguir el mismo proceso para contribuciones internas y externas. Realmente no les importa de dónde viene el código. El punto es mejorar la calidad del código desde el principio, y la aprobación no depende de una insignia de empleado que alguien puede usar o no.

Este enfoque no está exento de fricciones, internas o de otro tipo. Pero con el tiempo, los ingenieros internos y externos se sintieron más cómodos con el enfoque, me dijeron Yekaterynenko y Prabhakar. No se parece a nada que haya visto en código abierto a lo largo de los años, y podría ser un modelo aceptado por otras empresas, ya sea de código abierto o propietario.

Como Magento cambio su enfoque de codigo abierto para obtener

LEER  Cómo acceder a su iPhone si olvidó su contraseña

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba