Hva som gjør Open Source programvare bedre enn de kommersielle
Det er hav av ulike rammeverk der ute, både kommersielle og såkalte open source prosjekter. De kommersielle er ofte svært dyre, mens mange open source varianter er helt gratis. Så hva er forskjellen? Jeg har ofte spurt meg selv hvorfor kjøpe et kommersielt produkt, når man har et tilsvarende produkt som er gratis. Jeg har ennå ikke klart å svare på det, men derimot er jeg i stand til å svare på hva som gjør open source programvare ofte det beste valget.
Med programvare her mener jeg typisk rammeverk og applikasjonstjenere. Og med kommersielle aktører uten å nevne navn så kan jeg si at en stor aktør som har nylig blitt kjøpt opp av en annen og som har et produkt som starter på web og slutter på logic, og en annen aktør som har et produkt som starter på web og slutter på sphere.
Så her er en liste over hva jeg mener gjør open source prosjekter bedre enn tilsvarende kommersielle produkter.
Bedre dokumentasjon
Det som ofte gjør rammeverk nyttige og populære er god dokumentasjon. Det er utallige eksempler på open source prosjekter som har svært god og ofte bedre dokumentasjon enn kommersielle alternativer. For å nevne noen så har vi web service rammeverket CXF, web presentasjons rammeverket Wicket og enterprise rammeverket Spring Framework. Dette gjelder både generell dokumentasjon av rammeverkene og dokumentasjon av APIene via typisk JavaDoc.
Bedre eksempler
De fleste open source rammeverk har et stort og bredt spekter av eksempler på bruk. Slike eksempler er svært viktig for å komme i gang, samt forstå hvordan rammeverket er ment å bli brukt. Ofte funger eksempler som proof of concepts som demonstrerer ulike sider av rammeverkene, og spesielt de mest typiske brukerscenarioene. Min erfaring med kommersielle produkter er at de har få eksempler, samt manglende eksempler på vanlig brukerscenarioer.
Bedre verktøystøtte
Det som ofte karakteriserer open source rammeverk er at de er støttet av populære verktøy som de fleste utviklere kjenner. Dette er typisk bruk av Maven, JUnit og Eclipse. Man trenger med andre ord ikke å ta i bruk proprietære utviklings suiter, men man kan være effektive og følge beste praksis rundt programvareutvikling. På den måten vil rammeverkene være med brukervennlig.
Bedre testet
Populære open source prosjekter har stort antall brukere, som oftest mange flere enn de kommersielle alternative. Og som et resultat av dette har vi god grunn til å tro at open source prosjekter er mye bedre testet enn de kommersielle. Alle som har jobbet med rammeverk har erfart at de har feil og bugs, og min erfaring er at kommersielle produkter har flere feil og mangler enn open source alternativene.
Bedre kodekvalitet
Dette er kun en påstand, men det er ting som typer på at kodekvaliteten på open source prosjekter ofte kan være bedre enn hos kommersielle alternativer. Det er flere grunner til dette. Den første er resultat av at populære open source prosjekter ofte er bedre og mer gjennomgående testet. For det andre så legger utviklere mye ære i det å lage god kode. Siden koden er signert av utvikleren og ligger åpent slik at hvem som helst kan se den, så legger man mye prestisje i produsere høy kodekvalitet. Noe som er en viktig faktor som spiller inn til brukernes beste.
Bedre brukerstøtte
Når man kjøper kommersielle rammeverk og programvare så er det nokså vanlig at man betaler for en supportavtale som skal gjøre bruk av rammeverket mer smærefritt. Min erfaring med slik support er at det er tregt og ofte innbærer mye frem og tilbake uten og virkelig å få hjelp. Med open source rammeverk som har flere tusen brukere og svært aktive forum er min erfaring at man ofte får hjelp i løpet av få timer.
Bedre modularisert
De fleste open source prosjektene laget for å løse et bestemt problem, og er ment som del i en større helhet. Det er derfor svært vanlig å mikse og trikse ulike moduler sammen. Noe som gjør open source verdenen svært kraftig siden man tar med kun de man trenger. De ulike prosjektene er laget for å fungere sammen med andre. Dette er i stor kontrast til de fleste kommersielle produktene som prøver å gjøre alt. Og som det er svært vanskelig å kombinere med produkter fra andre leverandører eller open source rammeverk.
Dette konkluderer mine tanker rundt open source og hva jeg synes oftest er det beste valget.
Det kommer neppe som noen overraskelse at jeg er enig. Her i Norge har vi svært mange eksempler på bedrifter som benytter Open Source, eller fri programvare som vi foretrekker å kalle det, nettopp fordi det gir dem en eller flere fordeler.
Den vanligste fordelen er som du også nevner, pris. I tillegg har man en rekke andre fordeler, som du også er inne på. Jeg har i tillegg lyst til å trekke fram kanskje den viktigste fordelen, nemlig økt eierskap til løsningene.
Når man tar i bruk fri programvare, står man selv fritt til å velge hvilken leverandør som skal bistå i implementeringsprosessen, dersom man trenger hjelp. Med proprietær programvare må man som regel benytte leverandøren, eller en partner av leverandøren. Med fri programvare står man altså fritt til å velge den leverandøren som passer best, enten det er pris, kvalitet eller service, eller en kombinasjon.
Vi har for øvrig skrevet mye om dette temaet i det siste nummeret av Friprogmagasinet. Det kan fritt lastes ned og distribueres etter eget forgodtbefinnende. Hvis du eller dere ønsker abonnement på papirutgaven, er det selvfølgelig bare å sende en e-post.
Flott. Økt eierskap og økt mulighet til å påvirke “produktet” er et gode poeng, og ikke minst det at det er mye letter å finne kompetanse på Tomcat enn på en kommersiell web-container er helt klart.
En leser har send meg følgende rapport som viser erfaringer med bruk av open source:”Open Source: Open for Business”.
http://www.csc.com/aboutus/leadingedgeforum/knowledgelibrary/uploads/1142_1.pdf