Russ Cox deja el cargo de líder técnico de Go
(groups.google.com)- El proyecto Go pasa de un liderazgo centrado en Russ Cox durante más de 12 años a una nueva estructura encabezada por Austin Clements y Cherry Mui
- A partir del 1 de septiembre de 2024, Austin asumirá como líder técnico del equipo de Go en Google y del proyecto Go en su conjunto, mientras que Cherry encabezará el núcleo de Go, incluyendo compilador, runtime y lanzamientos
- Cox considera que, aunque un liderazgo único de largo plazo aporta estabilidad, también puede reducir el espacio para que crezcan nuevos líderes, y ve la transición de liderazgo de Python en 2018 como un precedente positivo
- Cox no dejará Go: seguirá como colaborador individual en discusiones de diseño, revisión de CL, presentación de issues, trabajo en partes de la biblioteca estándar y charlas en GoLab
- En adelante, se enfocará más en Gaby y Oscar para mejorar la productividad en el issue tracker de Go y extender a otros proyectos formas de ayudar a mantenedores de código abierto
Transición de liderazgo en Go
- Desde el 1 de septiembre de 2024, Austin Clements asumirá como líder técnico de Go
- Esto abarca tanto al equipo de Go de Google como al proyecto Go en su conjunto
- Austin actualmente es el líder técnico del área conocida como “Go core”
- Cherry Mui asciende para liderar el área de Go core
- Go core incluye la toolchain del compilador, el runtime y los lanzamientos
- Russ Cox no deja el proyecto Go, pero da un paso atrás del centro de la toma de decisiones
Por qué hacía falta un relevo tras 12 años de liderazgo
- Para Cox, el rol de líder técnico no es un cargo honorífico, sino más cercano a un rol de servicio
- Durante más de 12 años al frente del proyecto Go, se ha enfocado en crear las condiciones para que otras personas hagan buen trabajo
- Los proyectos grandes se benefician de un liderazgo estable, pero en cierto momento también necesitan las fortalezas y la perspectiva fresca de nuevos líderes
- Cox considera que Go ya acumuló suficiente estabilidad tras más de 12 años de liderazgo unipersonal
- El modelo BDFL no le parece saludable ni para la persona ni para el proyecto
- Hace difícil abrir espacio para nuevos líderes
- Se convierte en un punto único de falla
- Reduce el margen para que el proyecto siga creciendo
- Menciona a Python como un caso que se benefició enormemente cuando Guido van Rossum dejó el cargo en 2018 y permitió que otras personas tomaran el liderazgo
Confianza en Austin Clements y Cherry Mui
- Austin trabaja en Go en Google desde 2014 y Cherry desde 2016
- Cox evalúa que ambos tienen un criterio sobresaliente y un gran conocimiento de Go y de los sistemas donde Go se ejecuta
- Ha confiado en Austin y Cherry cuando necesitaba una comprensión más profunda de preguntas generales de diseño o de detalles del compilador, el linker y el runtime
- Los líderes actuales seguirán al frente de sus respectivas áreas
- Roland Shoemaker seguirá liderando la seguridad de Go
- Rob Findley y Hana Kim seguirán liderando las herramientas de Go y el soporte para IDE
El papel que asumirá Russ Cox a partir de ahora
- Cox planea apartarse deliberadamente de la toma de decisiones para abrir espacio a que Austin y otros líderes den un paso al frente
- Dentro de Go, seguirá como colaborador individual
- Participación en discusiones de diseño de Go
- Revisión de CL
- Responder preguntas sobre historial antiguo
- Brindar apoyo cuando haga falta
- Presentar issues y escribir CL
- Trabajar en algunas posibles nuevas partes de la biblioteca estándar
- Promover Go en toda la industria
- Dar una charla sobre Go en GoLab en Italia en noviembre
- Los detalles de la transición todavía no están definidos y se compartieron en la lista de correo para discusión pública
- Cox y Austin quieren que este cambio no se perciba como un gran acontecimiento, salvo por el hecho de que hará al proyecto Go más fuerte y mejor
Un nuevo enfoque hacia Gaby y Oscar
- En adelante, Cox se enfocará más en Gaby and Oscar
- El objetivo es generar contribuciones útiles en el issue tracker de Go para ayudar a que quienes trabajan en Go sean más productivos
- A través del trabajo en Oscar, espera encontrar formas de ayudar a mantenedores de código abierto y que otros proyectos también las adopten
- Oscar tiene tres objetivos principales
- Construir algo útil
- Aprender algo nuevo
- Trazar un camino para otros proyectos
- Estos objetivos se conectan con las metas amplias que siempre ha perseguido en Go, por lo que Oscar le parece a Cox un siguiente paso natural
Reacción de la comunidad y pedido de transparencia
- Daniel Martí mencionó modules y generics como grandes cambios e hitos de Go durante la última década, y valoró que Cox tuvo un papel clave en su éxito a largo plazo
- Junto con la discusión sobre la transición, propuso formas de aumentar la transparencia en torno al compilador y el runtime
- Retomar el hilo de notas de reuniones del compilador y runtime
- Retomar las llamadas de office hours del compilador y runtime
- Señaló, en comparación, que el equipo de herramientas se comunica con transparencia con la comunidad a través de Slack y de las llamadas regulares de golang-tools
- Cherry Mui respondió que las notas de reuniones y las office hours son una buena oportunidad para aumentar la transparencia y la participación entre el equipo de compilador/runtime de Google y la comunidad
- Publicará una actualización en la lista de correo cuando se defina la próxima fecha de office hours
- Varias personas agradecieron a Cox por sus 12 años de liderazgo y sus contribuciones a Go, y felicitaron a Austin y Cherry por sus nuevos roles
1 comentarios
Opiniones de Hacker News
rsc, gracias por todo el trabajo de todos estos años. En los últimos 12 años, desarrollar en Go se volvió mucho más agradable gracias al detector de condiciones de carrera, el wrapping de errores estandarizado, los módulos, los genéricos, las actualizaciones de la cadena de herramientas y más.
Todavía quedan cosas que me gustaría ver. Personalmente, en mi lista de deseos están los tipos suma, mejores enums/tipos de rango, inmutabilidad e imposibilidad de nil, pero aun así Go sigue siendo uno de los ecosistemas más agradables en los que he desarrollado hasta ahora.
https://research.swtch.com/vgo-intro
non-nilness, todavía recuerdo este hilo:https://groups.google.com/g/golang-nuts/c/rvGTZSFU8sY/m/R7El...
fortradicional de tres partes: https://go101.org/blog/2024-03-01-for-loop-semantic-changes-...Por ese cambio, considero que Go 1.22 es, en la práctica, la primera versión de Go que rompe seriamente la compatibilidad con Go 1, aunque el proyecto oficial de Go no lo reconozca.
Personalmente, creo que Go es uno de los proyectos open source mejor gestionados hasta ahora. También mis respetos a Google por apoyarlo.
En teoría sería algo como una entidad o comité independiente, pero me pregunto quién paga los costos de la mayoría de las personas que realmente trabajan en él. ¿Google?
Así que el objetivo del proyecto dejó de ser conquistar el mundo y pasó a encajar con sus usuarios, mientras que esa guerra quedó en manos de Rust, Zig y otros.
Me parece interesante la parte de “no creo que el modelo BDFL (dictador benevolente de por vida) sea sano para las personas ni para los proyectos”. Los mejores proyectos tienen un BDFL, y los mejores BDFL parecen ser escépticos respecto de su propio poder.
En cambio, las personas que quieren ser líderes porque quieren que se las conozca como “líderes” a veces no tienen ni la capacidad ni el sentido de responsabilidad.
Creo que la principal ventaja de que una sola persona tenga autoridad para decidir unilateralmente es que puede evitar los bloqueos que aparecen cuando hay muchos interesados. Si un proyecto siente que su líder puede revertir legítimamente decisiones con un consenso fuerte, será mucho más difícil formar una comunidad lo bastante grande como para que la gente la conozca.
A grandes rasgos, parece una forma similar a otras burocracias: reduce el drama, pero no mejora visiblemente la calidad. Por otro lado, hay montones de proyectos que fracasaron porque un único dueño no fue lo bastante flexible, solo que se considera que no vale la pena discutirlos.
Esto va mucho más allá de los proyectos open source.
Era una expresión que reconocía la “realidad sobre el terreno” del rol de GvR como creador de Python, no algo pensado seriamente como principio de gestión de proyectos. Era una descripción, no una prescripción, pero el concepto terminó reificándose demasiado.
rsc, muchísimas gracias por todo el esfuerzo dedicado a este lenguaje que me llevó a la ingeniería de software.
Probé varios lenguajes de programación, pero Go todavía se siente como casa. La experiencia de desarrollo es excelente, y valoro muchísimo que el lenguaje y sus creadores hayan defendido sin excusas la simplicidad y la responsabilidad. Te deseo suerte y buenos resultados en todo lo que venga.
Cuando empezamos Go, nunca imaginé que tendría un impacto tan positivo en la vida de la gente ni que atraería a nuevas personas a la programación y la ingeniería de software. Ese impacto es lo que más me enorgullece.
El blog de RSC es muy bueno: https://research.swtch.com/
Gracias por todas las contribuciones a Go.
Sin embargo, no estoy de acuerdo con una cosa que no tiene que ver con Go. Python no se benefició después de que GvR se retiró. El nuevo “liderazgo” es no técnico y autoritario, e hizo que la mayoría de los verdaderos contribuidores open source se fueran.
El desarrollo está estancado salvo por algunas contribuciones corporativas de calidad dudosa, el ambiente es opresivo, y lo único importante es si estás en una posición de poder en Microsoft/Instagram/Bloomberg. Puede que no sea necesariamente culpa de estas empresas. Quizá no sepan que se está abusando de su generosidad.
Viendo las estadísticas de GitHub, la actividad parece saludable. En el último mes se fusionaron más de 700 PR de más de 120 contribuidores [1].
También parece que la cantidad de nuevos contribuidores aumentó considerablemente en los últimos años [2].
[1] https://github.com/python/cpython/pulse/monthly
[2] https://github.com/python/cpython/graphs/contributors
Solo
gofmtprobablemente ahorró una cantidad enorme de tiempo en todo el mundo. En la práctica, fue lo que hizo que casi todos los demás ecosistemas de lenguajes dijeran “bueno, simplemente hagamos formateo automático”.No me gusta lo que los formateadores automáticos le hacen a mi código, pero sí me gusta no tener que hablar más sobre espacios en blanco.
gofmtformatea el código.Después uno termina agradeciendo no tener que dedicarle mucho más tiempo, y al menos para la mayoría no es un problema.
Hoy me enteré del proyecto en el que quiere enfocarse: https://go.googlesource.com/oscar/+/refs/heads/master/README...
Dice que es una arquitectura basada en LLM para ayudar al mantenimiento de proyectos open source. Se ve genial.
https://www.youtube.com/watch?v=wwoWei-GAPo — el proyecto avanzó muchísimo desde entonces.
Me alegra que siga vivo y prosperando. Creo que en 2009 no esperaba que llegara a esto. Sin Russ, no creo que Go hubiera llegado a donde está hoy. Sus contribuciones al proyecto fueron enormes.
Gracias a Russ. Poner el soporte de herramientas como elemento de primera clase fue revolucionario, y sigue siendo una de las características más destacadas de Go.