Tanulni sosem szégyen, úgyhogy állok is sorba felhomályosításért :) !
Legjobb tudomásom szerint az 'oss' az 'open source software', azaz nyílt forrású szoftver fogalmát jelenti, annak a specifikus fejlesztési metodikájával egyetemben (ld. katedrális és bazár), melynek egyik jellemzője, hogy nincs központosított feladatkiosztás, hanem az önkéntes fejlesztők a saját szájuk íze szerinti problémákkal foglalkoznak, azt szintén a nekik tetsző módon oldják meg, aztán a projekt gazdája ezen javításokat vagy beleveszi a kódba, vagy visszadobja.
Természetesen van tudomásom pénzes alapon és céges környezetben fejlesztett oss projektekről is, viszont tagadhatatlan, hogy ezek száma eltörpül a fent leírt össznépi fejlesztéseké mellett.
Nomármost, az is elég jellemző, hogy pl. egy pár kisebb leak mellett alapvetően működő, közösen fejlesztett programban ezen leakeket levadászni sokkal kevésbé hálás feladat, mint pl. új ötleteket, megoldásokat belefejleszteni, olyannyira, hogy én még olyan emberrel nem találkoztam, aki úri passzióból elkezdett volna más után csikket szedni a kódban.
Hasonló a helyzet a több aszinkron dolog együttállásakor bekövetkező ún. Heisenbugokkal is, megfejelve azzal, hogy ezeket már reprodukálni ill. ellenőrizni is külön felér egy farfekvéses sünnek a világra hozatalával.
Figyelembe véve a fentieket, egy (mazochistamentes) közösség által fejlesztett projekt előbb-utóbb a használhatatlanságig/karbantarthatatlanságig veszít a stabilitásából már csak a fent leírt okokból is. Rendszerint ekkor indul új projekt '-ng' utótaggal vagy növekszik a főverziószám a kódbázis teljes újraírása miatt, jelentve némi haladékot az entrópia növekedésének folyamatában...
Külön hab a tortán az önkéntes közösségi fejlesztések koordinálásakor a tervezési döntéshozatal keresztülvitele, ugyanis amíg még semmi sincs kőbe vésve, addig ahány fejlesztő van, annyiféle koncepciót lát helyesnek, értelemszerűen a szuboptimálistól a 'bullshit'-ig terjedő skálára helyezve a többiek meglátását. Na ebből vitatkozáson és sértődésen kívül mást várni fölösleges, ui. nincs lehetőség tekintély-elven felülbírálni az egyéni véleményeket ('így lesz, mert én vagyok a főnök').
Ezért aztán a működő oss projektek nagy részére jellemző, hogy az első verzió a közösség elé úgy kerül, hogy a projektgazda már nagyjából leimplementálta, meghatározva annak a felépítését, így a többiek már egy kész vázra építgethetik a saját kódjukat. Ennek viszont az a veszélye, hogy maga a tervezés egy emberen múlott, így be van korlátozva annak az előrelátó képessége által.
Szóval a fentiek okán érzem az oss fejlesztéseket különösen hajlamosnak a nem kritikus hibák kritikus szintre való halmozására, valamint a kezdeti koncepció kiforratlanságára, és ezen két okból az általános instabilitásra.
Nos, jól látom-e tehát 'az oss fogalmát', és ha nem, akkor miben tévedek?
Ui.: persze ha itt oss alatt "Ofte Stillede Spørgsmål"-t értünk, ami dánul FAQ-t jelent, akkor vissza az egész :)...