Szubjektív gondolatok Németh Viktor

Eric S. Raymond: A katedrális és a bazár

c. tanulmányához írt ismertetője kapcsán


Nem venném a bátorságot, hogy bármit is hozzá tegyek Németh Viktor recenziójához, mindössze az általa ismertetett tanulmány tágabb kontextusba helyezésére tennék kísérletet. Meglepő módon A katedrális és a bazár egy laikus, a nyílt és zárt forráskódú szoftvereket csak hallomásból ismerő számára is élvezhető, mi több továbbgondolkodásra késztető írás. A pontokba szedett "tanulságok" - kis átértelmezéssel - olyan problémamegoldó eljárások kulcsmozzanatait tartalmazzák, amelyek adaptálása - akár - társadalmi problémák megoldásában is sikerrel járhat. Az alábbiakban az eredeti mű néhány megfogalmazásának "átfordítása" következik.

1. Minden jó szoftver egy fejlesztő személyes vágyainak kielégítésével kezdődik.

Ha kiindulópontként elfogadjuk, hogy a szoftver egy munka, eljárás, stb. kézzelfogható eredménye és fejlesztőnek hívunk mindenkit, aki jobbító szándékkal, a megoldás keresésével közeledik egy adott problémához, akkor elmondhatjuk, hogy egy probléma megoldásának esélyét növeli, ha a probléma megoldásában résztvevő motivációja - többek között - a személyes érintettség.

2. A jó programozók tudják mit írjanak. A nagyok azt is tudják, mit írjanak (és használjanak) újra.

A sikeres problémamegoldás egyik alapfeltétele az eddig alkalmazott eljárások alapos ismerete, értve ez alatt a már bevált módszerek és hasznosítható tapasztalatok megtartását az idő- és energiafelhasználás optimalizálása érdekében.

4. Megfelelő attitűd mellett az érdekes problémák megtalálnak.

Érdekesnek tekinthető - az előzőekben vázoltak alapján - minden olyan probléma, amely a megoldót személyesen érinti. Megfelelő attitűdnek nevezhetjük azt az erőfeszítést - életformát? - amely szándékosan, akár a mindennapok, akár a tudományosság szintjén keresi a megválaszolatlan kérdéseket, megoldatlan problémákat, nem térve ki előlük, sőt mi több, eléjük menve.

6. A gyors kódfejlesztés és a hatékony hibakeresés felé vezető legkönnyebb út a felhasználók társfejlesztőként való kezelésén át vezet.

A problémamegoldás (kódfejlesztés, hibakeresés) egyik lehetséges módja, hogy az ágens nem kizárólag saját felkészültségével, hanem más ágensek - az övétől eltérő - felkészültségének felhasználásával jut eredményre. A hatékonyságot a közössé tett, s ezáltal minden résztvevő ágens számára saját felkészültséggé váló többlettudás biztosítja.

12. A leginkább megdöbbentő és innovatív megoldások gyakran annak a felismeréséből származnak, hogy hibás volt a probléma felfogása.

Amikor a hozzászólás elején arra utaltam, hogy a katedrális és bazár típusú fejlesztési stílus - akár - társadalmi problémák megoldása során is hasznosítható, többek között a fent idézett pontra gondoltam. Akár családi, akár munkahelyi, akár sürgető társadalmi problémák megoldásán gondolkodunk (vagy gondolkodnak mások), egyik alapélmény(ünk) az egy helyben topogás érzése. Rövid pórázra kötött kutyaként keringünk egy bebetonozottnak hitt oszlop körül, s akármerre keressük, a megoldás csak nem kerül elő. Jó ötletnek tűnik, ha a problémamegoldó ágens egy bizonyos idő eltelte után, a hatékonyság növelése érdekében nem az elérhető felkészültségek hiányának pótlásán gondolkodik, hanem az alapkérdést, tudniillik mi a probléma, teszi fel újra. Az innováció - ily' módon - nem csak válaszként, tehát egy problémára adott megoldásként, hanem "alkotó" kérdésként is értelmezhető.

18. Egy érdekes probléma megoldásához találj először egy olyan problémát, amely számodra érdekes.

Az eredeti mű utolsó pontja tartalmilag teljesen megegyezik az elsővel. Erre a szerző is utal, s talán a keretes szerkezet sem véletlen. A problémamegoldás feltétele, hogy az ágens problémának érzékelje azt a valamit, amit meg kell oldania. Mivel problémája csak az ágensnek lehet, (emberi ágens esetén) köznapibban úgy is fogalmazhatunk: probléma az, ami személyesen érint. Személyes érintettségen érthetjük a feladat kínálta kihívást is, így a probléma szó megfosztódik attól a negatív felhangtól, amelyet a beszélt nyelvben rejtett vagy explicit módon mindig érzékelünk. Ami viszont benne marad, az annak a viszonynak a megfogalmazása, amely ágenst és problémát összeköt, vagyis valami érzelmi töltetet, amely nélkül a probléma nem probléma, legfeljebb megoldandó feladat csupán.

Bár a katedrális és a bazár eredeti értelmében fejlesztési stílusokat ír le, nem igényel túl nagy képzelőerőt annak belátása, hogy az élet egyéb területein is alkalmazott módszerekről van szó. Látva a nyílt forráskódú szoftverek terjedésének sebességét feltételezhető, hogy a bazár típusú rendszer jól működő, elégedett fejlesztők és felhasználók közössége, megfontolandó tehát a módszertan átemelése a társadalmi problémák megoldásának elősegítése érdekében.

 

Készítette: Jankovich Krisztina
2010. január