¿Está interesado en Integración Continua: Hudson vs Jenkins?
Has venido al lugar correcto.
Integración continua: Hudson vs Jenkins
Y lo que significó esta batalla para todos nosotros.
La mayoría de nosotros recordamos en 2011 y 2012, cuando Internet se encendió con un acalorado debate sobre el asunto Hudson vs Jenkins. Comprensiblemente, las pasiones eran fuertes entre nosotros, los desarrolladores, que veíamos este debate en su contexto real, una batalla para mantener el software de código abierto libre y abierto para todos.
Pretendo utilizar este artículo para revisar los detalles de esta batalla con el fin de dar mi apasionado resumen de por qué el resultado de la batalla entre Hudson y Jenkins fue tan importante para todos nosotros y explicar por qué la victoria de Jenkins fue una victoria para la libre empresa. y codificación de fuente abierta en todo el mundo.
El artículo comienza con una breve lección de historia sobre el caso Hudson inicial, que creo que es necesario para poner el argumento en una perspectiva clara, antes de pasar a explicar por qué a pesar de ser dos programas similares, Jenkins ganó y se convirtió en un emblema para todos los que están del lado correcto del debate sobre el software de código abierto.
Historia de la separación de Hudson y Jenkins – Antecedentes
hudson es una herramienta de integración continua (CI) que fue escrita por Kohsuke Kawaguchi, mientras trabajaba en Sun Inc. Está escrita en Java y se puede operar en un contenedor de servlet como Apache Tomcat.
Hudson saltó a la fama en 2008, cuando ganó popularidad como alternativa al muy popular CruiseControl. Para 2010, Hudson tenía aproximadamente el 70% del mercado de IC, algo que no pasó desapercibido para el nuevo propietario de Sun, Oráculo.
El proyecto Hudson se estableció como una herramienta de código abierto que terminó bajo el control del gigante del software Oracle.
Aunque personalmente tengo mucha admiración por las cosas que Oracle ha logrado, en este caso, la empresa estaba a punto de emprender un camino que la llevaría a entrar en conflicto con los desarrolladores e ingenieros de software en todas partes.
Después de una serie de errores relacionados con la administración del proyecto Hudson por parte de Oracle, las cosas finalmente llegaron a un punto crítico cuando, en noviembre de 2010, un problema en la infraestructura de alojamiento de Hudson hizo que Oracle fuera atrapado nuevamente con los pantalones bajados, por así decirlo.
Muchos desarrolladores, frustrados por una interrupción reciente de Hudson, sintieron que ya era suficiente.
Este descontento se desbordó cuando kosuke y muchos desarrolladores clave de Hudson exigieron que Oracle renunciara a cierto control sobre el proyecto, incluidos los derechos sobre el nombre, algo que Oracle se negó a hacer.
Oracle ya había presentado una marca registrada en diciembre de 2010, en un intento por obtener los derechos exclusivos de la marca Hudson, algo que luego le habría permitido comenzar a monetizarla.
Esta fue la gota que colmó el vaso e inició la división. Después de ser aprobado por 214 votos contra 14 votos el 29 de enero de 2011, Hudson pasó a llamarse Jenkins y salió del control de Oracle.
Esto desencadenó un éxodo masivo de desarrolladores clave que se desvincularon de Oracle y siguieron a Jenkins. A partir de este momento, los dos servidores de CI comenzaron a desarrollarse de forma independiente en una carrera para ver cuál sería el niño grande en el bloque.
¿Qué pasó después?
Bueno, desde el principio quedó claro cuánta pasión y controversia había creado esta separación. A pesar de que tanto Hudson como Jenkins son la misma herramienta de CI basada en Java, tan pronto como se convirtieron en dos entidades diferentes y comenzaron a desarrollarse de forma independiente, Internet se inundó de comparaciones y debates sobre cuál era la mejor.
Si busca en Internet, incluso retrocediendo hasta febrero de 2011, es imposible encontrar una sola reseña que favorezca la plataforma de Hudson. Para mí, en esta etapa inicial, esto era algo que indudablemente se debía a la emoción más que al puro pragmatismo.
Dado que en esta etapa ambos eran esencialmente el mismo programa con los mismos fundamentos en común, la mayoría de estos artículos eran bastante redundantes desde la perspectiva de señalar diferencias sustanciales, hablando honestamente.
Después de la división, los dos equipos de desarrollo reflejaron tanto lo que el otro estaba haciendo que incluso hoy en día tanto Hudson como Jenkins comparten muchas de las mismas características.
Como resultado, se dejó a unos pocos artículos bien informados, como este interesante Artículo de 2011 de Cloudbees (donde Kohsuke trabajó durante varios años), para resaltar las diferencias reales entre los dos programas en ese momento y darnos una buena indicación de sus innovaciones por separado.
2012, el año decisivo
Para 2012, RebelLabs estimó que, a pesar de la feroz competencia de empresas como Bamboo y TeamCity, Hudson y Jenkins aún dominaban una participación de mercado dominante del 49 %.
El gráfico anterior, producido por GitHub.com, muestra el nivel de confirmaciones para ambos servidores de CI durante el primer año completo posterior a la división. Ciertamente es una lectura interesante, eso es seguro.
Con la excepción de julio de 2016, es obvio en qué se convirtió Hudson inmediatamente después de la separación. Además del sentimiento negativo hacia la empresa matriz Oracle por causar la división, Hudson también tenía problemas más grandes que lo estaban carcomiendo desde adentro.
El éxodo masivo de desarrolladores expertos y, lo que es más importante, apasionados, dejó un vacío en Hudson que Oracle nunca pudo llenar.
Hasta la fecha, esta pasión ha creado más de 600 complementos diferentes para Jenkins y lo ayudó a obtener más de 50,000 instalaciones activas, cifras que, incluso con todo el peso de Oracle detrás, Hudson nunca pudo acercarse a igualar.
Una breve mirada a cómo estaban las cosas en 2016.
En 2016, el sitio web ZeroTurnAround publicó un artículo donde revelaba los resultados de una encuesta en la que mapeaba tendencias actuales entre los desarrolladores. Este artículo destacó cuán bajo había caído el alguna vez poderoso Hudson en tan poco tiempo.
Si bien el proyecto Jenkins obtuvo una impresionante participación de mercado del 60 % (un crecimiento constante en años anteriores), Hudson solo pudo administrar un modesto 3 %, una cifra que, en efecto, lo relega a una oscuridad casi total y significa que es solo cuestión de tiempo. hasta que sea absorbida por otra empresa o simplemente descontinuada por completo.
Estoy 99% seguro de que el último clavo en el ataúd de Hudson llegará en los próximos 4 a 5 años, aunque aún está por verse cómo sucederá exactamente.
Aunque técnicamente todavía respira, para cualquiera que haya visitado Página web de Hudson de Eclipse recientemente, seguramente habrá notado que la última actualización de Hudson fue en febrero de 2016, lo que significa que ya no es compatible y está efectivamente muerto.
Mi pensamiento final
Según Kohsuke en 2011, el número total de desarrolladores que migraron casi de inmediato de Hudson a Jenkins fue de alrededor del 85 %. Esta es una cantidad asombrosa y es una cifra que realmente me hace sonreír, ya que representa una victoria moral decisiva tanto para el pequeño como para el desarrollo de software de código abierto en general.
Creo firmemente en la importancia de software de código abierto y los enormes beneficios que nos trae a todos. Para mí, es una forma esencial de permitir que los desarrolladores de software que están motivados por la pasión en lugar del dinero tengan la libertad de innovar y desarrollar nuevas ideas.
Todos los que formamos parte de la comunidad de desarrollo de software somos conscientes de cuántos problemas ha causado el sistema operativo Windows a los desarrolladores de software simplemente porque Microsoft no permitía el desarrollo de código abierto, lo cual es un ejemplo de por qué estamos tan convencidos del software de código abierto.
Lo que Oracle intentó hacer fue criminal para mí y, felizmente, la empresa pagó el precio por ello. Como dije en mi introducción, soy un gran admirador de muchas de las innovaciones de Oracle, particularmente de su plataforma en la nube, pero en este caso, la empresa se volvió codiciosa y se merecía lo que le pasó.
El software de código abierto siempre debe permanecer como su nombre indica, abierto. Creo que lo que hicieron Kohsuke Kawaguchi y el equipo de desarrollo original de Hudson cuando abandonaron el barco fue establecer un ejemplo importante que espero que otros en el futuro sean lo suficientemente valientes como para seguir.
Por esta razón, todos tenemos una deuda de gratitud con Kohsuke y todos los desarrolladores que lo siguieron hasta Jenkins en protesta por el intento de secuestro de una plataforma de CI de código abierto.
A menudo, los individuos nos sentimos impotentes para luchar contra el cambio y la injusticia, pero lo que muestra toda esta saga es la influencia que tenemos como comunidad contra los gigantes de la industria y las injusticias que intentan infligirnos en su sed de ganancias.
Entonces, de parte de un desarrollador de software apasionado, me gustaría expresar mi más sincero agradecimiento a Kohsuke Kawaguchi y al equipo de desarrollo de Jenkins, y aprovechar esta oportunidad para recordarles a todos ustedes en nuestra comunidad de desarrollo que realmente podemos marcar la diferencia, siempre que todos trabajar juntos como uno.
Si está buscando desarrolladores de software experimentados para desarrollar e implementar su próximo proyecto de software utilizando las herramientas de desarrollo correctas y más recientes, comuníquese con DevTeam.Space enviándonos su especificaciones del proyecto inicial.
Uno de nuestros gerentes de cuenta se comunicará con usted para obtener más ayuda con el proceso de incorporación.
Preguntas frecuentes sobre Hudson vs Jenkins
No del todo, pero casi. Muy pocos desarrolladores usan Hudson por motivos morales.
Hudson está controlado por la Fundación Eclipse y ya no se mantiene, mientras que Jenkins es de código abierto y sigue siendo popular.
Jenkins es de código abierto y lo mantiene un gran grupo de desarrolladores.
Related Posts:
- Los 10 mejores complementos de Jenkins para DevOps
- Cómo construir una plataforma de integración de atención…
- ¿Cuáles son las mejores prácticas de integración en la nube?…
- ¿Cómo construir una arquitectura de integración en la nube?…
- ¿Cómo realizar la integración de mapas de Google para…
- De la ingesta de datos a la integración de datos