← Back to front page

Posted on in Drupal

Drupal-kehittäjä Daniel F. Kudwien kirjoittaa Drupal 7:n tilanteesta. Mielenkiintoisesti Drupal-projektin käyttämä CVS, joka alkaa olla versiohallinnassa melkoinen muinaisjäänne, on osoittautunut pullonkaulaksi projektin hallinnassa. CVS:llä on ilmeisesti niin vaikea hallita mergejä branchien välillä, että Drupalista ei saada tehtyä rinnakkaista "feature freeze" -versiota, vaan uusien ominaisuuksien kehitys pitää pysäyttää kokonaan.

Drupal 7 code freezestä on puhuttu jo aika pitkään, mutta taitaa olla vaikeaa saada innostuneet kehittäjät pysäyttämään kehitys ja keskittymään bugien korjaamiseen. Esimerkiksi Gitiin siirtyminen voisi auttaa Drupal-projektia tekemään molempia yhtäaikaa.

5 Comments
Ossi 31.8.2009 10:48:55

Tämä kyllä kuulostaa paljon enemmän tyypilliseltä Open Source -häröilyltä kuin työkaluongelmalta. Drupal kärsii siitä, että projektilla ei ole riittävän munakasta johtajaa, joka sanoisi koodaajille "FEATURE FREEZE, NYT".

Koodaajia ei pidä päästää vapaasti mellastamaan uusien ominaisuuksien luonnin parissa ennen kuin vanhat viat on korjattu. Eivät ne vanhat bugit ole ennenkään koodaajia kiinnostaneet - heillä on jo uudet hienot ominaisuudet työn alla.

Loppukäyttäjiä sitä vastoin ne kiinnostavat hyvinkin paljon.

kennu 31.8.2009 11:40:56

Tuolla meiningillä open source -projektilla voi olla hyvinkin munakas johtaja, mutta ei sitten enää yhtään pätevää koodaajaa jäjlellä ;-)

Ossi 31.8.2009 15:01:10

Totta. Sitähän siellä pelätäänkin.

Featurefreezet kuitenkin onnistuvat useissa korkean profiilin Open Source -projekteissa. Esimerkkeinä nyt vaikka Firefox, Debian, Ubuntu -- ja tietyti BSD.

kennu 6.9.2009 02:50:43

Onko noissa projekteissa oikeasti joskus tehty feature freezejä, vai vaan stabiileja brancheja?

Vaikea kuvitella, että minkään mainitsemasi projektin kehitys pysähtyisi täysin silloin, kun niistä tehdään releaseja..

Vesa Palmu 11.9.2009 10:57:00

Kyse on vähän työkalu-, mutta pääosin työtapaongelmista. Drupal on nyt päätynyt loputtomasti venyvään julkaisukierteeseen. Suuren osan contrib moduuleista rikkovia isoja API muutoksia tehdään vain major releaseissa ja uusiin major releaseihin halutaan yhä enemmän uusia featureja mukaan. Uudet featuret vaativat kattavan API:n jota muutkin moduulit voisivat hyödyntää ja kehittäjäaikaa näiden tekemiseen kunnolla ei vain tahdo löytyä. Seiska tullaan jälleen julkaisemaan pahasti keskeneräisenä, eikä osaa sen keskeisistä ongelmista voida korjata kuin aika rumilla häkkäyksillä.

Nykyistä tilaa on yritetty korjata tekemällä osittaisia forkkejä Drupalin coresta. Hyvä esimerkki tästä on Four Kitchensin Pressflow johon on backportattu runsaasti kamaa D7:sta. Nämä forkit kuitenkin pidemmän päälle uhkaavat lähteä täysin omille teilleen rikkoen pahimmillaan aika rumasti nyt loistavasti toimivaa yhteisöä. Tällä hetkellä tilanne on kuitenkin vielä aika hallussa eikä yhteisössä ole ratkaisevia erimielisyyksiä.

Kovin hyvä ratkaisu tähän ei ole väkisin komentaa code freezeä liian aikaisin. Jos tuote ei ole featureiltaan ja apeiltaan kasassa on jäädyttämistä vaan pakko venyttää. Nyt freeze lopulta on tulossa ja se alkaa puolittaisella jäädytyksellä ensi maanantaista. Varsinainen freeze tulee vasta viiden viikon päästä ja senkin jälkeen tiettyjä poikeuksia sallitaan edelleen.

Ulospääsyä nykyisestä kierteestä haetaan kuitenkin jo aktiivisesti. Oma veikkaukseni tulevaisuudesta on se, että Drupalin ydin menee yhä pienemmäksi sisältäen erittäin vähän käyttöliittymäkomponentteja. Pelkiltään loppukäyttäjälle käyttökelvotonta ydintä täydennetään sitten distribuutioilla jotka paketoivat valmiita featureja (ks. features moduuli) coren päälle. Pientä apua saataisiin myös vaikkapa gittiin siirtymisestä ikivanhan CVS:n sijaan, mutta työkaluilla ei koskaan voida ratkaista alla piileviä prosessiongelmia.

Comments are closed.