Organisation av Django-projektet¶
Principer¶
Djangoprojektet drivs av ett team av volontärer som strävar efter tre mål:
Driva utvecklingen av webbramverket Django,
Främja ekosystemet för Django-relaterad programvara,
Leda Django-gemenskapen i enlighet med de värderingar som beskrivs i Django Code of Conduct.
Djangoprojektet är inte en juridisk person. Django Software Foundation, en ideell organisation, hanterar ekonomiska och juridiska frågor relaterade till Django-projektet. Utöver detta låter Django Software Foundation Djangoprojektet sköta utvecklingen av Django-ramverket, dess ekosystem och dess community.
Sammanslagningar¶
Roll¶
Mergers är en liten grupp människor som sammanfogar pull requests till Django Git repository.
Företrädesrätt¶
Sammanslagningar ger följande privilegier:
Sammanfoga alla dragningsbegäran som utgör en ”mindre ändring” (tillräckligt liten för att inte kräva användning av ”DEP-processen”). En sammanfogare får inte sammanfoga en ändring som i första hand har författats av den sammanfogaren, såvida inte dragbegäran har godkänts av:
en annan fusion,
en styrande rådsmedlem,
en medlem av triage & review team, eller
en medlem av ”säkerhetsteamet”.
Initiera diskussion om en mindre ändring på lämplig plats och begära att andra sammanslagare avstår från att slå samman den medan diskussionen pågår.
Begära omröstning i styrgruppen om varje mindre ändring om, enligt Fusionens uppfattning, diskussionen inte har lett till enighet.
Begäran om omröstning i styrgruppen när en ”större förändring” (tillräckligt betydande för att kräva användning av ”DEP-processen”) når en av milstolparna i genomförandet och är avsedd att slås samman.
Medlemskap¶
Styrningsrådet väljer Fusioner efter behov för att hålla antalet på minst tre, för att sprida arbetsbördan och undvika att överbelasta eller bränna ut någon enskild Fusion. Det finns ingen övre gräns för antalet sammanslagningar.
Det är inget krav att en Merger också är en Django Fellow, men Django Software Foundation har befogenhet att använda finansiering av Fellow-positioner som ett sätt att göra rollen som Merger hållbar.
Följande begränsningar gäller för rollen som Merger:
En person får inte samtidigt vara ledamot av styrgruppen. Om en Fusionär väljs in i styrrådet, ska denne upphöra att vara Fusionär omedelbart efter att ha tillträtt som medlem i styrrådet.
En person kan inneha rollerna Releaser och Merger samtidigt.
Urvalsprocessen, när en vakans uppstår eller när styrgruppen anser att det är nödvändigt att välja ytterligare personer för en sådan roll, sker enligt följande:
Varje medlem med gott anseende i en lämplig diskussionsplats, eller styrelsen för Django Software Foundation som agerar med bidrag från DSF:s Fellowship-kommitté, kan föreslå en person för övervägande.
Styrgruppen överväger de förslag som läggs fram och sedan nominerar varje medlem i styrgruppen formellt en kandidat till rollen.
Styrgruppen röstar om de nominerade kandidaterna.
Mergers kan avsäga sig sin roll när som helst, men bör sträva efter att ge en viss förvarning för att möjliggöra valet av en ersättare. Om Django Software Foundation säger upp kontraktet för en Django Fellow upphör den personens Merger-roll tillfälligt tills styrgruppen kan rösta om deras nominering.
I annat fall kan en Fusion upphävas genom:
Att bli diskvalificerad på grund av val till styrgruppen.
Bli diskvalificerad på grund av åtgärder som vidtagits av uppförandekodskommittén för Django Software Foundation.
En omröstning i styrgruppen.
Frigörare¶
Roll¶
Releasers är en liten grupp människor som har befogenhet att ladda upp paketerade versioner av Django till Python Package Index och till webbplatsen djangoproject.com.
Företrädesrätt¶
Releasers bygga Django-releaser och ladda upp dem till Python Package Index och till webbplatsen djangoproject.com.
Medlemskap¶
Styrningsrådet väljer Releasers efter behov för att hålla antalet Releasers på minst tre, i syfte att fördela arbetsbördan och undvika att överbelasta eller bränna ut någon enskild Releaser. Det finns ingen övre gräns för antalet Releasers.
Det är inte ett krav att en Releaser också är en Django Fellow, men Django Software Foundation har befogenhet att använda finansiering av Fellow-positioner som ett sätt att göra rollen som Releaser hållbar.
En person kan inneha rollerna Releaser och Merger samtidigt.
Urvalsprocessen, när en vakans uppstår eller när styrgruppen anser att det är nödvändigt att välja ytterligare personer för en sådan roll, sker enligt följande:
Varje medlem med gott anseende i en lämplig diskussionsplats, eller styrelsen för Django Software Foundation som agerar med bidrag från DSF:s Fellowship-kommitté, kan föreslå en person för övervägande.
Styrgruppen överväger de förslag som läggs fram och sedan nominerar varje medlem i styrgruppen formellt en kandidat till rollen.
Styrgruppen röstar om de nominerade kandidaterna.
Releasers kan avsäga sig sin roll när som helst, men bör sträva efter att ge en viss förvarning för att möjliggöra valet av en ersättare. Om Django Software Foundation säger upp kontraktet för en Django Fellow upphör personens Releaser-roll tillfälligt tills dess att styrgruppen kan rösta om deras nominering.
I annat fall kan en Releaser tas bort genom att:
Bli diskvalificerad på grund av åtgärder som vidtagits av uppförandekodskommittén för Django Software Foundation.
En omröstning i styrgruppen.
Styrande råd¶
Roll¶
Styrgruppen består av en grupp erfarna medarbetare som:
tillhandahålla tillsyn över Djangos utvecklings- och lanseringsprocess,
hjälpa till att fastställa inriktningen för utveckling och lansering av funktioner,
välj Fusioner och avyttringar, och
ha en utslagsröst när andra beslutsprocesser misslyckas.
Deras främsta intresse är att upprätthålla kvaliteten och stabiliteten i Django Web Framework.
Företrädesrätt¶
Styrgruppen har följande befogenheter:
Att fatta ett bindande beslut i alla frågor som rör en teknisk förändring av Django.
Veto mot sammanfogning av en viss koddel i Django eller beordra återgång av en viss sammanfogning eller commit.
Utlysning av förslag och idéer för den framtida tekniska inriktningen för Django.
Välja och ta bort mergers och releasers.
Delta i avsättandet av medlemmar i styrkommittén, när så anses lämpligt.
Utlysa val till styrgruppen, utöver de val som utlöses automatiskt, vid tillfällen då styrgruppen anser att ett val är lämpligt.
Delta i att ändra Djangos styrning (se Förändring av organisationen).
Att avstå från att rösta i ett ärende som styrgruppen anser inte är moget för ett bindande beslut eller som styrgruppen anser ligger utanför dess befogenheter.
Ansvara för styrningen av andra tekniska team inom Django-projektet med öppen källkod och styra dessa team i enlighet med detta.
Medlemskap¶
”Styrgruppen” är en vald grupp bestående av fem erfarna medarbetare som visar:
En historia av väsentliga bidrag till Django eller Djangos ekosystem. Denna historik måste börja minst 18 månader före personens kandidatur till styrningsrådet och inkludera väsentliga bidrag i minst två av dessa punkter:
Kodbidrag till Django-projekt eller större tredjepartspaket i Djangos ekosystem
Granskning av pull requests och/eller triagering av Django-projektärenden
Dokumentation, handledning eller blogginlägg
Diskussioner om Django på Django Forum
Driva Django-relaterade evenemang eller användargrupper
En historia av engagemang i Djangos riktning och framtid. Detta behöver inte vara nyligen, men kandidater som inte har engagerat sig under de senaste tre åren måste ändå visa en förståelse för Djangos förändringar och riktning under dessa tre år.
Ett nytt råd väljs efter varje release-cykel av Django. Valprocessen fungerar på följande sätt:
Styrningsrådet ger en av sina medlemmar i uppdrag att skriftligen meddela sekreteraren för Django Software Foundation om att valet har utlösts och om de förhållanden som utlöste det. Sekreteraren skickar ett inlägg till lämplig plats - Django Forum för att tillkännage valet och dess tidslinje.
Så snart valet har utlysts inleder DSF:s styrelse en period av röstregistrering. Alla individuella medlemmar i DSF är automatiskt registrerade och behöver inte uttryckligen registrera sig. Alla andra personer som anser sig vara röstberättigade, men som ännu inte har registrerat sig för att rösta, kan göra en ansökan till DSF:s styrelse om rösträtt. Registreringsblanketten och röstlängden upprätthålls av DSF:s styrelse. DSF:s styrelse kan ifrågasätta och avvisa registreringen av väljare som den anser registrerar sig i ond tro eller som den anser har förfalskat sina kvalifikationer eller på annat sätt är okvalificerade.
Registreringen av väljare stänger en vecka efter tillkännagivandet av valet. Vid den tidpunkten börjar registreringen av kandidater. Varje kvalificerad person kan registrera sig som kandidat. Kandidatregistreringsformuläret och kandidatlistan upprätthålls av DSF:s styrelse och kandidaterna måste styrka sina kvalifikationer som en del av registreringen. DSF:s styrelse kan ifrågasätta och avvisa registreringen av kandidater som den anser inte uppfyller kvalifikationerna för medlemmar i styrningsrådet, eller som den anser registrerar sig i ond tro.
Registreringen av kandidater stängs en vecka efter att den har öppnats. En vecka efter att registreringen av kandidater har avslutats publicerar DSF:s sekreterare listan över kandidater på Django Forum och valet börjar. DSF:s styrelse tillhandahåller en röstningsblankett som är tillgänglig för registrerade väljare och är förvaltare av rösterna.
Omröstningen sker med hemliga valsedlar som innehåller kandidatlistan och allt relevant material om kandidaterna i slumpmässig ordning. Varje väljare får rösta på upp till fem kandidater på valsedeln.
Valet avslutas en vecka efter det att det påbörjats. DSF:s styrelse räknar sedan rösterna och gör en sammanfattning, inklusive det totala antalet avgivna röster och det antal som varje kandidat har fått. Denna sammanfattning ratificeras av en majoritet av DSF:s styrelse och publiceras sedan av DSF:s sekreterare på Django Forum. De fem kandidaterna med de högsta röstsiffrorna blir omedelbart det nya styrande rådet.
En ledamot av styrgruppen kan avsättas genom:
Bli diskvalificerad på grund av åtgärder som vidtagits av uppförandekodskommittén för Django Software Foundation.
Fastställande av att de inte hade de kvalifikationer som krävs för att vara medlem i styrgruppen. Detta beslut måste fattas gemensamt av de övriga medlemmarna i styrgruppen och DSF:s styrelse. Ett giltigt beslut om obehörighet kräver att alla övriga medlemmar i styrgruppen och alla medlemmar i DSF:s styrelse som kan rösta i frågan (den berörda personen får inte rösta om han eller hon är medlem i DSF:s styrelse) röstar ”ja” till ett förslag om att personen i fråga är obehörig.
Förändring av organisationen¶
Ändringar i detta dokument kräver användning av DEP-processen, med ändringar som beskrivs i DEP 0010.