Activa las notificaciones para estar al tanto de lo más nuevo en tecnología.

Nuevo modelo de gobierno para el lenguaje Python

Python estuvo controlado por su creador, Guido van Rossum, por unos treinta años, pero al renunciar a su puesto de "dictador benevolente", la comunidad de Python tuvo que buscar un mecanismo para mantener una guía sobre hacia donde va el lenguaje.

Después de que Guido van Rossum abdicara a su rol de líder de Python (en donde además, es su creador), el cual tomaba en última instancia todas las decisiones concernientes al lenguaje de programación, fue claro que se iba a necesitar una nueva forma para decidir hacia dónde va a ir Python. Después de un proceso democrático, son cinco personas las que harán la tarea que antes hacía van Rossum.

Los mejores gadgets del año recomendados por Unocero

Python se desarrolló originalmente por una sola persona, al inicio de los años 1990s. Fue Guido van Rossum quien fue el líder del proyecto hasta llevarlo a la popularidad que hoy tiene. Se le dio entonces el título de “Dictador benevolente por vida”, en donde las decisiones finales las tomaría él, fuesen muy importantes o triviales. Pero en julio del 2018, van Rossum no parece haber podido con la propuesta llamada PEP 572, en donde se incluía las expresiones de asignación. Y entonces el creador de Python decidió que se retiraba. Cuando terminaba su liderazgo, por cas 30 años, van Rossum dijo: ” Ahora que PEP 572 está hecho, no quiero tener que pelear tan duro y hallar que muchas personas desprecian mis decisiones”.

Por lo que entonces pasó es que nadie sabía cómo se manejaría Python en el futuro. Con una comunidad dividida por un asunto de estilo de programación, ¿cómo se deberían tomar las decisiones y bajo qué modelo de gobierno? Como van Rossum no dejó ningún posible candidato, el núcleo de desarrolladores de Python tuvo que buscar alguna solución.

En total hubo 7 propuestas, las cuales se bosquejaron en PEP 8000, con PEP 8001 detallando el proceso de voto y el período del mismo, que se designó del 1 al 16 de diciembre, en donde los que podían votar tenían que calificar las propuestas en orden de preferencia.

Las propuestas hablaban de varias formas de gobierno comunitario a tener un guía al cual le nombrarían GUIDO (“Gracious Umpire Influencing Decisions Officer”), el cual actuaría por las siguientes tres versiones, algo así como 4.5 años. También se habló de un trío de pythonistas, un consejo externo e incluso un consejo como del senado (por seniles, que es de donde viene la palabra, a todo esto). Finalmente ganó lo propuesto en PEP 8016: el modelo de consejo directivo, de Nathaniel J. Smith y Donald Stufft.

El consejo directivo estará compuesto por cinco individuos y servirá para una sola nueva versión de Python, después de la cual habrá otra elección. Los miembros del consejo pueden renunciar en cualquier momento y si un miembro pierde contacto por más de un mes, puede ser reemplazado. Para evitar conflictos de interés, solamente dos miembros del consejo pueden trabajar para un solo empleador.

La elección del consejo consiste en dos fases:

  • Fase 1: Los candidatos anunciarán su interés por servir. Los candidatos deben ser nominados por un miembro del equipo del núcleo de Python. Se permiten auto-nominaciones.
  • Fase 2: Cada miembro del equipo nuclear de Python puede votar por cero a cinco candidatos. El voto es anónimo. Los candidatos se calificarán por el número total de votos que reciban. Si hay un empate, puede resolverse por un acuerdo mutuo entre los candidatos en conflicto o en el peor de los casos el ganador se elegirá al azar.

Una vez elegidos, el consejo tiene el mandato de:

  • Mantener la calidad y estabilidad del lenguaje Python y del intérprete CPython
  • Hacer las contribuciones accesibles, inclusivos y sustentables en la medida de lo posible
  • Formalizar y mantener la relación entre el equipo nuclear de Python y el PSF
  • Establecer procesos para decisiones apropiadas de PEPs
  • Buscar consenso entre contribuyentes y el equipo nuclear antes de actuar en una capacidad formal
  • Actuar como una corte de última apelación para las decisiones sin poderse resolver de otra manera

El consejo tiene la amplia autoridad para tomar las decisiones del proyecto Python. Por ejemplo, pueden:

  • Aceptar o rechazar PEPs
  • Forzar o actualizar el código de conducta del proyecto
  • Trabajar con PSF para manejar cualquier tema del proyecto
  • Delegar partes de su autoridad a otros sub-comités o procesos

Así que veremos cómo se dan ahora las cosas. La realidad es que la decisión no parece descabellada o mal pensada. Vamos a ver si este cuerpo directivo hace las cosas como se espera de ellos.

Comentarios