Avoimen koodin historiallinen välttämättömyys

– Nimeni on Rappaport Digby, ja te kuuntelette ’Lasten tiedetuntia’. Tänään aiheenamme on avoin koodi ja sen historiallinen väistämättömyys.

Kuulitte oikein, sanoin avoin koodi, enkä vapaa. Nyt on nimittäin niin, että pitkällä aikajänteellä, kun extrapoloidaan tilannetta yli vaihtelevien juridisten järjestelmien, avoimuus on vapauden sekä välttämätön että riittävä ehto. Jos koodi on fyysisesti saatavilla, sen käyttö on ennemmin tai myöhemmin myös juridisesti sallittua. Siksi päivän aiheen osalta olennaista on nimenomaan koodin avoimuus.

Mutta nyt päästän ääneen Brentin, joka kertoo meille avoimen koodin historiasta ja sen merkityksestä Queng Holle

– Kiitos Rappaport. Avoimen koodin esihistoria ei ole kovin hyvin tunnettua, mutta se on lähtöisin jo vanhasta maasta. Ilmeisesti ensimmäisillä tähtialuksilla käytettiin vielä ei-kriittisissä sovelluksissa myös suljettuja järjestelmiä, mutta Queng Hon syntyyn mennessä kaikken aluksille huolittavan koodin avoimuudesta oli tullut ehdoton vaatimus, muu olisi yksinkertaisesti liian suuri riski.

Kun Pham Nuwen muokkasi satojen vuosien takaista paikallistajien koodia valovuosien päässä lähimmältä ihmisten asuttamalta planeetalta, kuinka hän olisi tehnyt sen, jos lähdekoodi ei olisi ollut mukana paikallistajissa? Yleisemminkin, varustettaessa avaruusalusta tähtien väliselle lennolle, mikään muu vaihtoehto kuin kaiken koodin ottaminen mukaan avoimessa muodossa ei ole mahdollinen.

Avaruuslento on tietenkin äärimmäinen esimerkki, mutta sama ilmiö, että avoimuus on yksinkertaisesti tehokkaampaa kuin suljetut järjestelmät esiintyy planeetoillakin. Suljetun järjestelmän toimittaja voi lopettaa toimintansa, tai kieltäytyä juuri siitä laajennoksesta jota käyttäjä tarvitsee. Ja vaikka kaikki onnistuisi täydellisesti, muutosten ja uuden käytön neuvotteluista tulee aina ylimääräistä kitkaa.

Tietenkin suljettujen järjestelmien varaan rakennettu talous tuottaa kaupallisia intensiivejä, jotka edistävät softan tuotantoa, mutta tämän tuomat hyödyt taloudelle häviävät suljettuuden haitoille jo verrattain pienissä järjestelmissä.

Tuon avoimuuden rajan approksimaation kaava on pohjimmiltaan melko yksinkertainen, perustuen käyttäjämäärään, muutostahtiin, käyttöönoton transaktiohintaan, muutospyynnön transaktiohintaan ja…

9 thoughts on “Avoimen koodin historiallinen välttämättömyys”

  1. Perinteisenä vastarannan kiiskenä rupesin miettimään onko olemassa oikeasti hyvää argumenttia miksi koodin pitäisi olla suljettua. Hain analogiaa muista asioista, joissa voidaan sanoa avoimuudesta olevan haittaa.

    Erään sanonnan mukaan jos pitää demokratiasta tai makkarasta, on parempi olla perehtymättä siihen miten sitä tehdään. Luulen että tämä saattaa koskea myös softaa. Jos ihmiset tietäisivät minkälaista softan laatu on, voisi hissien, autojen, lääketieteellisten laitteiden, lentokoneiden jne. käyttö tippua radikaalisti. Nuohan ovat kaikki esimerkkejä vempeleistä jossa softan laatuun on yritetty panostaa. Hmm, toisaalta tämä voisi olla hyvä asia.

    Toinen syy on yhteisö. Eri ohjelmointiympäristöillä on täysin erilaiset kulttuurit jakamisen suhteen. Tietoa pantataan, koska jostain pienenpienestäkin utiliteetista halutaan 15 euroa per käyttäjä, joka estää poimimasta näitä utiliteetteja oman softan sekaan. Tässäkin kyllä open source auttaisi softankehittäjää, koska open source saattaisi imuroida itseensä tuota tietoa ja sitä kautta hyviä ominaisuuksia.

    Yhteisöön liittyy päättämismalli eli open sourcen näkymätön käsi vs. suljetun koodin intelligent designer. Nouseeko open sourcessa erilainen tyyppi de facto johtamaan kehitystyötä? Yrityksen myynti- ja markkinointi on tietysti usein pihalla asiakkaan tarpeista, mutta skaalautuuko open source? Ehkä Linus Torvaldseja ei riitä jokaiseen pikkusoftaan. Onko open sourcesta oikeasti toimivia esimerkkejä missään muualla kuin koodareille tai muuten teknisille tyypeille itselleen tarkoitetuissa sovelluksissa? Tässä tietysti auttaisi, jos C-ohjelmointi olisi ensimmäinen vieras kieli.

    Toimeentulo. Koodaamien on hauskaa, mutta open source -projekteihin osallistuvien määrä seuraa varmasti power law -käyrää kuten kaikki sosiaaliset verkostot, jonka seurauksena on ”rich get richer”. Voisi sanoa että jos ihmiset saavat valita projektit joihin osallistuvat vapaasti, open source on äärikapitalistinen! Valtion pitäisi alkaa jakamaan open source -apurahoja. Hmm, tämä olisi oikeasti aika hyvä idea. Tekes maksajaksi.

  2. Toisin kuin alkuperäisessä postauksessa annoin ymmärtää, en oikeasti usko että avoin koodi välttämättä korvaisi suljetun *kaikkialla*. Sen sijaan kyllä uskon että sen määrä tulee vähitellen lisääntymään ja syntyy suuriakin ”alueita” joilla ei-avointa tarjontaa ei käytännössä ole. Toisaalta myös alueet joilla

    Tähtienvälisen aluksen koodi oli tietysti ääriesimerkki, mutta esim. Internetin infrassa on nähtävissä jo nykyään ilmiö että suljettua tarjontaa ei juuri ole. Jos TCP/IP-pinon meneekin ostamaan jostain syystä vaikka Tiedolta, kyllä siinä on pohjalla BSD-stäkki mitä tunaattori toimittaa.

    Tämähän ei ole missään tapauksessa kaupallista softatuotantoa tekevältä firmalta pois: sen sijaan että myisivät TCP-pinoja he voivat myydä vaikka yhteisösivustoja jotka hyödyntävät tuota perusinfraa.

    Voisi oikeastaan ajatella että merkittävät uudet aluevaltaukset softalle tapahtuvat ensin suljettuina systeemeinä, ja sitten kun suljettu systeemi on osoittautunut toimivaksi, siitä alkaa ilmaantua avoimia klooneja (suuri osa avoimesta projekteistahan on jonkin suljetun systeemin kloonausta, sivumennen sanoen tässä on taustalla tyypillisen avoimen suunnittelutyylin ongelma jota voisi kutsua vaikka Ikea-designinksi). Pitkän päälle tulos sitten on että jos suljettu ratkaisu ei ekhity jollain tapaa paremmaksi, se pikkuhiljaa korvautuu avoimella.

    Tästä seuraa kaksi hyvää ilmiötä
    1) suljetulle kehitykselle syntyy ”minimitaso” joka sen on pakko ylittää, mikä epäilemättä parantaa laatua
    2) ihmiskunnan käytettävissä oleva hyödyllisen koodin määrä (tai koodilla tehtävissä olevien asioiden määrä) kasvaa vähitellen ilman että suoria taloudellisia panoksia tarvitsee kasvattaa

    Avoimen koodin kehitys muuten todellakin näyttäisi noudattavan power law:ta, peripherial attachementttiä ja kaikki niiden seurauksia. Tuolta
    luvun 3.1.8 viitteistä löytyy (en jaksa hakea linkkejä scholarista nyt)

  3. Äärikapitalismista vielä sen verran, että vaikka avomen koodin kehitys tosiaan vastaa power-law rakenteensa puolesta jonkinlaista äärikapitalistista dystopiaa, sillä on kuitenkin sellainen sisäänrakennettu kommunistinen piirre, että työn tuotokset ovat vapaasti kaikkien käytössä.

    Ja jos/kun hyvät kooderit(*) saavat avoimen koodin kehityksessä enemmän mainetta (ja tuottavat kertaluokkaa enemmän koodia) kuin huonot kooderit, niin miksi tähän pitäisi jotenkin puuttua? Ei oikeus tehdä paskaa koodia ole ihmisoikeus. Mikäli ne hyvät kooderit (muiden eksponentiaalisesti vähemmällä avustuksella) kykenevät tekemään saman tai paremman lopputuloksen kuin suurempi joukko huonompia koodereita, niin eikö tämä ole yksinomaan hyvä asia?

    Huonot kooderit voivat sitten siirtyä vaikka multimediataiteilijoiksi tai habbo-hotellin lapsenvahdeiksi.

    Niin ja tosiaan, rahalliset tulot avoimesta kehityksestä luullakseni eivät jakaudu power law:n mukaan, koska harva saa muuta kuin jonkinlaisen palkan, joten korkein huippu leikkautuu pois – toisin kuin tyypillisessä suljetussa kehityksessä, jossa menestysyritysten omistajat saavat suurimmat tulot.

    Tekes-avustus avoimille koodihankkeille ei silti ole yksinomaan huono idea (kunhan sillä ei yritetä tasoittaa kontribuutioiden power law käyrää). Tosin muutamia tekes -projekti-byrokratioita pyörittäneenä voin sanoa että prosessia pitäisi kyllä sitten hiukan päivittää.

    (*) Kysehän toki on paljon muistakin taidoista kuin koodaustaidosta, mutta argumentti ei muutu siitä

  4. Lähinnä alkoi kiinnostaa miksi tunsin halua argumentoida open sourcen puolesta analogisilla argumenteilla joilla puolustetaan kapitalismia, eli juuri noilla samoilla joita itsekin tässä esität. Toisaalta taas ihmiset jotka vastustavat open sourcea tuntuvat taas käyttävän analogisia argumentteja joilla kannatetaan kommunismia.

    Ajattelin pohtimaan, että ehkä voisi ajatella kapitalismin tarkoittavan kaikkia tilanteita jossa joku yleisesti halutuin resurssi ei jakaannu tasaisesti. En ymmärrä miksi status on jotenkin eri asia kuin raha tasa-arvon kannalta. Statustahan voi vaihtaa rahaan ja rahaa statukseen.

    Esim. open source -projekteissakin raha jakaantuu todella epätasaisesti. Linus Torvalds olisi voinut saada Linuxista kymmeniä miljoonia jos Transmeta olisi listautunut, ja jostain muista optioista se kai tienasikin. Eli rahan suhteen jakauma on erittäin epäsuhtainen.

    En ole siis tästä mitään erityistä mieltä, kiinnostaisi vaan tietää että onko löydettävissä todisteita joko sen puolesta tai vastaan, että power law:n mukaan jakaantunut status saisi aikaan sen että vaikka Apache on selvästi parempi kuin jos jakauma olisi tasaisempi?

    Voihan ajatella esimerkiksi niin, että Apache vetää puoleensa liikaa kehittäjiä, eli yksi kehittäjä lisää Apacheen tuottaa vain marginaalisen hyödyn. Joskus siitä voi olla jopa haittaa, jos koordinaation lisääntynyt tarve vähentää kokonaistuottavuutta. Toisaalta jossain vähemmän maineikkaassa projektissa sama kehittäjä olisi voinut kasvattaa projektin laatua merkittävästi.

  5. Tuo raha-argumenttini ei tosiaan luultavasti päde (vaikka huippu on matalampi, jakauma voi silti olla eksponentiaalinen). Sen sijaan omassa blogissasi esittämäni hypoteesi satuksen jakautumisesta tasaisesti/lineaarisesti suhteessa kontribuutioon voisi hyvinkin pitää paikkansa. Täyutyypä miettiä metriikkaa tuon testaamiseen reaalimaailmassa.

    Spekulaatioon siitä olisiko tasaisempi jakauma (esim kehittäjiä/projekti) parempi lopputuloksen kannalta en oikein osaa läöhteä. Kyseessä on kuitenkin pohjimmiltaan sosiaalinen verkosto, joille peripherial attachement ja siitä seuraavat eksponentiaaliset jakaumat näyttäisivät olevan luontaisia. Ennen kun tämän syistä ja seurauksista tiedetään kertaluokkaa enemmän kuin minä nyt tiedän, on vaikea sanoa miten kuvion dynamiikka käyttäytyisi jos sitä koitettaisiin jollain tapaa tasottaa.

    Se mitä pystyn sanomaan on se reaalitason argumentti, että fiksuja keinoja tuollaisen tasotuksen tekemiseen (seurauksista viis) ei taida olla olemassa.

  6. Tuo argumenttien analogia on muuten hauska huomio. Itse en ole suuri kapitalismin puolesta argumentoinnin harrastaja tai edes ystävä, mutta kieltämättä nuo vapaan koodin puolesta esittämäni argumentit ovat lähellä (tai samoja) kuin millä voi puolustaa mahdollisimman vapaata markkinataloutta.

    Oikeastaan vapaalla koodinkehityksellä (FOSSD) taitaa olla aika paljon yhteistä niiden vapaan markkinatalouden piirteiden kanssa joihin tunnen jonkinlaista esteettistä vetoa. Tätä täytyy miettiä lisää…

  7. Jep, yritin siis sanoa että samoilla ihmisillä tuntuu usein olevan vastakkainen ideologia open sourcessa ja taloudessa. Ja jotain esteettistä siinä varmasti on.

    Ainakin tuo ”luonnollisuus” oli aika hauska argumentti, ihan samaa käytetään myös vapaan kapitalismin perustelemiseen.

    En minä oikeastaan käytännön kysymyksenä tästä ole kauhean kiinnostunut, vaan nimenomaan siitä että kykeneekö ymmärtämään tätä kautta enemmän esimerkiksi omaa ja muiden talousajattelua.

    Sinänsä tohdin epäillä että olet effortin ja statuksen korrelaation suhteen väärässä. Linus ainakin jossain haastattelussa kertoi ettei kauheasti itse enää koodaa, lähinnä sen homma on tarkistaa ja valikoida muiden ihmisten tekemiä korjauksia.

    Mutta Linus ei voisi tehdä sitä mikäli sillä ei olisi valtavan korkea status kehittäjien joukossa, eli kaikki tahot hyväksyvät sen tekemät päätökset mukisematta. Eli vaikka Linus tavallaan kerää statusta muiden tekemällä työllä, suhde on symbioottinen.

  8. Ilmaisinpa vieläkin sekavasti. Siis sama ihmnien usein kannattaa open sourcea ja vastustaa kapitalismia, ja päinvastoin.

    Hauskasti muuten toimitusjohtajien suurempia palkkoja perusteellaan myös sillä, että heidän tuottavuutensa yritykselle on niin paljon suurempi. Sitä ei yleensä vaivauduta todistamaan mitenkään.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *