190 likes | 253 Views
Katedralen og basaren. Om open-source programvare og åpne kontra lukkede utviklingsprosesser av Jan Høiberg, may 2005. Innhold. Noen definisjoner Litt historikk om open-source bevegelsen Lukkede og åpne utviklingsprosesser - katedralen og basaren Noen vellykkede basarprosjekter
E N D
Katedralen og basaren Om open-source programvare og åpne kontra lukkede utviklingsprosesser av Jan Høiberg, may 2005
Innhold • Noen definisjoner • Litt historikk om open-source bevegelsen • Lukkede og åpne utviklingsprosesser - katedralen og basaren • Noen vellykkede basarprosjekter • Open-source prosjekter ved HiØ • Hvordan kan du bli en ekte hacker og bidragsyter i open-source prosjekter? • Hva med den kommersielle IT-bransjen hvis open-source tar over?
Hva er open-source programvare? • Selve programkoden – source – er fritt tilgjengelig – open - når programmet kjøpes eller lastes ned. • Bruker kan dermed modifisere koden og tilpasse programmet til egne behov. • I motsetning til kommersielle, proprietære programmer som MS Office - der kode og filformater oftest er ”hemmelige” og ikke synlige for bruker. • Analogi: En bil der du selv ikke kan åpne panseret. • Mer presise definisjoner: opensource.org
Hvorfor open-source? • Kildekode er lite interessant for vanlige brukere og firmaer uten egne utviklere. • Men: Åpen kode blir alltid utviklet videre av andre, mer avanserte brukere, og distribueres ofte videre gratis på internett. • Resultat: Vi får stadig flere verktøy av meget høy kvalitet – og mange av dem kan lastes ned kostnadsfritt. • Brukere – både private og kommersielle – kan fritt velge andre og ofte bedre OS og programmer enn de som kan kjøpes fra de tunge kommersielle aktørene.
Litt historikk:Kommersialiseringen av Unix • Operativsystemet Unix ble videreutviklet på amerikanske universitet og forskningslab’er på 70-tallet – tilnærmet ikke-kommersielt og med åpen, full C-kode. • Deling av kode over nett var vanlig (og ga opphav til bl.a. mail, news og ftp). • Programvare ble ”big business” på 80-tallet. Unix ble kommersialisert og solgt uten kildekode.
Richard Stallman (MIT) og the Free Software Foundation starter i 1984 GNU-prosjektet. Formål: Lage et høy-kvalitets Unix-system som skal distribueres gratis. Sikre at open-source programvare forblir open-source. The hippies are taking over!
GNU General Public License • GNU GPL – aka ”copyleft”. • Brukes i GNU programvare og andre open-source og open-document (GNU FDL) prosjekter (Linux, Perl, Python...). • Gir brukeren rett til å forandre og videreutvikle koden. • Forandringer kan holdes ”skjult” hvis de kun brukes internt, men: • Ved videresalg eller distribusjon av forandringene, forplikter man at disse igjen må deles ved GNU-lisensiering.
GNUs utviklingsmodell: ”Katedralen” • Arbeidsstilen er ganske lik som hos kommersielle leverandører: En lukket gruppe med høyt kvalifiserte eksperter arbeider frem en ny versjon av et program, før den slippes offisielt (gratis og med full source). • Lang tid mellom hver ny release. • Brukere gir feedback, men kan ikke uten videre bidra med kode til neste versjon.
GNU-produkter • Editorer (emacs), Unix-verktøy av alle slag, kompilatorer, komplette programmeringsomgivelser, bildebehandling... og det meste annet... alt av høy kvalitet. • I 1990 utgjorde GNU-systemet nesten et fullstendig operativsystem – med unntak av selve kjernen.
1991 – Linus Torvalds og Linux • CP-M har tapt OS-krigen for PC’er - MS-DOS/Windows dominerer. • October 1991:Linus Torvalds poster (på news) en (uferdig) versjon 0.02 av kjernen i et Unix-lignende operativ-system for IBM-kompatible PC’er. • Stor respons fra interesserte brukere. • Samtidig: Eksplosiv vekst av web’en.
Linux - ”basarens” debut • Linux ble utviklet ved at en høylytt, sterkt voksende brukermasse på internett, med varierende kompetanse, frivillig og gratis forbedret og utvidet koden. • Linus Torvalds ble etterhvert mere koordinator og mindre programmerer -brukerne ble utviklerne. • Ut av ”kaoset” vokste et operativsystem som i dag er profesjonelt (POSIX-sertifisiert) og stabilt, med titalls millioner brukere.
Kjennetegn ved basarmodellen • Produktet som utvikles har mange programmeringskyndige brukere. • Tidlige og hyppige utgivelser. • Problemer blir raskt funnet og løst: ”Med mange nok øyne blir alle bugs synlige” (Delphi-effekten) – eller ”Mange hjerner er alltid bedre enn en”. • Utviklerne drives av motivasjon - og koordinatoren(e) får en helt annen (og hyggeligere) rolle enn en vanlig ”sjef”.
Forutsetninger for basarstilen • En dyktig og sosialt intelligent prosjektleder/ koordinator. • En kodebase eller et grunnleggende designkonsept må finnes – bygging fra scratch vanskelig. • Et effektivt distribusjonsmedium – som internett. • Mange betatestere.
Noen gode basarprosjekter • GNU Emacs Lisp Library (det første - eller var det info-ZIP fra BBS-tiden?) • Linux • fetchmail (Eric S. Raymond vs. GNU) • Netscape -> Mozilla -> Firefox • Experimental Gnu Compiler System (EGCS) – som førte til nedlegging av arbeidsgruppen for GCC...
Open-source/open-content/ basar prosjekter ved HiØ • Audun Vaaler og Børre Ludvigsen: Digital kringkasting, media.hiof.no • Børre Stenseth: Content management systemene SiteLite og WXT (begge under GPL) og Grafisk Databehandling (GFDL) • Roland Olsson: ADATE (GPL) • Gunnar Misund: OneMap (GPL og GFDL) • Rune Winther: HODD • Børre Ludvigsen: Al-Mashriq • Jan Høiberg: The Band web site
Hvordan bli en del av open-source/basar verdenen? To follow the path/ Look to the master Follow the master/ Walk with the master See through the master/ Become the master
Grav deg ned i faget, finn problemer som du er interessert i å være med å løse. • Ikke finn opp kruttet på nytt, bruk den fantastiske friheten som nettet gir oss. • Lær programmering – Java, C/C++, Perl, Python og LISP. • Skaff deg Linux eller en annen open-source Unix og lær å mestre den. • Skaff deg en hjemmeside, lær (X)HTML og nettpublisering. • Engelsk er arbeidsspråket – lær funksjonell engelsk og delta i internasjonale fora. • Studér og forstå ”hacker-kulturen”, vis respekt og bruk tid på å komme ”inside”. • Og... du trenger hverken å hate Microsoft eller være et matte-geni for bli en ordentlig hacker!
Men...hva skal vi leve av? • Gratis programvare? Laget av frivillige som arbeider uten lønn? • Distribusjon av open-source er big business (RedHat m.fl. – mange fl.). • Meritter i hacker-verdenen kvalifiserer! • Kommersiell programvare med garantier for support og funksjonalitet vil alltid være etterspurt – selv om M$ dør. • Konsulent/”skreddersøm”-bransjen avhenger ikke av om basisproduktene er kommersielle eller open-source, jfr. Linpro.
Kildelitteratur • "Milestones in the Open-Source Movement”, PC Magazine, Vol.18, No.6, 1999 • ”Upfront – fun + news”, Linux Journal, 1-2003. • Christopher Koch: ”Linux Scales New Heights”, CIO Magazine, Januar 2003. • Eric S. Raymond: ”The Cathedral and the Bazaar”, www.tuxedo.org, August 2000. • Eric S. Raymond: ”How To Become A Hacker”, www.tuxedo.org, 2001. • Laurence Schorsch: ”Free for all: Open source software changes the rules”, The Boston Globe, 24.12.2002.