Organización del Proyecto Django

Principios

El proyecto Django está gestionado por un equipo de voluntarios que persiguen tres objetivos:

  • Impulsar el desarrollo del framework web Django,

  • Fomentar la ecología de software relacionado con Django,

  • Dirigiendo la comunidad Django según los valores descritos en el Código de Conducta de Django.

El Proyecto Django no es una entidad legal. La Fundación del Software Django, una organización sin fines de lucro, se encarga de asuntos financieros y legales relacionados con el Proyecto Django. Además, la Fundación del Software Django deja que el Proyecto Django gestione el desarrollo del framework Django, su ecosistema y su comunidad.

Fusión

Papel

Las fusiones son un pequeño conjunto de personas que fusionan solicitudes de pull a la repositorio Git de Django.

Preeminencias

Las fusiones tienen las siguientes preeminencias:

  • Fusionar cualquier solicitud de pull que constituya una cambio menor (lo suficientemente pequeño como para no requerir el uso del proceso DEP). Un Fusionista no debe fusionar un cambio primariamente autorizado por ese mismo Fusionista, a menos que la solicitud de pull haya sido aprobada por:

    • otro Fusionista,

    • un miembro del consejo directivo.

    • Un miembro del equipo de triage & review, o

    • un miembro del equipo de seguridad.

  • Iniciar la discusión sobre un cambio menor en el lugar adecuado, y solicitar que los Mergers no fusionen mientras se produce la discusión.

  • Solicitar una votación del consejo directivo respecto a cualquier cambio menor si, en opinión del Mergers, la discusión no ha logrado alcanzar un consenso.

  • Solicitar una votación del consejo directivo cuando un cambio importante (lo suficientemente significativo como para requerir el uso del proceso DEP) alcance uno de sus hitos de implementación y esté destinado a fusionarse.

Miembros

El consejo directivo selecciona Mergers según sea necesario para mantener su número en un mínimo de tres, con el fin de distribuir la carga de trabajo y evitar sobrecargar o agotar a cualquier individuo Mergers. No hay límite superior al número de Mergers.

No es un requisito que un Mergers también sea un Fellow Django, pero la Fundación del Software Django tiene el poder de utilizar financiamiento de posiciones de Fellow como una forma de hacer que el papel de Mergers sea sostenible.

Las siguientes restricciones se aplican al rol de Mergers:

  • Una persona no puede servir simultáneamente como miembro del consejo directivo. Si un Mergers es elegido para el consejo directivo, dejará de ser un Mergers inmediatamente después de tomar posesión de su membresía en el consejo directivo.

  • Una persona puede desempeñar simultáneamente los roles de Releaser y Merger.

El proceso de selección, cuando se produce una vacante o cuando el consejo directivo considera necesario seleccionar personas adicionales para un rol así, ocurre de la siguiente manera:

  • Cualquier miembro en buen estado de un foro de discusión adecuado, o el consejo de administración de la Fundación del Software Django actuando con la entrada del comité de Fellowship de la DSF, puede sugerir a una persona para su consideración.

  • El consejo directivo considera las sugerencias presentadas y luego cualquier miembro del consejo directivo nombra formalmente a un candidato para el rol.

  • El consejo directivo vota sobre los nominados.

Los Mergers pueden dimitir de su rol en cualquier momento, pero deben esforzarse por proporcionar algún aviso previo con el fin de permitir la selección de un reemplazo. La terminación del contrato de un Fellow Django por parte de la Fundación del Software Django suspende temporalmente el rol de Merger de esa persona hasta que el consejo directivo pueda votar sobre su nominación.

De lo contrario, un Merger puede ser removido mediante:

  • Ser descalificado debido a la elección para el consejo directivo.

  • Ser descalificado debido a las acciones tomadas por el comité del Código de Conducta de la Fundación del Software Django.

  • Un voto del consejo directivo.

Releasers

Papel

Los releasers son un pequeño conjunto de personas que tienen la autoridad para subir versiones empaquetadas de Django al índice de paquetes Python https://pypi.org/project/Django y en el sitio web djangoproject.com.

Preeminencias

Los liberadores crean versiones de Django mediante la construcción de versiones de Django y las suben a la Índice de Paquetes de Python y al sitio web djangoproject.com.

Miembros

El consejo de dirección _ selecciona a los Releasers según sea necesario para mantener su número en un mínimo de tres, con el fin de repartir la carga y evitar sobrecargar o agotar a cualquier individuo Releaser. No existe límite superior al número de Releasers.

No es un requisito que un Releaser también sea un Fellow de Django, pero la Fundación del Software Django tiene el poder de utilizar los fondos de las posiciones de Fellow como una forma de hacer que el papel de Releaser sea sostenible.

Una persona puede desempeñar simultáneamente los roles de Releaser y Merger.

El proceso de selección, cuando se produce una vacante o cuando el consejo directivo considera necesario seleccionar personas adicionales para un rol así, ocurre de la siguiente manera:

  • Cualquier miembro en buen estado de un foro de discusión adecuado, o el consejo de administración de la Fundación del Software Django actuando con la entrada del comité de Fellowship de la DSF, puede sugerir a una persona para su consideración.

  • El consejo directivo considera las sugerencias presentadas y luego cualquier miembro del consejo directivo nombra formalmente a un candidato para el rol.

  • El consejo directivo vota sobre los nominados.

Los liberadores pueden renunciar a su papel en cualquier momento, pero deben esforzarse por proporcionar algún aviso previo para permitir la selección de un reemplazo. La terminación del contrato de un Fellow Django por parte de la Fundación Software Django suspende temporalmente el rol de Releaser de esa persona hasta que el consejo directivo pueda votar sobre su nominación.

De lo contrario, un Releaser puede ser eliminado por:

  • Ser descalificado debido a las acciones tomadas por el comité del Código de Conducta de la Fundación del Software Django.

  • Un voto del consejo directivo.

Consejo de dirección

Papel

El consejo de dirección es un grupo de contribuyentes experimentados que:

  • Proporciona supervisión del proceso de desarrollo y lanzamiento de Django.

  • ayudan a establecer la dirección del desarrollo y lanzamiento de características,

  • seleccionar Mergers y Releasers, y

  • tienen un voto de desempate cuando otros procesos de toma de decisiones fallan.

La principal preocupación es mantener la calidad y estabilidad del Framework Django para Web.

Preeminencias

El consejo directivo tiene las siguientes prerrogativas:

  • Tomar una decisión vinculante sobre cualquier cuestión de un cambio técnico en Django.

  • Vetoar el mezclado de cualquier pieza de código particular en Django o ordenar la reversión de cualquier mezcla o commit particular.

  • Anunciar llamamientos a propuestas y ideas para la dirección técnica futura de Django.

  • Seleccionar y eliminar a los Mergers y Releasers.

  • Participar en la eliminación de miembros del consejo directivo, cuando se considere apropiado.

  • Llamando a las elecciones del consejo de dirección fuera de aquellas que se desencadenan automáticamente, en momentos en los que el consejo de dirección considera que una elección es apropiada.

  • Participar en la modificación de la gobernanza de Django (ver Cambiando la organización).

  • Rechazar votar sobre un asunto que el consejo de dirección considere inmaduro para una decisión vinculante, o que el consejo de dirección considere fuera del alcance de sus poderes.

  • Tomar cargo de la gobernanza de otros equipos técnicos dentro del proyecto Django open-source, y gobernar a esos equipos según corresponda.

Miembros

El consejo de dirección es un grupo electo de cinco contribuyentes experimentados que demuestran:

  • Una historia de contribuciones sustanciales a Django o al ecosistema Django. Esta historia debe comenzar al menos 18 meses antes de la candidatura del individuo para el Consejo de Dirección, y debe incluir contribuciones sustanciales en al menos dos de los siguientes puntos:

    • Contribuciones de código a proyectos de Django o paquetes terceros importantes dentro del ecosistema de Django

    • Revisión de solicitudes de extracción y/o triage de tickets del proyecto Django

    • Documentación, tutoriales o artículos de blog

    • Discusiones sobre Django en el Foro de Django

    • Los eventos relacionados con Django o grupos de usuarios

  • Una historia de compromiso con la dirección y el futuro de Django. No es necesario que sea reciente, pero los candidatos que no han participado en los últimos tres años deben demostrar aún una comprensión de los cambios y la dirección de Django dentro de esos tres años.

Se elige un nuevo consejo después de cada ciclo de liberación de Django. El proceso de elección funciona de la siguiente manera:

  1. El consejo directivo dirige a uno de sus miembros para notificar al Secretario de la Fundación del Software Django, por escrito, sobre la activación de la elección y la condición que la desencadenó. El Secretario publica en el lugar adecuado – el Foro de Django para anunciar la elección y su cronograma.

  2. Tan pronto como se anuncia la elección, el Consejo Directivo de la DSF comienza un período de registro de votantes. Todos los miembros individuales de la DSF están automáticamente registrados y no necesitan registrarse explícitamente. Todas las demás personas que creen ser elegibles para votar, pero que aún no se han registrado para votar, pueden presentar una solicitud al Consejo Directivo de la DSF para privilegios de voto. La forma de registro de votantes y el rol de los votantes están mantenidos por el Consejo Directivo de la DSF. El Consejo Directivo de la DSF puede desafiar y rechazar el registro de votantes que cree que se están registrando en mala fe o que han falsificado sus calificaciones o no son aptos de otra manera.

  3. El registro de votantes cierra una semana después del anuncio de la elección. En ese punto, comienza el registro de candidatos. Cualquier persona cualificada puede registrarse como candidato. La forma de registro de candidatos y el roster de candidatos están mantenidos por el Consejo Directivo de la DSF, y los candidatos deben proporcionar evidencia de sus calificaciones como parte del registro. El Consejo Directivo de la DSF puede desafiar y rechazar el registro de candidatos que no cumplan con las cualificaciones de los miembros del Consejo Directivo o que cree que se están registrando en mala fe.

  4. El registro de candidatos cierra una semana después de haberse abierto. Una semana después de que cierre el registro de candidatos, el Secretario de la DSF publica el roster de candidatos en el Foro de Django, y comienza la elección. El Consejo Directivo de la DSF proporciona una forma de voto accesible a los votantes registrados, y es el custodio de las votaciones.

  5. La votación se realiza mediante boleta secreta que contiene el roster de candidatos y cualquier material relevante sobre los candidatos, en un orden aleatorio. Cada votante puede votar por hasta cinco candidatos en la papeleta.

  6. La elección concluye una semana después de haber comenzado. El Consejo Directivo de la DSF luego cuenta las votaciones y produce un resumen, incluyendo el número total de votos emitidos y el recibido por cada candidato. Este resumen se ratifica mediante una mayoría de voto del Consejo Directivo de la DSF, y luego se publica por el Secretario de la DSF en el Foro de Django. Los cinco candidatos con los totales de votos más altos inmediatamente se convierten en el nuevo consejo directivo.

Un miembro del consejo directivo puede ser removido por:

  • Ser descalificado debido a las acciones tomadas por el comité del Código de Conducta de la Fundación del Software Django.

  • Determinar que no poseían las calificaciones de un miembro del consejo directivo. Esta determinación debe hacerse conjuntamente por los otros miembros del consejo directivo y el DSF Board. Una determinación válida de ineligibilidad requiere que todos los demás miembros del consejo directivo y todos los miembros del DSF Board voten «sí» en una moción de que la persona en cuestión es inelegible.

Cambiando la organización

Los cambios a este documento requieren el uso del proceso DEP, con modificaciones descritas en DEP 0010.