![]() |
![]() |
![]() |
|||||||||||||
|
|||||||||||||||
![]() |
![]() |
![]() |
Licensen, der skal overholdes kan findes på http://www.opencontent.org/opl.shtml.
Artiklen er kraftigt inspireret af Open Source bevægelsen og Eric
S. Raymonds artikler og foredrag. Eric S. Raymond er en (nu meget kendt)
systemprogrammør fra USA, der har studeret og dokumenteret mange
af de stærke ting, som kendetegner udviklingen af det meget udbredte
Linux styresystem.
Open Source er i virkeligheden et simpelt begreb, som anvendes på licensbetingelserne til software. I sin enkelhed betyder Open Source at alle mennesker, uanset hudfarve, religion, politisk overbevisning eller geografisk placering, kommerciel eller privat bruger, skal have adgang til kildeteksten til softwaren. Endvidere medfølger retten til at ændre kildeteksten.
Men Open Source er mere end blot adgang til kildeteksten. Ofte følger de programmer, som har en Open Source licens, en række fælles mønstre. Et af mønstrene er, at udviklingssprojekterne ofte bruger Internettet som det vigtigste medium, dvs. at e-post og WWW er vigtige elementer hvor udviklerne kommunikerer. Et andet fælles mønster er den udviklingsmodel, som man benytter i projekterne (ofte uden bevidst at tænke over den).
Flere af de store firmaer anerkender nu Open Source og anvender det som udviklingsmodel: SUN, Silicon Graphics og Netscape.
Der findes en mange tusinde mere eller mindre kendte Open Source projekter. De allermest kendte er
I et traditionelt udviklingsprojekt arbejder N programmører sammen. Omkostningerne for ethvert projekt måles i mandemåneder, dvs. hvor mange måneder en programmør vil være om at udvikle det ønskede programmel. Hypotesen bag den målestok er, at sættes der dobbelt så mange programmører på projektet, vil det tage den halve tid. Men virkeligheden er en anden! Udviklingsomkostningerne sprænger næsten altid budgetterne.
Det kan let forklares, at det ikke er muligt at sætte udviklingstiden vilkårligt ned ved at ansætte flere programmører. Frederick P. Brooks, jr. giver forklaringen i The Mythical Man-month [Addison-Wesley, 1995]. Når man har N programmører er der N(N-1)/2 snitflader mellem programmørerne. Det vil sige, at hvis man fordobler antallet af programmører, vil antallet af snitflader firdobles. Med andre ord vil produktiviteten ædes op af kommunikation og konflikter mellem programmørerne. Derfor ser man ofte projekter med små hold af programmører, som arbejder med velafgrænsede opgaver og integration mellem delprogrammer.
LDM er anderledes. I Open Source projekter findes der typisk en kerne af programmører (N personer), som leder projektet. Men der findes M personer, f.eks. 10.000 personer, som downloader programmet. Disse personer (beta-testerne) finder fejl og sender typisk rettelserne til den lille kerne af N personer, der leder projektet. Men antallet af snitflader er kun M, idet beta-testerne ikke kommunikerer med hinanden. Eftersom M typisk er mange gange større end N, ser vi at kompleksiteten vokser lineært med antallet af beta-testere, men kompleksiteten for et traditionelt ledet projekt vokser med kvadratet.
For at konkludere uden brug af matematik: LDM har de to store fordele at arbejdet per person udnyttes virkelig godt, og at alle de personer, der arbejder som beta-testere og retter i koden, ikke skal betales af firmaet. I den traditionelle beta-test af programmer uden kildetekst, er belastningen af de betalte programmører, som modtager fejlrapporter stor - for de skal selv genskabe samme fejl, finde fejlen i koden og rette den. Oftest er dette en ineffektiv arbejdsgang. Som software producent opnår man med LDM en mere effektiv arbejdsgang, og et bedre testet og mere stabilt program, hvor det er meget svært at skjule sikkerhedshuller, da alle kan læse med i kildeteksten.
Det er dog ikke altid, at man som software producent kan bruge Open Source konceptet. Laver man f.eks. produkter som alene sælges på grund af en nyudviklet hemmelig metode, så kan producenten ikke bevare den hemmelighed i Open Source programmel, da alle har adgang til kildeteksten. Men de fleste computerbrugere bruger alene software, hvor programmets værdi ret beset skyldes programmets stabilitet - og kun i ringe grad hemmeligheder. Som computerbruger vil man som oftest langt hellere have et stabilt program, man kan stole på - fremfor et par ekstra "features", som får programmet til at gå ned fra tid til anden. Med hensyn til stabilitet, og oftest også ydelse, er Open Source og LDM en overlegen udviklingsmetode.
Som eksempel vil vi nævne Cisco. Cisco fremstiller diverse netværkskomponenter, f.eks. routere. Eftersom Cisco er en international virksomhed, har virksomheden kontorer rundt om i verdenen. På et tidspunkt ønskede ledelsen, at alle Ciscos ansatte kunne udskrive på en vilkårlig printer et andet sted i verden. Ciscos edb-afdeling påbegyndte projektet, og valgte efter nogen tid at lade projektet være Open Source, så andre virksomheder i dag kan bruge systemet, og bidrage til dets udvikling. Det betyder, at Cisco ikke blev nær så afhængige af den lille gruppe ansatte, der har udviklet systemet. De finder måske et andet job en dag, og var det et lukket system, var der ikke længere nogen, der var kvalificerede til at vedligeholde softwaren. Ved at lave deres printerstyringsprojekt til et Open Source projekt opnåede Cisco risikospredning, men de har også opnået at udviklingsomkostningerne bliver delt imellem flere virksomheder. Da Cisco's forretningsområde ikke er printerstyring, vil de ikke miste markedsandele, hvis deres konkurrenter bruger det samme program. Typisk vil et sådant program, blive anvendt af alle mulige andre virksomheder som strukturmæssigt minder om Cisco, og altså ikke fremstiller det samme som Cisco - og Cisco har reelt fået et system, som ikke koster ret meget, men bidrager til den interne værdi i firmaet.
Open Source Software (OSS) kan typisk fås gratis eller for et symbolsk beløb svarende til en manuals pris, hvilket også betyder en kraftig reduktion af omkostningerne. Skal man installere både Microsoft Windows NT og Microsoft Office på en PC løber det let op i mere end 5.000 kr. Naturligvis koster uddannelsen af medarbejderne det samme for både Open Source og kommercielle produkter. Hardware er typisk billigere, hvis man kun kører Open Source Software, idet Open Source Software typisk er mindre ressourcekrævende. Dette er navnlig sandt, når vi taler om servere. En Linux webserver kan køre fint på en i486 maskine med kun 16 MB RAM.
I mange tilfælde vil et stop af vedligeholdelsen af et program være endog meget kritisk for en virksomhed. Et måske noget letkøbt eksempel kunne være et lagerstyringssystem, som ikke er år 2000 klar. Eller blot, at det har et maximalt antal varegrupper, som firmaet nu overskrider. Fatale problemer, som man møder alt for ofte.
Benyttes Open Source Software har du adgang til selve kildesteksten. Derved kan du ansætte en programmør til at gøre dit lagerstyringssystem klar til år 2000. Brugen af Open Source Software er derfor en reduktion af din risiko.
Reduktion af risiko gælder også software udviklet internt i et firma, hvor man selv har kildeteksten. Hvor mange har ikke oplevet at et eller andet ikke længere kunne bruges, fordi "ham der havde forstand på det" er rejst. Software skal vedligeholdes, og det tager tid og kræfter at sætte sig ind i et projekt, selvom man har kildeteksten. Hvis et projekt er Open Source, vil der altid være nogen et eller andet sted, som har forstand på det, og de kan lære hinanden op. Således kommer et godt Open Source projekt aldrig til at samle støv i skuffen. Modsat så vil et dårligt Open Source projekt aldrig få stor støtte og aldrig få luft under vingerne - ligesom et tilsvarende kommercielt produkt nok ville være svært at sælge.
Som bruger af Open Source software har man den sikkerhed, at når først et program er startet som Open Source, så kan man ikke stoppe udviklingen - programmet vil fortsætte som Open Source. Man kan ikke købe sig tilbage til et lukket udviklingsmodel. Som eksempel er Linux kernen copyrightet af mange hundrede folk under en Open Source licens.
Hvis en virksomhed vælger Open Source Software, vælger virksomheden samtidig sin egen skæbne. Det lyder måske prætentiøst, men i virkeligheden er det meget simpelt. Sagen er, at ved at vælge lukket (kommerciel) software, vælger du ikke din egen IT-strategi. Din IT-strategi bliver kraftigt bundet til din leverandørs forretningsstrategi.
Et velkendt eksempel er da Microsoft kom med Office97 pakken. Mange firmaer havde installeret Word95 til tekstbehandling, men med Word97 blev det almindelige filformat ændret, og dermed kunne man ikke længere i Word95 læse de filer, som Word97 brugere genererede. Resultatet blev, at langt de fleste Office95 installationer blev erstattet af Office97. Hvem blev vinderen af dette? Synes du, som erhvervsleder, at I reelt fik mere, end hvad I havde? For lige at være retfærdig, så frigav Microsoft ganske vist filtre (programændringer af Word95), så man kunne læse Word97 tekstbehandlingsfiler fra Word95, men det blev aldrig rigtig godt.
Et andet grelt eksempel er fra den gang, da IBM og Microsoft indgik et meget integreret samarbejde omkring OS/2. Alle var vilde - de ville bruge OS/2. Danmark var dengang et WordPerfect-land - der blev solgt WP-bøger og kurser. WordPerfect Corp. satsede stærkt på OS/2 og f.eks. banker og mange financielle virksomheder skiftede selv på server-siden. Men hvad skete der? Microsoft skiftede forretningsstategi - på det tidspunkt kom Windows 3.0, og pludselig kunne alle WordPerfect-brugerne se deres erfaring gå tabt: WordPerfect kom ikke lige så hurtigt til Windows systemerne, som Word gjorde.
Et endnu værre eksempel ville være hvis leverandøren enten gik konkurs eller ikke længere ønskede at vedligeholde en bestemt programpakke. Eller at leverandøren ikke ønsker at bibeholde en - for dig - missionskritisk funktion.
Men hvis du har kildeteksten, dvs. benytter Open Source Software, kan du (evt. sammen med andre) fortsætte med at videreudvikle og vedligeholde programmet. Mange virksomheder har ikke resourcer til at rette en fejl i f.eks. Linux, men kan i den situation købe sig til en rettelse af et konsulentfirma. Det vil være kostbart, men endnu mere kostbart, hvis ikke fejlen blev rettet.
Elektronisk Dokument Udveksling (EDI), er et eksempel på en standard hvor åbenhed er en nødvendighed. Skal forskellige økonomisystemer kunne kommunikere med hinanden, må de forskellige producenter have fri adgang til standarderne. For brugerne af økonomisystemerne, har det den yderligere fordel, at de har mulighed for, at skifte til et andet system, når dette bliver nødvendigt for virksomheden.
Nu vil nogen sikkert mene, at deres virksomhed ikke er specielt IT-tung, og derfor er de ikke så sårbare overfor leverandørens luner. Dette er desværre nok ikke rigtigt; alle virksomheder er sårbare overfor deres leverandørers luner - og IT er hurtigt blevet en integreret del af alle moderne virksomheder. Det er vigtigt at huske på, at IT-verdenen er en verden, hvor udviklingen går meget stærkt, og netop derfor kan en leverandør skifte strategi med meget kort varsel.
For nogle år siden var der noget om snakken. Men i dag kan man sagtens betale sig til fuld support på Open Source software. De firmaer, der tilbyder support, ejer ikke softwaren - den er frit tilgængelig for alle. Men de har fuld adgang til kildeteksten, og kan derfor lige så godt løse kundens problemer, som hvis det var et kommercielt produkt de ydede support på. Måske endda bedre og hurtigere - måske er der andre, der allerede har løst problemet. Internettet bugner i dag af support information på Open Source Software. Support-leverandøren skal bare sørge for at løsningen kommer hurtigt ud til kunden. Og det er muligt for support-leverandøren at ansætte folk, som allerede kender til systemet, i stedet for at det tager evigheder at lære nye folk op.
Man kan godt tjene penge på at sælge Open Source software, selvom folk i princippet kunne få det gratis. Hvis man pakker det på en pæn måde, gør det nemt at installere, og laver en manual, er der mange, der vælger at betale for at få disse goder. Man kan yde support på nogle Open Source programmer, og det vil mange virksomheder gerne betale for. Træning og uddannelse i Open Source software er der bestemt mange penge at hente indenfor.
Der er også mulighed for at lave hardware og software kombinationer, hvor softwaren er Open Source og pengene tjenes på hardwaren. Det har en del fordele for producenten. Antallet af personer, som hjælper med softwareudviklingen (og ikke skal lønnes) vil være anseeligt hvis programmet er interessant, og der vi automatisk være mange, som sørger for en yderligere udbredelse af produktet - helt uden reklamekroner i ryggen. Modsat vil det være en vurdering, om man har forretningshemmeligheder i klemme i software-delen. Oftest er det dog stabilitet, som er i højsædet, og her kan fordelene ved Open Source ofte opveje ulemperne.
At afsætte udviklere til at arbejde på et Open Source projekt kan umiddelbart virke som en ren udgift. Men hvis dette danner grundlag for at virksomhedens closed source programmer kan overleve, eller vinde frem, er der pludselig en vis økonomisk fornuft i det. Den grundlæggende software kan være Open Source, tilgængelig for alle og klippestabil. Den mere specialiserede software kan forblive lukket. Netscape frigav deres browser som Open Source for at bevare grundlaget for deres server software.
Hvem skal bestemme fremtiden, dig eller din leverandør?
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |
Denne side vedligeholdes af Peter Toft (<pto@sslug.dk>)