Showing posts with label avoin lähdekoodi. Show all posts
Showing posts with label avoin lähdekoodi. Show all posts

2011-05-05

Suljetun lähdekoodin ohjelmistot on kiellettävä.

Olen tänään pohdiskellut puoluetoverini Henri Tuholan kanssa sitä, pitäisikö suljettu lähdekoodi määritellä rikokseksi. Suurin osa ihmiskunnan tämänhetkisistä ongelmista johtuu nimenomaan suljetun lähdekoodin ohjelmistoista, jotka haaskaavat resursseja ja hidastavat teknologian kehitystä. Lisäksi suljetuissa ohjelmistoissa voi olla ties minkälaisia vakoilu- ja hallintatarkoituksiin tarkoitettuja porsaanreikiä, joita kukaan ei pysty huomaamaan lähdekoodin itsekkään pimittämisen vuoksi. Yleensäkin kaikki ei-vapaa informaatio -- niin suljettu lähdekoodi kuin esimerkiksi ei-julkiset Facebook-profiilitkin, pimittävät ihmiskunnalta sen tarvitsemaa informaatiota ja saavat kaikkien verkkoon kytkeytyneiden ihmisaivojen muodostaman ns. noosfäärisen superälyn toimimaan vajavaisesti ja jopa virheellisesti. Virhetoiminnat viivyttävät teknologisen singulariteetin saavuttamista ja saattavat pahimmillaan maksaa jopa ihmiskunnan hengissäpysymisen.

Henkilökohtaisesti olen näiden tosiasioiden valossa ehdottomasti sitä mieltä, että paras keino turvata ihmiskunnan tulevaisuus ja maksimoida yhteiskunnan vapaus ja teknologinen kehitysnopeus on kieltää suljetun lähdekoodin ohjelmistot. Näitä ovat esimerkiksi Microsoftin ja Applen tuottamat käyttöjärjestelmät, joiden sijaan voitaisiin kaikissa mahdollisissa tehtävissä ruveta käyttämään vaikkapa suomalaislähtöistä Gentoo-järjestelmää. Lähestulkoon kaikkiin tarkoituksiin on jo nykyään olemassa sopiva avoimen lähdekoodin ohjelmisto, joka on kaikissa asioissa teknisesti täysin ylivertainen verrattuna vanhanaikaiseen ja luddiittiseen suljetun lähdekoodin vastineeseensa. Ja mikäli johonkin tarkoitukseen ei sopivaa ohjelmaa löydy, voi kuka tahansa helposti kirjoittaa sellaisen itse tai muokata jotain olemassaolevaa ohjelmaa vastaamaan omia tarpeitaan.

Gentoo on sen vuoksi ideologisesti puhdas järjestelmä, että se kannustaa kääntämään kaikki ohjelmistot itse lähdekoodista, jolloin ne toimivat kohdelaitteessa aina moninkertaisella nopeudella verrattuna esikäännettyihin binääreihin -- varsinkin, jos käyttäjä muistaa käyttää tehokkainta tämänhetkisen tieteen tuntemaa optimointiflagia "-funroll-all-loops". Lisäksi koska ohjelman lähdekoodi ladataan aina koneelle ennen sen asentamista, on käyttäjän helppo lukea se läpi ennen ohjelman käyttöönottoa. Näin käyttäjä sisäistää samalla ohjelman toiminnan läpikotaisin eikä se tuota hänelle yllätyksiä. Itse käytän lähdekoodin läpikäymiseen Dictator-nimistä Rapid Serial Visual Presentation -ohjelmistoa, jolla laajankin ohjelmiston koodin läpi lukemiseen menee sopivien nootropiinien vaikutuksen alaisena korkeintaan muutamia tunteja.

Suurin osa ihmisistä ei koskaan lue käyttämiensä ohjelmien lähdekoodia. Tällainen velvollisuuksien laiminlyöminen on mielestäni täysin edesvastuutonta, sillä koodiin, jota kukaan muu kuin sen alkuperäinen kirjoittaja ei lue, on helppo piilottaa ties minkälaisia rootkittejä. CIA:n kaltaiset tiedustelupalvelut käyttävät rootkittejä epäilyttävien henkilöiden vakoilemiseen, mikä vaarantaa koko ihmiskunnan tulevaisuuden. Mielestäni jo alakoulussa tulisi opettaa ohjelmakoodin lukemista ja kirjoittamista, jotta ihmiset pystyisivät tarkastamaan käyttämiensä ohjelmien oikeellisuuden ennen niiden käyttöönottoa. Tämän myötä ei ihmiskunnan myöskään tarvitsisi haaskata resursseja käyttöohjeiden ja dokumenttien kirjoittamiseen, sillä lähdekoodi on jo itsessään täydellisin kuviteltavissa oleva dokumentaatio, jonka lisäksi ei kenenkään tarvitsisi tarvita mitään muuta. Myös kaikenlainen tekninen tuki voitaisiin lopettaa tarpeettomana.

Haluan näyttää kansalaisille malliesimerkkiä omalla toiminnallani, ja tästä johtuen pyrin käyttämään kaikista ohjelmista aina kaikkein uusinta versionhallinnasta löytyvää versiota. Parhaimmillaan saatan päivittää saman ohjelman jopa useita kertoja päivässä. Näin pystyn ottamaan kaikenlaiset uudet teknologiat käyttöön liki välittömästi sen jälkeen kun ne on implementoitu, mikä nopeuttaa kohdallani teknologista kehitystä huomattavasti. Jos kaikki maailman ihmiset minimoisivat teknologian omaksumisviiveen samalla tavoin kuin minä, teknologian kehitys varmasti moninkertaistuisi ja Maa-planeetta saavuttaisi singulariteetin paljon nykyvauhtia aikaisemmin.

Tällä hetkellä täydellisin ohjelmointikieli kaikkiin mahdollisiin tarkoituksiin on Haskell, joka tulisi sisällyttää myös koulujen opetussuunnitelmiin ainakin siihen asti kun sille keksitään parempi vaihtoehto. Samoin kaikki tärkeimmät ohjelmistot pitäisi kääntää Haskell-kielelle, jotta kielen täydellisyydestä saataisiin paras mahdollinen etu. Jos jostain ohjelmasta puuttuu jokin toiminto, voisi kuka tahansa peruskoulun käynyt näppärästi Haskell-kielellä lisätä ohjelmaan tämän toiminnon. Samoin kenenkään ei tarvitsisi enää kärsiä bugisista ohjelmista, sillä Haskell-kielen formaali rakenne tekee bugien tai huonojen teknisten ratkaisujen syntymisen mahdottomaksi. Näin jokainen voisi myös osallistua avoimen lähdekoodin projekteihin vailla pelkoa siitä, että heidän kirjoittamansa koodi olisi jotenkin huonoa.

Toinen asia, johon koulujen tietotekniikkaopetuksessa tulisi Haskell-ohjelmoinnin lisäksi keskittyä, on Unix-komentorivi, joka on edelleen kaikkein tehokkain kuviteltavissa oleva tapa käyttää tietokonetta. Mikäli kaikki maailman ihmiset oppisivat suorittamaan kaikki tietojenkäsittelytehtävänsä tehokkaasti suoraan komentoriviltä kankeiden graafisten käyttöliittymien sijaan, he saisivat kaikki asiansa hoidettua monta kertaa nopeammin, mikä myös nopeuttaisi teknologian kehitystä yhtä moninkertaisesti. Unix-komentorivi on vuosikymmenten saatossa osoittanut ylivoimaisen joustavuutensa ja intuitiivisuutensa liki kaikessa mahdollisessa, mutta Microsoft- ja Apple yhtiöiden aivopesemillä matalaälyisillä kansalaisilla on vaikeaa käsittää tätä intuitiivisuutta. Näiden yhtiöiden tuottamasta taantumuksellisesta luddiittipropagandasta pitäisi jo vähitellen päästä eroon.

Minusta olisi sanoinkuvaamattoman hienoa ihmiskunnan tulevaisuuden kannalta, jos koululaiset voisivat aloittaa päivänsä laulamalla yhdssä Richard Stallmanin kappaleen "Free Software Song" samalla kun Tux-pingviinilippu nostetaan salkoon. Tämä valaisi uuteen sukupolveen uskoa parempaan ja avoimempaan huomiseen, kunnioitusta menneiden hakkerisukupolvien suursaavutuksia kohtaan ja palavaa intoa noosfäärisen superälyn kehittämiseen. Tulevaisuus on lapsissa ja nuorissa, antakaamme heille eväät paremman ja vapaamman maailman rakentamiseksi!