Open Source (TM)
Af Kenneth Geisshirt og Peter Toft, SSLUG
En af de mest spændende udviklinger på software fronten det sidste
stykke tid er konceptet Open Source (TM), der dækker over frigivelse
af kildeteksten til et program. Dette sker under en licens, der giver
lov til at alle - uanset kulturelle og geografiske skel - må anvende
og ændre kildekode efter behov, og derefter frit videregive den
modificerede kode under samme licens.
Hvad er der galt med Free Software
Nogle vil sige at indledningen ikke bringer noget nyt, idet vi førhen
har man talt om frie programmer (free software og freeware). Problemet
med disse betegnelser har affødt en del debat om hvad begreberne
egentlig dækker over. Det har bestemt været et problem at der var
flere betegnelser som næsten var det samme og det var ikke helt klart
hvad der ligger i betegnelsen "fri".
Er et program frit, hvis man kan få programmet uden at betale, men kun
på binær form? Er det frit hvis man kan få kildeteksten, men ikke må
ændre den og distribuere videre?
Nogle af de omtalte problemer ligger i selve ordet "fri" - på engelsk
"free". Det engelske ord har nemlig to betydninger; fri (som i frihed)
og gratis.
En stor fordel ved at opfinde et nyt samlende navn er at mange
forretningsfolk langt nemmere kan acceptere selve navnet Open Source
- fremfor begreber som indeholdt ordet free. Der ligger
simpelthen en psykologisk barriere i selve navnet free.
For os danskere er ordet "fri" mindre tvetydigt, men vi ser
ofte, at ordet bliver forkert oversat (husk på den danske oversættelse
af FN's menneskerettigheder, hvor der stå "free education" som i den
danske oversættelse er blevet til "gratis uddannelse").
For at en gang for alle at få et samlende navn med klar definition for
anvendelsen blev konceptet Open Source (TM), registreret som et
beskyttet navn, så grundlaget ikke kan anfægtes. På rekord tid er
navnet Open Source (TM) blevet adopteret som et samlende navn alle
accepterede. Naturligvis er licensen opbygget på en måde, der gør at
alle kan anvende navnet Open Source (TM), uden afgift, blot det
anvendes korrekt.
Hvorfor udvikle Open Source software
I det følgende vil vi prøvet at se lidt på hvilke grunde der kan
være til at frigive kildeteksten til sit program? Og hvilke
implikationer har dette for fremtiden af det programmel man har eller
vil udvikle. Endvidere kommer vi med et forslag til en ny
udviklingsmodel, som i mange tilfælde vil betyde en ikke ubetydelig
acceleration af udviklingsprocessen.
Først kan vi se på et firma med almindeligt hierarki i forhold til
hacker-kulturen (positive programmører med trang til at lave de bedste
programmer, hvilket ikke må at forveksle med crackere, som er
destruktive personer). Hvis et firma ansætter dobbelt så mange
personer vil deres produktivitet ikke stige til det dobbelte. Der skal
et større antal personer i firmaet til at styre de små ting som følge
af væksten er blevet større. Firmaerne skal også have ledere som ikke
lave produktion eller udvikling osv. Hacker kulturen er traditionelt
meget flad og ektremt levende. Det er helt klart en trend som vi vil
se mere til. Et firma som Oticon har været med stort helt praktiseret
den flade struktur i lang tid.
Firmaet skal markedsføre sine produkter og sørge for at de er
nogenlunde up-to-date og lige præcis opfylder kundens forventninger.
Ofte er kvalitet bestemt af en salgspris, og hvad markedet kan bære,
fremfor at levere det bedste, der kan laves. Det er selvfølgelig groft
simplificeret, men det er ofte meget sandt.
I Open Source samfundet arbejder man helt anderledes. Enhver kan komme
med egne ideer for hvordan fremtiden skal udvikle sig, og fanger ideen
an, så dannes grupper, som får udtænkt og udført
programmeringsprojekter til gavn for os alle. Der er altså ingen reel
global leder af projekterne som helhed, men ligesom i det vilde vesten
er enhver sin egen herre og småsamfund dannes alt efter hvem der har
lyst til at arbejde sammen. Umiddelbart lyder dette som det rene kaos,
men det er en ny udviklingsstrategi som har sin styrke. Det er som
fraktaler - et kaotisk system, men underligt nok der kan findes masser
af orden og og system i det.
Den ultimative fordel med Open Source er at den sikrer aktivitet og
fremdrift. Lederen af et projekt anerkendes for at få projektet til at
gå fremad og at få det til at blive en succes i alles øjne. Oftest er
lederen af et projekt den som har starten ideen, men man skal forstå
at en person som Linus Torvalds som startede Linux projektet kun er
lederen idag, fordi han til stadighed beviser, at han er den rigtige
leder.
Haves en god ide, men projektet måske mangler en dynamisk leder vil
andre med visioner gradvist tage over, og projektet vil gå videre. Og
det skal understeges at Open Source er tæt knyttet til Internettets
succes og kontaktformer, hvor antallet af aktive deltagere hastigt er
på vej op.
Glosen "den globale landsby" er nu helt rigtig. De personer
som deltager i et projekt vil ofte have helt anden kulturel baggrund
end en selv, men kontakterne, diskussionerne og resultaterne er ofte
spændende og ofte med en kvalitet som uden problemer kan leve op til
kommerciel software. Specielt med hensyn til stabilitet er hacker
samfundet alle firmaer overlegne. Generelt hjælper man hinanden og
særligt svære problemer kan gå hen at blive til udfordringer som giver
ære og anseelse til den som knækker nøden. Igen skal det bemærkes at
disse måder at arbejde på ofte slet ikke tilfældet i et firma.
Ud over Internettets sammenbinding af folk så er der også
et kulturelt mønster i det. Det er i høj grad fordi mange har en
indtjening ved siden af og syner det er sjovt at deltage. Der er en
form for gave-bytteri vi laver. Vil mange mennesker have din gave -
dvs. dit programmel - som du præsenterer for dem, så stiger
aktiviteten for projektet og antallet af aktive og positive
tilbagemeldinger vil gøre, at det er sjovt og spændende at have delt
ideen med alle andre.
Hvad med penge?
Da Open Source gør, at man frigiver al information om programmet og at
andre må arbejde videre med det efter behov, så melder spørgsmålet
sig: Ødelægger vi så ikke alle firmaer og de programmører, der vil
tjene penge på det ?
Svaret er "Nok ikke". Det er oplagt at mange vil tage kildeteksten
uden at betale, men det kan godt lade sig gøre at tjene penge på Open
Source kode. Firmaer som RedHat, Cygnus, Cyclic og nu Netscape har
frigivet programmel under Open Source og de kan godt tjene penge
alligevel. For Netscape var situationen dog lidt speciel, på grund af
hård konkurrence fra et firma, der hedder Microsoft.
Grunde til at vælge Open Source
-
En god ide Man har en god projekt ide, men har ikke programmeringserfaringen
eller kræfterne til at løfte projektet alene. I denne situation
er Open Source helt perfekt. Man kan få dannet et projekt hold, hvis
ideen kan bære. Så skal projektet laves med de regler som projektets
deltagerne selv vælger.
-
Jeg vil også give. Man har ideen og kræfterne til at
lave et godt produkt, da kan man også med fordel anvende Open Source ,
men af forskellige grunde. Dels kan man få anseelse og respekt fra
andre. Dels kan man have en holdning om at man gerne vil yde for og sammen
med det fællesskab der er omkring Open Source . Man vil gerne give
sit bidrag tilbage med tak for alt det man selv har fået.
-
Outsourcing. Har man f.eks. i sit firma brug for produktet, som
arbejdsredskab eller som fremtidssikring, da kan man drive et software
projekt med meget få ressourcer for firmaet og store programmeringskræfter
kan hentes gratis udefra.
-
Markeds-taberen. Har man allerede er produkt, som er hårdt
trængt økonomisk kan Open Source være det rigtige våben
at vælge. Som godt eksempel kan nævnes Netscapes kamp mod Microsoft.
Man kan ikke slå Microsoft, hvis man spiller efter de samme regler.
Microsoft kan og vil dog ikke følge Open Source, hvorfor Netscape
nu kan fortsætte dog med en helt ny strategi. Antallet af programmører,
der anbejder på Netscape Communicator er kraftigt stigende på grund
af adgang til kildeteksten og muligheden for at deltage i udviklingen.
Det er nok ikke helt forkert at tro, at Netscape har skaffet sig 10 gange
så mange reele programmører til projektet uden at skulle betale
dem noget for det. Netscape kan så tjene på service, andre
proodukter og de reklameindtægter de får ind på deres
hjemmesider.
-
Service firmaet. Har man et et godt produkt, kan man dele produktet
op i en form, hvor man kan få det med Open Source og dermed sikre
sig aktivitet og fremdrift, og dels i en del som er service og konfiguration
for kunder. Som eksempel kan nævnes databaser. Et er købet
af en database, men ofte er indtægterne fra service de vigtigste.
Ydermere kan man forestille sig at service firmaet sælger konfiguration,
så kunden kan få databasen og sælge eller anvende denne
gratis, efter at service firmaet har sat den op med de poster og muligheder
som kunden ønsker.
-
Hardware fabrikanen. Et firma som laver hardware,
f.eks. netkort, lydkort og grafikkort tjener
penge på at sælge hardware og drivere er egentlig en afledt
aktivitet. Folk køber selvfølgelig kombinationen, men tit
vil det ikke være forbundet med et tab at lade driverne være
på Open Source form, idet firmaet kan få rekruteret programmører
til at forbedre drivere for Driver firmaet uden at det koster noget.
For virksomheder, der får udviklet special-software af en leverandør, er
der en risiko for, at leverandøren af den ene eller anden grund stopper
udviklingen. Det kan være pga. manglende rentabilitet/ressourcer eller
konkurs.
Derfor er det vigtigt som kunde at have adgang til kildeteksten til den
specielt-udviklede software, så man har mulighed for at hyre andre til at
overtage udviklingen.
Som kunde bør man derfor sikre sig, at man enten selv overtager copyright
på det udviklede software, eller at softwaren bliver udviklet under Open
Source.
-
Missionskritisk software Er den software man udvikler meget kritisk
og kan de kritiske dele af softwaren sammensættes så det er
af mere generel anvendelighed, så kan Open Source være det
rigtige valg idet man kan få afprøvet programmellet af et
meget stærkt hacker samfund. F.eks. har ESA og NASA sat fokus på
Linux, pga. Linux' meget høje driftsikkerhed og dets meget åbne
og effektive måde, man i fællesskab løser fejl på.
Linux Development Model
Udviklingen af Linux kernen har vist os en hel ny måde at arbejde
på. Vi vil her forsøge at skitsere den udviklingsmodel, som
Linus Torvalds har benyttet (i begyndelsen ubevidst) i udviklingen af Linux.
-
Find et problem, som interesser dig. Det er i virkligheden oplagt, idet
man ved meget om det problem, som p.t. optager en, og man vil arbejde meget
hårdere for at løse det.
-
Gode programmører ved hvad der skal skrives, mens de bedste ved
hvad der skal omskrives og hvad der kan genbruges. Sagen er jo nemlig den,
at der findes allerede store mangler af programmel, som kan næsten
det, du står og mangler. Vi gør her dovenskaben til en dyd.
-
Når du mister interessen for dit projekt, skal du finde en, som vil
overtage projektet. For at et projekt skal lykkes, og en løsning
kan findes, kræver det, at du er meget engageret i projektet.
-
Behandl dine brugere som medudviklere. Medudviklere finder fejl,
isolerer dem og finder på løsninger. Derved bliver fejlene fundet
hurtigere. Man skal dog passe på; mange vil gerne hjælpe, siger de,
men man skal ikke forvente at alle i virkeligheden gør det. Det er
vigtigt at koordinatoren for projektet har adgang til et effektivt
kommunikationsmedium, f.eks. Internettet.
-
Frigiv tidligt, frigiv ofte. Dog skal du altid første gang have
en udgave, som har en vis funktionalitet, ellers er det umuligt at få
andre med på vognen. Naturligvis vil tidlige udgaver indeholde mange
fejl, men som nævnt tidligere vil fejlene hurtigt blive fundet. At
frigive udgaver af programmellet sældent har den psykologiske efftekt
på brugerne, at de bliver mere skuffet, når det finder fejl.
Et typisk tidsinterval mellem frigivelser er alt fra 1 dag til 6 uger.
Det er en god idè at have to tråde af udvikling: en til de
stabile udgaver og en til at afprøve de nye funktioner - dette anvendes
ved udviklingen af Linux.
-
Vær andrig bange for at skære gamle funktioner og pensioneret
kode væk. Det vil ofte give et simplere og mere effektivt program.
Epilog:
Denne artikel er i høj grad inspireret af Linux samfundets arbejdsmetoder
og specielt Eric Raymonds teoretiske arbejder, der kan læses på
http://www.tuxedo.org/~esr/
og specifikt om Open Source på
http://www.opensource.org
(http://mirror.opensource.dk/).
Det er oplagt at Open Source bryder med mange kendte udviklings
strategier, men der er helt oplagt at nutiden og fremtiden er ved at
vise styrken i det.
 |
 |
 |
| |
|
|
 |
| |
|
Fel och synpunkter angående webb-sidorna skickas till <www_admin>.
|
Senaste ändring
2004-03-07, klockan 21:25
.
|
|
|
 |
 |
 |
Denne side vedligeholdes af Kenneth Geisshirt (<kneth@sslug.dk>)