Olen harkinnut Debian-kehittäjäksi pyrkimistä kahteen otteeseen. Debian-kehittäjiksi (Debian Developer) kutsutaan niitä ihmisiä, tai oikeastaan PGP-avaimia, joilla on oikeus käyttää Debian-projektin yhteistä infrastruktuuria ja äänestää Debian-valtiossa.
Ensimmäisen kerran kiinnostuin tosissani tästä ajatuksesta muistaakseni vuonna 2002, toinen kerta on nyt (=2005). Ensimmäisellä kerralla en koskaan päässyt niin pitkälle, että olisin oikeasti ottanut yhteyttä johonkuhun Debian-kehittäjään homman edistämiseksi. Tämä ei johtunut laiskuudesta, vaan kahdesta merkistä.
Ensinnäkin näihin aikoihin Debianin sähköpostilistoilla kävi uskomaton sanasota, jonka oli saattanut alulle kehittäjäksi pääsemistä odotteleva henkilö. Hän oli odottanut viimeisen vaiheen toteutumista (tunnusten perustamista) pitkän aikaa, ei tiennyt, miksi asia ei etene, ja ilmaisi turhautumisensa. Ilmeni, että ongelma oli yleinen, että eri ihmiset suhtautuivat siihen eri tavalla, että eri hakijat olivat kohdanneet todella erilaista kohtelua, ja että suuri osa Debian-kehittäjistä koki nämä asiat ongelmallisiksi niistä kuullessaan. Oli siis selviä merkkejä siitä, ettei Debian-kehittäjäksi hakeminen olisi kovin palkitsevaa.
Toisekseen tämän keskustelun ohessa ja muutenkin tuli ilmi monta tapaa, joilla Debianiin voi osallistua, vaikkei olekaan Debian-kehittäjä. Tajusin, että minäkin voin osallistua Debianiin ihan hyvin kirjoittelemalla bugiraportteja, ehdottamalla parannuksia, ja paketoimalla omaan tarpeeseeni tulevat ohjelmat itse, vaikken niitä Debian-jakelun osaksi saisikaan. Tätä olenkin aikani ja tarpeitteni puitteissa tehnyt.
Ajan myötä nämä molemmat syyt ovat himmenneet. Debian-kehittäjäksihakuprosessi kuuluu nykyään taas "toimivan"; ja monet tärkeät ihmiset Debian-projektissa pitävät kehittäjäksi hommautumisen helpottamista ensiarvoisen tärkeänä. Toisaalta, olen tajunnut, että Debian-kehittäjällä on oikeuksia (ja velvollisuuksia), joita muilta puuttuu.
Debian on minulle tärkeä projekti, ja minusta on väärin, etten saa äänestää Debianin äänestyksissä. Äänelläni ei ehkä ole kovin paljon väliä, mutta on väärin, jos ainoa syy ääneni pois sulkemiselle on se, etten ole käynyt läpi pitkällistä ja hankalaa hakuprosessia. Toisekseen, vaikka olen voinut tyytyväisenä käyttää itse tekemiäni paketteja, on niiden saaminen viralliseen Debian-jakeluun kuitenkin hyvä asia sekä minulle että näiden pakettien käyttäjille. Ei-kehittäjänä minun on löydettävä näille paketeille sponsori, joka vie ne Debian-jakeluun puolestani ja tarkistaa, että ne täyttävät laatuvaatimukset. Tämä on iso vaiva sekä minulle että mahdolliselle sponsorilleni: minulle siksi, että koska vaiva on sponsorille iso, sponsoreita on vaikea löytää. Jos olisin kehittäjä, vaiva säästyisi molemmilta.
Vielä tärkeämpää on se, että vaikka ideaalitilanteessa kehittäjyyteen ei liitykään minkäänlaista etuasemaa, huomaan tai kuvittelen siellä täällä Debianissa näkeväni kaksoisstandardeja. Debian-kehittäjien ja ei-Debian-kehittäjien kommentteihin suhtaudutaan eri tavalla. Ei-kehittäjien paketteihin ei voi "luottaa" ja siksi niille ei tarjota Debianin paketinlevitysinfrastruktuuria. Ei-kehittäjien paketteja tarkastelevat sponsorit paljon tiukemmalla seulalla kuin kehittäjät omia pakettejaan keskimäärin. Kehittäjiksi haluavien pitää _sitoutua_ Debianin keskeisiin manifesteihin, kehittäjät voivat _muuttaa_ niitä äänestyksillä.
On kuin sekä vapauden että meritokratian ideaalit pätisivät vain kehittäjiin: kehittäjänä saat huolehtia omista paketeistasi haluamallasi tavalla (kunhan et vahingoita kenenkään muun työtä) ja arvosi mitataan työllä, jonka olet tehnyt projektin eteen; ei-kehittäjänä työsi on itsestäänselvästi muiden arvosteltavana ja on sosiaalisista taidoista kiinni, saatko koskaan tehdyksi työtä projektin eteen. Sekä keskeisten manifestien tunnustaminen että jäsenille lirkuttelu pakettiensa sisään saamiseksi muodostavat kehitystä ja muutosta estäviä muna ja kana -ongelmia, joita aidossa, toimivassa meritokratiassa ei koskaan saisi olla.
Haluan siis olla Debian-kehittäjä: tämä on minulle sekä statuskysymys että tekninen. Haluan olla osa sitä projektia, joka kuumeisesti tutkii ja asettaa sosiaalisia ja teknisiä standardeja maailmanlaajuiselle hajautetulle työlle ja laadulliselle erinomaisuudelle. Mutta toisaalta koko Debian-kehittäjän käsite on perseestä ja haisee. Ei liene mitään järkevää syytä, miksi kaikki Debian-kehittäjän etuoikeudet on liitetty yhteen. Tällaiset selkeät rajaukset eri joukkoihin ovat vain omiaan luomaan hierarkia-asetelmia, jotka sekä rikkovat vapauden ideaalia että aiheuttavat paljon turhaa työtä. Sillä uusien kehittäjien koetteluun kuluu todella paljon työtä, myös niiltä jo-kehittäjiltä, jotka ovat päättäneet auttaa uusia pääsemään sisään. Katsokaa prosessin kuvausta Debianin sivuilta, niin saatte jonkinlaisen aavistuksen.
Debianissa puhutaan vähän väliä siitä, onko projekti aito, avoimesti toimiva asiantuntijaorganisaatio vai onko siinä sisäpiirejä. Väitetään, että toiminnan /avoimuus/ estää sisäpiirien synnyn. Yleensä nimenomaan jonkin päätöksen valmistelun sijoittuminen liian pieneen piiriin ja/tai väärään paikkaan on sisäpiirisyytösten takana. Mutta tämä ei ole mielestäni olennaisinta sisäpiiriongelmassa.
Debian on valmiiksi täynnä sisäpiirejä. Kehittäjät ovat sisäpiiri, pakettiarkiston ylläpitäjät (ftpmasters) ovat sisäpiiri, mentorointiin osallistuvat ovat sisäpiiri, hallinnollisten tehtävien hoitajat ovat sisäpiiri, sähköpostilistojen ylläpitäjät ovat sisäpiiri. Tätä ei estä se, että he tiedottavat käytäntöjen muuttumisesta julkisesti eikä edes se, että jokainen poliittinen muutos valmistellaan yleisellä keskustelulla. Sisäpiiriksi heidät tekee se, että heillä on _yksittäisissä sosiaalisissa/teknisissä tilanteissa_ suuri valta piirin ulkopuoliseen ihmiseen. Se rikkoo vapauden ideaalia ja vaarantaa päätöksenteon professionalismin.
Järjestelmää pitäisi uusia monilla radikaaleilla tavoilla. Käsittääkseni ainoa syy tehdä ihmisille tällaisia initiaatioportteja on luottamuksen saavuttaminen: sosiaalisten statusten suhteen tarvitaan luottamusta siitä, etteivät nämä tee ilkeyttään, ymmärtämättömyyttään tai taitamattomuuttaan vahinkoa Debianin käyttäjille tai muille kehittäjille; teknisten sijaintien suhteen tarvitaan luottamusta siitä, etteivät nämä kämmää tehtäviään eivätkä väärinkäytä valtuuksiaan. Mutta on selvää (historiallisesti), että suuren mittakaavan projekteissa keskinäisesti luotettu veljeskunta ei ole oikea keino tämän saavuttamiseen. Missä vain havaitaankin kiusaus jättää jokin tärkeä päätöksenteko hyväntahtoisten diktaattorien valtaan, pitää tutkia, miten kyseinen homma voidaan teknisesti avata siten, että vapaus pääsee toteutumaan. Luottamuksen mittaamiseen on nimittäin muitakin keinoja kuin asemansa jo saavuttaneiden mielipide (tai sen puute).
Otetaan muutamia esimerkkejä.
(1) Pakettien lataaminen Debian-jakeluun. Luottamuserottelua ei tarvitsisi tehdä sen mukaan, mikä paketti on päässyt pakettiarkistoon, vaan Debianin pakettityökaluihin voisi rakentaa mekanismit pakettien luotettavuuden arvosteluun sen perusteella, kuka, eli mikä PGP-avain, on ne allekirjoittanut. Näin luotettavuuden arvioinnin voisi perustaa vertaispalautteeseen ja työn laatuun sen sijaan, että luotettaisiin sisäpiirin mielipiteeseen.
(2) Toisen kehittäjän pakettien korjaaminen (NMU). Tällä hetkellä Debianissa pidetään loukkaavana, mikäli tuosta vain ottaa toisen kehittäjän paketin, korjailee sitä, ja panee tulokset jakoon. Tämä johtuu mm. siitä, että kehittäjälle saattaa tulla lisävaivaa näiden muutosten saamisesta yhdistetyksi omiin paketointisysteemeihinsä. Ongelman ratkaisee täydelleen se, että eri kehittäjät voivat tarjota samasta paketista _yhtaikaa_ omia versioitaan. Käyttäjät voivat tällöin valita (ja käyttää luottamusmekanismeja selvittääkseen), minkä paketin haluavat asentaa, ja kehittäjät voivat tuoda toisiltaan hyviksi katsomiaan muutoksia tai olla tuomatta.
(3) Kehittäjäksi pyrkiminen (NM). Kehittäjästatuksen voisi lopettaa kokonaan. Tilalle voisi tuoda erilliset oikeudet äänestää, käyttää Debianin eri infrastruktuuripalveluita jne. Edelleen infrapalvelut (kuten tunnukset Debianin palvelimilla) voitaisiin myöntää tarvekohtaisesti ja taas poistaa väärinkäytösten yhteydessä. Lisäksi eri palveluilla voisi olla eri käytänteet käyttöoikeuksien myöntämiseen. Mitä äänestämiseen tulee, vahva identifikaatio (eli PGP-avaimen allekirjoituttaminen ennastaan tunnetulla jäsenellä) pitäisi mielestäni olla riittävä kriteeri.
Tuli mieleeni, että tavallaan tässäkin ovat liberalismi ja yhteisöllisyys vastakkain. Tällä hetkellä pakettien lisäämisessä pitää noudattaa monimutkaisia ja (varsinkin ei-kehittäjälle) hankalia proseduureja. Tähän kuuluu mm. ITP-bugiraportin (intention to package) kirjoittaminen ja sen postittaminen debian-devel-postituslistalle. Jos paketit voisi vain lisätä arkistoon ja sitten käyttäjät voisivat päättää omilla kriteereillään, haluavatko asentaa niitä, olisi homma paljon yksinkertaisempi ja helpompi, sekä kehitys nopeampaa. Toisaalta täytyy myöntää, että on mukavaa, kun ITP-raporteista tulee kommentteja ja RFS-kyselyihin (request for sponsorship) vastataan -- vaikkei kukaan olekaan vielä lupautunut sponsoroimaan pakettejani. Siitä, kun joku antaa asiallisia, tai mikä vielä parempaa, teknisiä parannusehdotuksia jotka liittyvät nimenomaan sinun pakettiisi, tulee sellainen olo, että ihmiset välittävät (ainakin omalla vähäisellä tavallaan) tekemästäsi työstä.
Saapa nähdä, muuttuuko ääni vielä kellossa, jos ei niitä sponsoreita tunnu löytyvän...
Mielenkiintoinen päivitys on se, että kehittäjämallia ollaan mahdollisesti avaamassa. Tämä on enemmän hallinnollinen ja vähemmän tekninen muutos, ja on mielenkiintoista nähdä, miten äänestyksessä käy:
http://lists.debian.org/debian-devel-announce/2008/10/msg00005.html
kategoria: projektit kategoria: keskeneräiset