Vrlo često, pošto sam ranousvajač tehnologija (early adopter), slušajući o ili testirajući neku novu aplikaciju dolazim u dodir sa kodnim imenima. Dugo sam kao entuzijasta za alfa i beta verzije Windows-a, i prateći razvoj raznih uniksoidnih distribucija, pre svega Ubuntu-a, saznavao nove načine na koje su razvojni timovi koristili kodna imena. Osnovavši Zamfir projekat, kodna imena su opet počela da svrbe. A gde te svrbi, tamo se počeši. Pa da počnem.
Šta su kodna imena?
Kodna imena su imena razvojnih projekata. Bitna razlika je ta što to nisu finalna imena. Kodna imena se koriste, uglavnom, za internu komunikaciju u toku razvoja projekta. Ko testira ili koristi probne verzije sigurno neće gledati belo u neka od sledećih imena: Longhorn, Leopard, Gran Paradiso, Metro, Precise Pangolin.
Ovo su neki od poznatijih primera kodnih imena u softverskoj industriji. Možda najbolji primeri kodnih imena i jesu imena Ubuntu izdanja i Windows operativnog sistema, kao što je u ovom slučaju Longhorn, koji je kasnije postao Vista.
Zašto se koriste?
Razdvajanje finalnog od internog imena
Kada razvijate neku aplikaciju npr. vi i vaš tim se uglavnom opredeljujete za neki naziv. To uglavnom radite mnogo pre nego li izađete na tržište, u samom početku razvoja. To ime proganja svako izdanje vaše aplikacije, pa tako ako radite na Java Kotarci, radićete, ako bude sreće i na Java Kotarci 1.2.
Međutim, vaš konkurent, špijuni velikih korporacija, a u nekim slučajevima i tašta znaće da, ako radite na Java Kotarci, vaša aplikacija sigurno ima neke veze sa skladištenjem vašeg digitalnog kukuruza i da je pisana u Javi. A tašti nije verovati. U vojnoj i policijskoj upotrebi, kodna imena akcija se smišljaju tako da odvedu na stranputicu one koji imaju maliciozne tendencije prema samom zadatku.
Tako Vi i vaš cenjeni tim, možete dati aplikaciji kodno ime Dobrila, po tašti, pa ćete ‘em zavesti oponente, ‘em laskavom titulom taštu naterati da vam u znak zahvalnosti spremi ručak. U ovom primeru, žensko ime ne odaje baš ništa o projektu, ni koja mu je namena, ni obim projekta, ni tehniku razvoja, ni podvrstu, recimo, da li je to desktop aplikacija, ili mrežni servis.
Napomena: Dobrila nije ime majke moje devojke. Moja tašta je opasna, a ja nisam toliko gladan.
Izgradite sliku projekta
Na primeru Microsoft-a i Ubuntu zajednice demonstriraću vam kako se gradi imidž na kodnim imenima. Oni su neprepišani vladari ove tehnike. Naime, kad je Microsoft objavio Longhorn nastala je epidemija neuračunljivosti među pratiocima, entuzijastima i onim, najgorim od sve dece, Microsoft apostolima, kako ih ja zovem, pandanom Apple fan-boys-ima. Ta umiljata bubuljičava škvadra lizala je svako slovo logoa od L do h, balaveći nad novim funkcijama kao što su Avalon, XAML, WinFS i ludački šareni korisnički interfejs. Kodno ime, donelo je slavu prozvodu koji nije bio objavljen. Da li bi se drugačije ponašali da su videli samo Build 4074? Verovatno. Nije lako vezati se za broj igradnje kao za jestivi logo i ime. Avaj, Longhorn, to je jedna tužna priča. Idemo dalje.
Canonical i Ubuntu imaju drugu filozofiju. Oni svako izdanje distribucije nazivaju po nekoj životinji uz pridev, abecednim redom. Imali smo razne, neki od njih su: Hardy Heron (Izdržljiva čaplja), Lucid Lynx (Lucidni Ris), Maverick Meerkat (Slobodoumni merkat) i trenutno u razvoju, Precise Pangolin (Precizni ljuskavac). Povrh svega, zajednica je ta koja bira kodna imena i ta kodna imena ostaju na kraju uz broj verzije. Ponekad ova strategija nama korisnicima približi neku novu životinju. Dobar primer kako su se kodna imena primila je i pesma skovana u srpskoj zajednici pred izlazak Maverick Meerkat izdanja:
Sa Lovćena vila kliče, đe si Merkat Maveriče.
Zabavite zajednicu i razvojni tim
Naposletku, i vaši programeri imaju dušu. Neki vole da se zabave, a neki jednostavno ne vole da kažu rade na Java Kotarci 1.5.7. U internoj komunkiciji i dokumentaciji objedinićete jedan proizvod i njegove izgradnje pod imenom koje nikome sa strane ništa neće značiti, zabavićete tim i zajednicu koja prati razvoj.
Ko ih kako koristi?
Na mreži postoje razni generatori kodnih imena na engleskom jeziku. Code Name Generator je jedan on njih. Međutim takav generator nećete naći na srpskom, pa ste prepušteni našoj narodnoj kreativnosti.
U velikim korporacijama postoje razni šabloni i pravila za kodna imena. Microsoft je često operativne sisteme nazivao po planinama ili planinskim centrima, Ubuntu kako sam već rekao po životinjama, Intel svoje procesore po rekama, Apple je revizije svog Mac OS-a nazivao po raznim vrstama mačaka, Mozilla ima praksu da naziva nove revizije Žarlije po nacionalnim parkovima, a svako izdanje prolazi kroz posebno nazvane faze dok ne postane izdanje za objavljivanje. Svi oni imaju strukturu i podelu, pa recimo internet servisi dobijaju kodna imena na jedan način, operativni sistemi na drugi, aplikacije za baze recimo na treći, itd.
U našim projektima, recimo, primenili smo kombinaciju svih dosad viđenih fazona, sa našim lepim jezikom, pa smo postigli i nerazumljivost uz sve ostalo. Ako kodiramo softverske projekte jednog tipa sa srpskim ženskim imenima, što ćemo i činiti, Dobrila, Radojka, Srbislava i ostale devojke neće ni najmanje navoditi na projekat u bilo kom smislu. Naravno, u našoj lepoj zemlji i jeziku puno je inspiracije, od imena reka, planina, jezera i ostalih geografskih toponima, istorijskih ličnosti i događaja, pa do ličnih imena. O tome neki drugi put.
Dakle da zaključimo…
Videli smo primere, objasnili smo njihov značaj. Zaključak je:
- Kodna imena su važna zbog toga što ne navode konkurente na tehnike razvoja, upotrebu i zaštićeno ime proizvoda koji se razvija.
- Uđite u mozak korisnika. Time što potkrepljujete maštu ljudi, postavljate delimične ili probne prikaze proizvoda, stvarate zajednicu koja iščekuje proizvod, gradite imidž nekoga ko uvek ima neku zagonetku i novotariju da prikaže. Korisnici stvaraju sliku proizvoda pre objavljivanja.
- Glavni igrači na tržištu to rade. Možda oni i razvijaju više od vas, ali to nikako ne poništava vaše pravo da budete kreativni i zaštitite proizvod.
- Ne budite dosadni. Kodna imena mogu biti i dobar za tim kao team building tehnika. Možete ih koristiti u internoj dokumentaciji, a možete ih plasirati u otvorenu zajednicu, ako ste kao mi posvećeni otvorenom kodu.
- Napravite podelu i strukturu. Izaberite vrste aplikacija i servisa koje će imati kodna imena iste vrste. Dajte kodna imena pod-projektima jer oni nisu manje bitni zato što su izvedeni iz nekog većeg projekta.
Nekima kodna imena ne znače ništa, nekima su opsesija. Ipak, složićemo se da je ovakvo imenovanje dobra praksa iz već navedenih razloga. Uostalom, ne gubite ništa, a doza kreativnosti nije ubila nikoga. Valjda.
Kao i uvek, željno iščekujem vaše komentare.
Pesma koja se slušala tokom pisanja:
Empire Of The Sun – Walking On A Dream*
Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.
Oznake:codename, dobrila, sifre, kodna imena, programiranje, razvoj
Datum objavljivanja:
sreda, februar 22, 2012 u 17:40
u kategoriji Programiranje.
Možeš pratiti komentare kroz RSS 2.0 potoka.
Možeš komentarisati ili preputiti sa tvog sajta.

