%%include "default.mgp" %%default 1 back "white", fore "black" %%default 2 fore "black" %%default 3 fore "black" %%default 4 fore "black" %deffont "standard" xfont "lucidasans" %deffont "thick" xfont "lucidasans" %deffont "tty" xfont "luxi mono" %default 1 area 95 95, leftfill, size 1, back "white", fore "black" %default 2 size 6, prefix " ", font "thick" %default 3 size 2, bar "gray70" %default 4 size 4, vgap 30, prefix " ", font "standard" %tab 1 prefix " " %tab 2 prefix " " %page %center Kerneprogrammering for sjov & penge %size 5 Et foredrag om Frihed, Lighed & Broderskab. (samt Software, Monopoler & Penge.) Del 1. Poul-Henning Kamp %page Hvem er Poul-Henning ? 39 år gammel, gift, to børn, eget hus, skingrende normal. Byggede en Z-80 baseret computer som 12 årig. Lærte systemprogrammering i gymnasiet på en RC3600. Har arbejdet med computere og netværk i de følgende 20 år. Har skrevet Open Source siden starten af firserne. En hovedkraft bag FreeBSD operativsystemet. "Poul-Henning Kamp" giver 50.000 hits på Google. H C Andersen: 510.000 Helena Christensen: 74.200 Peter Schmeichel: 18.800 Kronprins Frederik: 16.500 %page Overblik %size 5 Programmer vs. den rigtige verden. Open Source vs. Closed Source --pause-- Hvad er FreeBSD Hvem og hvordan udvikles FreeBSD %page Komplexitet IKEA reol 30 dele ­ mange ens. Gør det selv byggesæt til sportsfly 75 dele ­ mange i par. Model af Amalienborg i legoklodser tusinder af brikker ­ mange ens Moderne air-craft-carrier knap en million stumper ­ rigtig mange ens. C-compiler en million linier ­ alle individuelle. Operativsystem til PC 10-20 millioner linier ­ alle individuelle. %page Hvorfor gør kildeteksten forskel ? Software er meget komplext. Computere gør (kun) _præcis_ som man beder dem om. -> En fejl kan give fuldstændig ubegribelige sideeffekter... Computere laver idag over en millard operationer per sekund -> ...meget, meget hurtigt. %page Therac-25 - et strålende eksempel Therac-25 var en strålebehandlingsmaskine til cancer-behandling. Der manglede en enkelt linie kode i det indlejrede program. "pil-op" tasten triggede fejlen. dosis blev 130.000 - 250.000 Rad istedet for 100 - 200 Rad. 3-6 døde patienter. %page Til sammenligning... Stort set alt hvad vi konstruerer har en indbygget fejl-margin: Broer kan holde til at flere kabler knækker i stormvejr. Huse kan holde til en meter nysne på taget. Biler har to uafhængige bremsesystemer. Fly har uafhængige kontrol-flader. Der er nødgeneratorer på landingslysene i lufthavne. %page Software kvalitet Hvis vi ikke kan se kilde-teksten kan vi ikke: Bedømme kvaliteten. Efterforske mistanke om programfejl. Rette fundne programfejl. Sikre os imod uønsket programfunktionalitet. Vi kan, firkantet sagt, ikke stole på programmet. "If we built houses like we write programs it would only take only a single woodpecker to end civilization." -- Peter Weinberger %page Et par definitioner Closed Source Software leveret udelukkende i binært format. F.eks: Microsoft Windows, MAC OS/X. Open Source Software hvor kildeteksten er tilgængelig. F.eks: Linux eller FreeBSD. %page Et par andre definitioner Købe software Software man betaler for F.eks: Microsoft Windows, MAC OS/X. Gratis software Software man ikke betaler for F.eks: Linux eller FreeBSD. %page Kombinatorik for begyndere Open source software der er gratis (= Free Software) FreeBSD, Linux, OpenOffice, Java Closed source software man betaler for (= Shrink Wrap software) Microsoft Windows, MAC OS/X, SAP, Oracle Open source software man betaler for Ikke ret meget (mere). Closed source software der er gratis En del shareware. En masse virus, spyware etc. %page Open Source historisk set Open source er meget ældre end Closed Source. Fra starten var computere akademiske værktøjer og programmer blev delt til højre og venstre. UNIX, ARPAnet, USEnet, InterNet alle baseret på open-source. Meget købe-software blev leveret med kildetekst. F.eks Wang computers operativsystem (FORTRAN !) Tilladt: tilretning, fejlretning, inspektion, portering. Forbudt: vidredistribution, brug på anden hardware. %page Closed source historisk set Massemarked for "shrink-wrap" software til mini og micro computere. Manglende kildetekst begrundes med: Frygt for illegal kopiering. Forretningshemmeligheder. Man nævner til gengæld ikke: Elendig kvalitet. Tyveri af kode fra andre. Profitmaximering. %page Kundens problemer med closed source Fejlrettelser. Vent på leverandøren, hvis de overhovedet vil røre ved det. Tilretninger. Betal leverandøren, hvis de overhovedet vil røre ved det. Portabilitet. Betal leverandøren, hvis de overhovedet vil røre ved det. Leverandører der går fallit og kildeteksten tabt. Ups... %page Hvad der fostrede Open Source's success. Umådeholden grådighed hos Microsoft. Monopolbygning. Unfair konkurrence. Urimelig prissætning ("The Microsoft Computer Tax"). Total fraskrivning af ansvar for programfejl. Gentagne tilfælde af uetisk programindhold. Ingen adgang til kildetekst. Men fremfor alt: Bevidst udeladelse af features og kompatibilitet. Elendig programkvalitet. %page Problemet med at se klart i Open Source. Bevidste overdrivelser. Folk der har misforstået en halv snes ting. Misforstået humor. "95% of all programmers think they're better than average" Presse-spin / FUD (Fear, Uncertainty & Doubt) Pressens behov for en "god historie" %page It's a million to one chance... ... but it might just work. Alle frihedskampe har brug for identifikationshelte. (Hvad enten de så egentlig er det eller ej.) Linux bragte intet ny for dagen, men Linus var "en god historie": "En ensom, socialt inept finsk teenager sidder på sit værelse og skriver et operativsystem der ender med kuldkaste verdens mest magtfulde firma." ... man kan næsten høre den gode fe svinge staven. %page Hvad der virkelig skete... Folk der mente at "det kunne vi dælme gøre bedre..." ...det gjorde vi så, mest for sjov skyld. ...og gav resultatet væk gratis. ...for det kostede os jo ikke extra. ...og måske kunne andre også bruge vores program. %page Tilsæt ideologi... Senere fik Open Source tilført ideologiske overtoner: frihed, lighed, broderskab (og et blødkogt æg, tak!) pseudokvasikryptokommunisme katedraler og bazaarer. og meget andet vrøvl. Citat: "Det gik pludselig op for mig at folk opfatter én der citerer Bob Dylan som gammeldags." -- Holger K. Nilsen %page Imens i virkeligheden... Nogle fornuftige overvejelser: Kvalitetssikring Sikkerhed Tilpasning Uddannelse Interoperabilitet Fremtidssikring Portabilitet Kort sagt: Uafhængighed af leverandøren %page Being Microsoft is not fun anymore... Alt hvad de rører ved har en tendens til at explodere tilbage i hovedet på dem. Mange medarbejdere der kan træde i spinaten. Alt bliver taget i værste lys. Svært at vokse 20% om året når man er så stor: En millon her og en million der bliver ikke rigtig til noget. Folk bliver sure når man prøver at overtage deres marked Økonomisk svikmølle visner: Stock options ikke mere erstatning for løn. Tvunget til at betale udbytte. %page It's all over but the shouting... Open Source har vundet slaget. Open Source har god og stigende markedsandel. Man stoler ikke (automatisk) på Microsoft mere. Krav om åbne dataformater. Microsoft tvunget til "normal opførsel" Kan ikke prisætte vilkårligt. Kan ikke presse vilkårlige teknologier igennem. Tvunget til at lade deres kildetekst inspicere. Tvunget til interoperabilitet. Tvunget til at tage sikkerhed alvorligt. %page Men hvis open source er fremtiden... Hvordan hænger økonomien så sammen ? Hvem betaler programmørene ? Hvem retter fejlene ? Hvor skal pengene komme fra ? Er der noget vi må undvære ? (Disse spørgsmål, og mange flere, besvares efter pausen)