måndag, januari 16, 2006

Open Source kontra komersiella program

Vi har på swnet.politk diskuterat Open source kontra komersiella program. Båda har naturligtvis sin plats, sin nish. Förvånadsvärt många behov tillgodoses med OpS. Det finns Open Office som nästan alla klarar sig med, vi har GIMP för bildbehandling o.s.v. Tar vi med freeware som inte är klockrena Open Source så kan oerhört många behov tillgodoses. Vi har zipprogram t.ex. IZark som är bättre än kompressionsprogram man betalar för. Antivir är bättre än många betalprogram när det gäller antivirusskydd, listan kan göras ännu längre. Ingen kan påstå att Open Source och andra freeware inte fyller en oerhört viktig funktion. Vem som är "motor" i utvecklingen av programvara är omöjligt att säga, det föreligger en symbios mellan de olika typerna av programvara och dess utveckling, både OpS, freeware och komersiella program lever i symbios och påverkar varandra på hundra olika sätt. Rent komersiella program har som alla förstår sin plats hos användarna, GIMP klarar sig de flesta amatörer på som håller på med bildbehandling, proffsen vill nog ha Photoshop. Tror inte ett program som Dreamweaver skulle kunna utvecklas enbart med Open Source, där fyller den komersiella produktutvecklingen en viktig funktion.

4 kommentarer:

Anonym sa...

Hmm, du har rört ihop det lite. Något som kallas OpS finns inte, vad man brukar säga när man talar om fri och öppen mjukvara brukar förkortas till FOSS (Free and Open Source Software). Det är nämligen en mycket grundläggande skillnad mellas OSS (Open Source Software) och "Free Software". De har mycket gemensamt, men den grundläggande skillnaden handlar om moral och etik, där fri mjukvara handlar om att lösa upp immaterialrättsliga begränsningar, att man alltid skall vara fri att hjälpa sin näste, medan OSS "bara" ser till att källkoden skall vara öppen. Skillnaden ligger i de användarlicenser man licensierar mjukvaran med.

För att något skall kunna kallas fri mjukvara så skall följande friheter uppfyllas:

1. Friheten att använda i vilket syfte som helst.
2. Friheten att se hur det fungerar och använda den kunskapen i egna syften (kräver källkod).
3. Friheten att kopiera och ge bort kopior till andra.
4. Friheten att modifiera det efter behag och göra dessa ändrigar offentliga så att även andra kan dra nytta av dem (kräver källkod).

GPL licensen gör en mjukvara fri. Kravet i licensen är att din nästa alltid skall åtnjuta samma friheter som du själv (en moraliskt/etiskt vacker tanke). En OSS licens däremot, låter dig neka din näste de friheter du själv hade. BSD licensen är ett bra exempel, ett företag kan då ladda ned ett program med den licensen, kopiera kod hej vilt och sedan själv återpublicera det utan att källkoden är fritt tillgänglig och lägga begränsningar på användandet. Fri mjukvara försöker således garantera fortsatt frihet, vilket OSS inte gör.

Vad gäller drivkrafterna så brukar jag först påminna om att över 90% av alla arbetandes inom IT inte sysslar med att skriva proprietära program, de är istället IT-tekniker, driftansvariga, säkerhetsexperter, databasexperter, webbdesigners, reklamfolk, grafiker etc. i en lååång rad av yrken, sedan ger jag följande lilla hypotetiska exempel:

Företag A vill sänka sina kostnader för mjukvara och börjar använda det fria programmet Z, konkurrenten B får nys om det och vill göra samma sak, men de har lite högre krav och behöver göra några mindre förbättringar i programmet, de räknar på det och kommer fram till att det trots allt blir lönsamt att hyra in en specialist för att göra förändringarna, specialisten får således betalt för att utveckla gratis mjukvara. Specialisten gör sedan ändringarna offentliga i enlighet med GPL-licensen eftersom de även är distributör. Företag A ser då att det nu finns en uppdaterad version som är bättre än den version de har, de uppdaterar givetvis men upptäcker en liten bugg introducerad av specialisten som B aldrig märkt av, en av de anställda på företag A hittar felet och fixar buggen (en till avlönad kodare). Konkurrenten blir givetvis glad åt buggfixen och uppdaterar.

Summa summarum:

* A är nöjd och tjänar på mindre utgifter.
* B är nöjd och tjänar på mindre utgifter.
* Specialisten fick betalt och är nöjd.
* Den anställde hos A fick givetvis sin lön och är också nöjd.
* De som driver programprojektet är givetvis också glada för att ha fått hjälp med förbättringar och buggfixande av specialisten och den anställde hos företag A.

Dessutom, resten av världen har nu fått en förbättrad version av programmet att ladda hem om de har behov av det, den enda som inte är glad är det företag som inte fick kränga en uppdatering till sitt icke fria program. Börjar man sedan se det i lite större sammanhang, i stil med hela länders offentliga förvaltning, administration, försvar, skolväsende m.m. så ser man snabbt snöbollseffekten och antalet utvecklare bakom..

De avlönade programmerarna byter med andra ord bara arbetsgivare, från företag inriktade på att sälja licenser för kopior av program med hemlig källkod, till de stora användarna eller till konsultföretag. En flytt från produkt till tjänster alltså. Utvecklarna kommer alltså närmare användarna vilket är mycket positivt för all utveckling och sett i stor skala så kan fri mjukvara även få en viss inverkan på allt från handelsbalans, arbetstillfällen, skatter med mera. Det är alltså användarna som i slutändan tjänar på det, det vill säga, du och jag och alla andra.

För en liten fördjupning, varför det kan vara mycket ekonomsikt sunt för stora företag, såsom t ex. IBM, Oracle osv. att satsa på fri mjukvara förklarar Joel Spolsky på ett mycket bra sätt i sitt Strategy Letter V. Det är ju inte så att t ex. IBM helt plötsligt börjat idka välgörenhet, deras främsta mål är att tjäna pengar som alla andra företag, det handlar om "substitutes and complements" och "Commoditize your complements", man förstår det när man läst Joels strategy letter, han har lyckats förklara mikroekonomin bakom på ett lättläst sätt. Det kan dock ta ett tag innan "kronan trillar ned", vi är ju alla uppväxta och skolade i och för ett mer industriellt tänkande, vilket är helt naturligt. Men samhället befinner sig i en förändring där industrisamhället på utåg i likhet med tidigare bondesamhälle. Men sånt här går inte över en natt, vad vi går emot står skrivet i stjärnorna sas., våra barnbarn kanske kommer att kunna sätta ett namn på det i framtiden.

Ett annat lästips för att förstå utvecklingsmodellen bakom fri mjukvara är The Cathedral and the Bazaar av Eric S. Raymond. Han beskriver sina erfarenheter från sitt första programprojekt (fetchmail) utvecklat med Basaar-modellen, hans initiala syn var citat: "the Linux community seemed to resemble a great babbling bazaar of differing agendas and approaches out of which a coherent and stable system could seemingly emerge only by a succession of miracles". Men allt eftersom så trillade kronan ned och han skrev "Bazaaren" från sina erfarenheter, detta dokument gjorde honom världsberömd, han är numer känd som ESR. Denne ESR lutar dock mer åt OSS än fri mjukvara och är en av OSS-världens frontfigurer.

Fri mjukvaras frontfigur är framförallt Richard M. Stallman, känd som RMS. Richard var den som började att skapa det fria operativsystemet GNU, som senare fick Linus Torvalds unixliknande Linux som sin kärna. RMS startade också Free Software Foundation och var initiativtageren och den ursprunglige författaren till General Public License (läs den, den förklarar en hel del).

För en himla massa fördjupande läsning om fri mjukvara, dess moral, etik, politik osv. så ger ett besök på gnu.org/philosophy många länkar i ämnet.

Var hittar man då FOSS mjukvara som är helt fri att tanka hem och använda? Den största sajten är utan tvekan sourceforge.net med sina över 1 200 000 olika programprojekt, det mesta är för GNU-system med Linux som kärna, men mycket är för windows eller är helt plattformsoberoende.

Ett annat liknande ställe är Savannah som är kopplat till GNU och FSF och är inriktat på fri mjukvara, inte OSS, jag har dock ingen aning om hur många tusen olika projekt som är hostade där.

//Steelneck

Robsten sa...

Tack för lektionen Steelneck, sådana ingående kunskaper hade förvisso inte jag om Open Source, även om jag är en hängiven fan av densamma. OpS var en egentillverkad förkortning av open source då jag tröttnade på att skriva alla orden, ha, ha! My mistake. Eller så inför vi förkortningen. Varför deltar du inte i diskussionen på swnet politik om detta ämne, du skulle tillföra en hel del?

Anonym sa...

Under vilken rubrik?

Jag hittar inget om OSS eller FOSS, sorterade tom. på dina inlägg (Robsten) men hittar bara sånt om Piratpartiet, Elitpartier, Valår spå.., Skånes självst... osv.. Du kan ju om inte annat länka till hit eller nyttja lite klipp o klistra - du har mitt tillstånd, å det är ju din blogg..

Robsten sa...

Japp! Skall titta på det i kväll. Kanske starta en tråd med rubriken Open Source- grundläggande fakta samt klistra in valda delar av din kommentar samt länkar längst ner.