^
Sisällysluettelo
<<Vapautetut I: Netscape/MozillaVapautetut III: Quake>>

Vapautetut II: InterBase/Firebird

Borland tuli 90-luvulla tunnetuksi hyvistä ohjelmointityökaluistaan. Itsekin tein ensimmäisen Java-sovellukseni ilmais-CD:ltä saamallani Borlandin JBuilder-ohjelmalla. Syistä joita kukaan ei vieläkään tunnu ymmärtävän, tämä maineikas yhtiö joutui 90-luvun loppupuolella kuitenkin jonkinlaiseen identiteettikriisiin. Jonkinlaisessa brändinluontitarkoituksessa se yhtäkkiä muutti nimekseen Inprise. Kun kohta tämän jälkeen kävi selväksi, että kukaan ei ollut ikinä kuullutkaan Inprise-nimisestä yrityksestä ja kaikki edelleen kutsuivat Borlandia Borlandiksi, yhtiön johto päättikin muuttaa nimeksi Inprise/Borland.com ja kohta sen jälkeen Borland/Inprise38 ja lopulta takaisin tuttuun ja turvalliseen Borlandiin. Kaikista hulluista IT-alan tarinoista joita 2000-luvun taitteesta on kerrottu, tarina Borland-Inprise-Borlandista on mielestäni skitsofreenisin.

Yksi Borlandin tuotteista, jonka se oli ostanut itselleen vuonna 1991, oli SQL-tietokanta nimeltä InterBase. (InterBase itse oli syntynyt jo vuonna 1984.) InterBase ei ollut suurten serkkujensa Oraclen ja IBM DB2:n veroinen, mutta pienemmässä tietokantakäytössä kuitenkin suhteellisen yleinen.

Juuri ennen vanhan vuosituhannen päättymistä, joulukuussa 1999 tämä Borlandin39 ammattitaitoinen ja määrätietoinen johto ilmoitti InterBasen kehittäjille, että sen kehitys oli päätetty lakkauttaa. Ilmeisesti johto ei ollut tyytyväinen InterBasen tuottamaan voittoon, jota kuitenkin kuulemma oli. Tuote ei siis ollut tappiollinen, mutta oli syystä tai toisesta päätetty kuitenkin lakkauttaa.

Borlandin asiakkaita päätös ei miellyttänyt. Sellaiset suuret asiakkaat kuten Nokia ja Motorola käyttivät InterBasea laajasti ja tärkeissä projekteissa, ja olivat jopa valmiit ostamaan koko InterBase-osaston Borlandilta, jos muu ei auttaisi. Kun näin isot asiakkaat tarpeeksi monta kertaa kovistelivat Borlandia, Borland lopulta taipui kompromissiin. Se päätti julkaista InterBasen Open Source -lisenssillä.

Ja sen pituinenko se? Mitä vielä, tarinahan on vasta alkamassa.

Kun Borlandin johtajat lopulta tajusivat kuinka vahvasta tuotteesta olikin kysymys, he tulivat yhtäkkiä katumapäälle. Kyllähän näin hyvää tuotetta kannattaisi myydä jatkossakin, kun isot asiakkaat tulevat oikein rahasäkkien kanssa vaatimaan sen myymistä. Samalla kun ensimmäinen Open Source -versio, InterBase 6.0 julkaistiin, Borland alkoikin vetäytymään hankkeesta. Open Source -versiolle ei yhtiön puolesta myönnetykään minkäänlaista takuuta tai tukea ja kaiken kaikkiaan yhtiö palasi vanhaan ja hyväksi havaittuun suljettuun malliin, veloittaen asiakkaitaan yksi lisenssi per kone -periaatteella.

Tästä sekavasta ja osin huvittavastakin tarinasta syntyi Firebird, InterBasen aidosti avoin Open Source -versio. Firebird-projektin ympärille kerääntyi joukko ohjelmoijia, jotka olivat saaneet tarpeekseen Borlandin poukkoilusta ja päättivät jatkaa avoimen version työstämistä omin päin. Borlandin omat ohjelmoijat eivät osallistuneet Firebirdiin, mutta mukana oli joitakin Borlandin ulkopuolisia guruja, jotka olivat jo 80-luvulta asti työskennelleet InterBasen ensimmäisten versioiden parissa sekä muita InterBasen parissa toimineita ohjelmoijia ja konsultteja.

Firebirdin ensimmäiset vuodet muistuttavat monilta osin Mozillan tarinaa. Kun suljetun ohjelmiston koodi julkistetaan, paljastuu yleensä kerralla kaikki se roska, mikä vuosien saatossa on kaikessa hiljaisuudessa lakaistu maton alle. Ensimmäisiä yllätyksiä oli varmasti se, että InterBasen koodin kääntäminen ajettavaksi ohjelmakoodiksi on kuuleman mukaan tuottanut monta tuhatta erilaista varoitusta mahdollisista virheistä koodissa. Nämä "kääntäjän varoitukset" eivät välttämättä ole vielä vakavia virheitä eivätkä yleensä estä ohjelmaa toimimasta, mutta se että niitä on ollut tuhansia kertoo jotain asenteesta, jolla ohjelmoijat ovat työskennelleet.

Kun ohjelmaa kehitetään alusta asti avoimesti, ei tilanne yleensä pääse kehittymään niin pahaksi kuin InterBasen ja Mozillan tapauksessa. Suljettujen ohjelmistojen kehityksessä on kiusaus mennä yli siitä, missä aita on matalin. Virheistä ei välitetä, vaan jos ohjelma kuitenkin kääntyy ja käynnistyy ja näyttää päällisin puolin toimivalta, se pistetään oitis myyntiin. Open Source -ohjelmien laadun taas jokainen pystyy itse toteamaan ja tekijöiden henkilökohtainen mainekin on vaakalaudalla. Julkisuudessa työskentely asettaa riman korkeammalle.

Myös Firebirdin hakkerit siis joutuivat ensimmäisen vuoden ajan toimimaan lähinnä siivousprojektina. Ja suursiivouksen aikana tulisi kaapista löytymään vielä todellisia luurankoja.

InterBasessa, kuten tietokantatuotteissa yleensä, on mahdollista määritellä eri käyttäjätunnuksia ja näille käyttäjille erilaisia oikeuksia. Tietokannan ylläpitäjällä voi olla oikeus tehdä mitä vaan, sihteerillä voi olla oikeus lisätä ja poistaa tietueita ja muilla käyttäjillä ainoastaan oikeus lukea tietoja, mutta ei muuttaa niitä. Käyttäjätunnukset ja salasanat sekä tiedot siitä, kenellä mitäkin oikeuksia on, pitää luonnollisestikin tallettaa johonkin, jotta tietokantaohjelma voi niitä käyttää.

Tietokantatuotteen tapauksessa ohjelmoija on sikäli onnekkaassa asemassa, että tietokantaahan juuri voidaan käyttää käyttäjätietojen tallettamiseen! Ja niin oli InterBasen tapauksessa tehtykin. Vaan tällainen järjestely johtaakin mielenkiintoiseen muna-kana ongelmaan. Jotta tietokannan tietoihin pääsisi käsiksi, pitää ensin tarkistaa käyttäjätunnus ja salasana. Mutta käyttäjätunnus ja salasana onkin talletettu tietokantaan, johon ei pääse käsiksi ennen kuin on ensin tarkistettu käyttäjätunnus ja salasana!

Miten sinä ratkaisisit tällaisen ongelman? Ratkaisuja on varmasti monia, mutta ratkaisu johon Borlandin ohjelmoijat päätyivät vuonna 1992, on varmasti kaikkein suoraviivaisin. InterBaseen lisättiin (ns. "kovakoodattuna") ylimääräinen käyttäjätunnus ja salasana, jolla oli kaikki oikeudet kaikkiin tietokantoihin! Tätä käyttäjätunnusta käytettiin InterBasen koodissa sisäisesti ohittamaan muna-kana ongelma, eli tarkistamaan varsinainen käyttäjätunnus ja salasana. Mutta nyt kun koodi oli avoin40 ja kaikki tarkistukset ohittava salasana kaikkien tiedossa, sitä pystyi käyttämään myös kenen tahansa tietokantaan murtautumiseen.

Myös toinen lähes yhtä iso mörkö löytyi. Testausta helpottamaan Borlandin laaduntarkkailuosasto oli vaatinut InterBaseen lisättäväksi komentoa, jolla tietokannan sisällön pystyi sotkemaan tai kokonaan tuhoamaan.41 Jostain käsittämättömästä syystä vaadittiin myös, että tämä komento jätettiin myös myytävään InterBasen versioon. Tietenkään komennosta ei kerrottu InterBasen käyttöohjeessa, koska komento oli vain laaduntarkkailuosaston sisäiseen käyttöön, mutta "tuhoa kaikki tiedot" -tyyppisen komennon jättäminen asiakkaille myytävään versioon kuulostaa kuitenkin melkoiselta venäläiseltä ruletilta. Vielä ihmeellisempi on väite, että näin oli tehty nimenomaan laaduntarkkailuosaston vaatimuksesta.

Miten Firebird-projektille sitten on käynyt?

Ihan hyvin, kiitos kysymästä. Pahimpien sotkujen siivoamiseen kului reilu vuosi, jonka jälkeen meni vielä puoli vuotta ennen kuin Firebird 1.0 saatiin julkaistua maaliskuussa 2002. Vaikka Firebird-hakkerit selvisivät omasta suursiivouksestaan ripeämmin kuin Mozilla-sotkun kanssa painineet toverit, osoittaa tämäkin kuinka valtavasta urakasta vanhan ohjelman kehitysvastuun perimisessä on kysymys.

Vaikka Firebird onkin menestynyt kohtalaisesti, se ei ole saanut Open Source -yhteisössä samanlaista vastaanottoa kuin Mozilla, sillä avoimet MySQL ja PostgreSQL täyttävät jo hakkeriyhteisön tietokantatarpeet paremmin kuin hyvin. Sen sijaan Firebird on löytänyt yleisönsä vanhasta InterBase-käyttäjäkunnasta, joiden ei enää tarvitse olla yhtä huolissaan Borlandin oikuista.

Tuomio: InterBasen tarinasta käy ilmi, minkälainen riski suljettujen ohjelmistojen käyttö on. Mitä sinä teet sinä päivänä kun valmistaja päättää lopettaa sinulle elintärkeän tuotteen jatkokehittämisen? Yrityksen IT-infrastruktuurin rakentaminen Open Source -ohjelmien varaan on turvallinen ratkaisu, koska silloin valta päättää omasta tulevaisuudesta on ohjelman käyttäjällä itsellään. Firebirdin ensimmäinen vuosi paljasti Mozillan tapaan, mikä ero on suljettujen ja avointen ohjelmien laadulla. Open Source -ohjelmista on sanottu, että niiden tietoturva on parempi, koska avoimuus auttaa paljastamaan koodissa olevat virheet. Firebirdin tapauksessa näin kävikin, mutta kesti kuitenkin yli kuusi kuukautta ennen kuin kriittinen tietoturva-aukko löydettiin, vaikka se oli koodissa täysin ilmeinen ja helposti havaittavissa.


38Viimeistään tässä vaiheessa saa jo hymyillä. Tässäkin kirjassa olemme aikaisemmin puhuneet määrätietoisuutta ja suunnitelmallisuutta vastaan, mutta rajansa kaikella!

39Tai tarkkaan ottaen "Inprisen", mikä oli yhtiön nimi juuri joulukuussa 1999.

40On huomattava, että koodin avoimuus ei ollut ongelma, vaan alkuperäisen Borlandin insinöörin laiskuus ja vastuuttomuus. Salasana on ollut helposti löydettävissä myös ennen InterBasen Open Source -julkistusta tutkimalla InterBasen konekielisiä tiedostoja tavallisella tekstieditorilla. On täysin mahdollista että joku krakkeri on näin tehnytkin, onhan "takaovi" ollut olemassa lähes 10 vuotta.

41Todennäköisesti komentoa on käytetty luomaan keinotekoisia virhetilanteita, jotta voitaisiin testeissä tutkia miten ohjelma niistä selviää.


^
Sisällysluettelo
<<Vapautetut I: Netscape/MozillaVapautetut III: Quake>>

Kirjan "Avoin Elämä: Näin toimii Open Source" verkkoversio on luettavissa ilmaiseksi.
Halutessaan siitä on kuitenkin mahdollista, ja suotavaakin, antaa kirjailijalle pientä tippiä.