Öppen källkod.

Idag blir det ett ämne jag brinner för och titeln har redan avslöjat allt! Open source, eller öppen källkod är ett till synes ganska nytt begrepp, relativt till informationsålderns tidsspann. Allt började med fri mjukvara (Free software) vilket var, och fortfarande är, en ganska liberal syn på hur mjukvara borde vara, men detta är skilt från öppen källkod. Richard Stallman är en av pionjärerna inom området (Free software) och han startade den ideella organisationen Free Software Foundation. Otroligt intelligent människa och jag håller med honom i många punkter, men han har vissa brister i sina argument, enligt mig.

Tror man på fri mjukvara, så tror man på att man skall ha vissa rättigheter när man tar emot/köper mjukvara. Man kan sammanfatta det som att man har rätt att modifiera och distribuera modifierad källkod helt fritt, förutsatt att min kopia ger samma rättigheter. Alltså om du säljer mig ett program så har jag rätt att få källkoden, samt ändra den och sälja eller ge bort det. Jag måste då ge dem som tar min version samma rättigheter.

Steget som gör mjukvaran än lite mer sluten är öppen källkod. Jag anser att alla borde ha rätt att kunna granska koden vi exekverar på våra datorer, men jag är däremot inte helt med i att andra ska få rättigheten att sälja/ge mjukvaran vidare. Det fungerar i vissa sammanhang och det bästa exemplet där det är befogat är helt klart Linux-kärnan enligt mig. Jag kan diskutera detta ämnet i oändlighet, men jag tänker att jag mjukar upp er med denna lektion, så kommer vi till de arga nedlåtande talen mot M$ senare ;)

Read, regress, repeat.

Idag är det lite bättre. Det känns i alla fall bättre. Jag tycker jag kan återgå till temat. Låt oss ta en titt på kretsschemat!

Teknik är dagens ämne. Jag är, som jag sagt, en programmerare och teknikfantast. Jag studerar spelutveckling i Skövde, vilket är bredare och svårare än vad det låter. När många hör spelutveckling så får de förutfattade meningar. Han är nörd. Han spelar spel hela dagarna. Han är ingen riktig programmerare.

Den sista kan jag hålla med om att det är nästan bara oerfarna programmerare som skulle påstå, för det är fel ;) Jag skulle våga påstå att spelprogrammering är bland de svårare områdena, vilket på ett lite finare språk kallas realtidssystem. Realtidssystem finns överallt. I en nyare bil sitter nästan alltid ett antal inbyggda realtidssystem.

Att vara "riktig" programmerare handlar om så mycket mer än att bara knacka kod, något som många programmerare inte själva förstår. Jag syftar på att det är väldigt mycket arbete runt omkring. Vi måste, precis som arkitekter, rita ut hur mjukvaran skall se ut och väga fördelar och nackdelar, och jag gillar att jämföra det med att rita en bro. En bro måste hålla i ganska många förhållanden. Svåra väderlag, många bilar, e.t.c. På toppen av det måste den vara otroligt stabil.

Varför säger jag då att detta är något som andra programmerare inte verkar förstå? För att precis som med vilket bygge som helst, så vill de flesta bara börja och inte planera i förtid, vilket inte är fel om man endast bygger till sig själv. Sen brukar jag säga att det inte är själva programmeringen som är svår, det är ren logik, det är snarare koncepten runt omkring alla tillvägagångssätt som är de kluriga. Ett axiom för programmering är att orka läsa manualer, helt klart. Något jag uppskattar att göra.

Så är jag en nörd då? Absolut. Enda in i benmärgen. Däremot kan jag, olikt många andra (mörda mig inte snälla), prata med folk. Jag spelar spel också, men jag är inte en "riktig" lirare. Jag spelar mest töntspel med min morbror :)

Jag har fått bra kritik på att jag ska ha med bilder, så här kommer en serierad jag uppskattar! (Hade tyvärr lite svårt att hitta något lite mer lättsmält)
I programmeringens vägnar.

RSS 2.0