Örebro universitet Informatik C, 20 p Ht 2002 Mozilla - en översikt. Version 1.00 Fredrik Björeman, 800706 Sammanfattning Netscape släppte 1998 källkoden till Communicator 4, en programsvit vars viktigaste del är webbläsaren Navigator. Utvecklingen av denna frisläppta kod har sedan fortsatt under namnet Mozilla. 5 juni 2002 släpptes Mozilla version 1.0. Denna rapport beskriver vad Mozilla är, hur Mozilla är uppbyggt och diskuterar varför Mozilla släpptes fritt och vilken påverkan detta har haft. Mozilla är en uppsättning tekniker och komponenter för utveckling av plattformsoberoende applikationer. Centralt för detta är XPCOM, ett ramverk för att skapa komponenter som enkelt kan flyttas mellan operativsystem. XUL är ett märkspråk som används för att definiera grafiska gränssnitt. Gecko är Mozillas layoutmotor, som även används för att rita upp gränssnittet i applikationer som använder XUL. Det är dessa tekniker som gör Mozilla till mycket mer än en webbläsare, Mozilla kan användas som en plattform för att skapa applikationer som är plattformsoberoende eller lätt kan flyttas till andra miljöer. Mozilla är släppt under en uppsättning licenser för fri mjukvara som gör koden fri att använda för alla men samtidigt inte kräver att applikationer som använder sig av koden släpps under samma licens. Kod från Mozilla fortsätter dock alltid att lyda under samma licens. I och med detta kan varken Netscape eller någon annan stoppa eller dra tillbaks Mozilla, koden är och förblir fri. Det råder en viss förvirring kring syftet med webbläsaren Mozilla. Det uttalade syftet är att webbläsaren ska vara en demonstration av vad som kan göras med Mozilla, inte att vara en produkt för slutanvändare. Detta missas dock ofta, och en del negativa kommentarer mot webbläsaren Mozilla är inte relevanta om detta hålls i minne. Begreppslista AOL America Online, USAs största internetleverantör. AOLs kunder kommer åt Internet via en speciell klient som även tillhandahåller andra, AOL-specifika, tjänster, exempelvis egna diskussionsforum och egen epostklient. API Application Programming Interface, en uppsättning klasser som kan användas för att erhålla en viss funktionalitet eller uppfylla ett visst syfte. Flikar Med flikar (tabs på engelska) menas i webbläsare en eller flera webbsidor öppna samtidigt i samma webbläsarfönster. Varje webbsida får ett eget fönster och varje fönster brukar få en ”flik”, en knapp någonstans i gränssnittet som lägger webbsidan överst. Javascript Javascript, eller ECMAScript1 som standarden kallas, är ett programmeringsspråk först skapat för och använt i Netscape Navigator 2.0. Layoutmotor Den del av en webbläsare som tolkar innehåll och formatteringsinformation och visar det faktiska resultatet på skärmen. Musgester Rörelser utförda med musen som fungerar som snabbkommandon, exempelvis för att gå framåt och bakåt i webbläsaren eller ladda om en webbsida. W3C World Wide Web Consortium, organisation som utformar rekommendationer och standarder (rekommendationer, W3C kräver inte följande av rekommendationerna) för world wide web. 1 ECMA (1999-12), ”ECMAScript Language Specification, Edition 3”. Innehåll 1 2 3 4 5 6 7 8 Inledning ........................................................................................................................... 1 1.1 Bakgrund .................................................................................................................... 1 1.2 Frågeställning/problem ............................................................................................... 2 1.3 Analys av frågeställning/problem .............................................................................. 2 1.4 Avgränsning ............................................................................................................... 2 1.5 Intressenter ................................................................................................................. 3 1.6 Målgrupp .................................................................................................................... 3 Syfte ................................................................................................................................... 3 Perspektiv .......................................................................................................................... 3 3.1 Koppling till befintlig kunskap .................................................................................. 3 3.2 Centrala begrepp ........................................................................................................ 4 3.2.1 Mozilla/Mozillaprojektet .................................................................................... 4 3.2.2 Webbläsaren Mozilla.......................................................................................... 4 3.2.3 mozilla.org.......................................................................................................... 4 3.2.4 Plattform/utvecklingsplattform .......................................................................... 4 Metod ................................................................................................................................. 4 4.1 Datainsamling och bearbetning .................................................................................. 4 4.1.1 Objektivitet ......................................................................................................... 5 4.1.2 Reliabilitet .......................................................................................................... 5 Resultat .............................................................................................................................. 6 5.1 Vad är Mozilla, egentligen? ....................................................................................... 6 5.1.1 Mozilla – det svårfångade begreppet ................................................................. 6 5.1.2 Plattformen - teknikerna bakom Mozilla ........................................................... 6 5.1.3 Gecko ................................................................................................................. 7 5.1.4 Andra centrala komponenter .............................................................................. 8 5.2 Mozilla Public License vs. GNU General Public License ......................................... 8 5.3 Några projekt som använder Mozillakod ................................................................... 9 Analys .............................................................................................................................. 10 6.1 Varför släppte Netscape Mozilla fritt? ..................................................................... 10 6.2 Hade Mozilla sett annorlunda ut om Netscape inte släppt det? ............................... 10 6.3 Varför stöder AOL Mozilla? Vad händer om de slutar? .......................................... 10 6.4 Mozillas för- och nackdelar...................................................................................... 11 6.4.1 Fri/inte gjord av Microsoft/osv. ....................................................................... 11 6.4.2 Plattformsoberoende, inte integrerad med något operativsystem .................... 12 6.4.3 Prestanda .......................................................................................................... 12 6.4.4 Oplanerat gränssnitt i webbläsaren .................................................................. 12 6.4.5 Oklarheter om mening och användningsområde .............................................. 12 6.5 Är Mozilla en fungerande utvecklingsplattform? .................................................... 13 6.6 Spelar Mozilla någon roll? ....................................................................................... 14 Slutsatser ......................................................................................................................... 14 Källförteckning ............................................................................................................... 16 1 Inledning 1.1 Bakgrund I början av 1998 pågick fortfarande ”webbläsarkriget” mellan Microsofts Internet Explorer och Netscapes Navigator. Båda produkterna var uppe i version 4. Netscape hade fortfarande en större andel av användarna, men Internet Explorer ökade snabbt. Den 23 januari 1998 tillkännagav Netscape att Netscape Communicator2 med omedelbar verkan gjordes gratis för alla (tidigare kostade licenser pengar för företag) att använda och att detsamma skulle gälla för alla framtida versioner. Dessutom skulle även källkoden för framtida versioner göras tillgänglig gratis och för fritt användande. Netscape Communicator 5:s källkod skulle göras tillgänglig från och med den första utvecklarversionen senare samma kvartal. Alla som var intresserade skulle kunna bidra till utvecklingen av kommande versioner av Communicator och använda dem för egna syften. Källkoden skulle släppas under en licens baserad på GNU General Public License (GPL), som bland annat tillåter fritt användande och modifierande av källkod. Namnet Mozilla dök från första början upp som arbetsnamn på första versionen av Netscape Navigator. Sedan blev det namnet på den gröna ödla Netscape hade som maskot, och till slut togs namnet över som beteckning på det nya öppna projektet. Källkoden för första förhandsversionen av Netscape Communicator 5 släpptes 31 mars 1998. Somliga klagade på att koden var av lägre kvalitet än de hoppats3. Tanken var att utveckla Netscape 5 vidare på koden från version 4, en framtida version 6 skulle sedan bygga på mer eller mindre nyskriven kod. Mot slutet av 19984 bestämde man sig dock för att helt överge koden från version 4 och inrikta sig på nyskriven kod. Den nya koden skulle vara modulär och underlätta portning till nya plattformar. Netscape hade redan innan frisläppandet av koden påbörjat arbetet med en helt nyskriven layoutmotor för kommande webbläsare, och denna kod infogades nu som en central del i Mozilla. Det är också därför som det aldrig kom en version 5 av Netscape Navigator/Communicator. 17 mars 19995 avslutades AOLs uppköp av Netscape, något som vissa på förhand hade fruktat skulle innebära slutet för Mozillaprojektet. AOL hade dock tidigt i processen uttalat sitt stöd för Mozilla och har fortsatt betala det dryga hundratal Netscapeanställda som arbetar med projektet.6 Versionsnumreringen började om för Mozilla på 0.0 och 5 juni 2002 nåddes version 1.0. 2 Communicator är en uppsättning med program där webbläsaren Navigator är det viktigaste. Även program för epost och webbsideskapande ingår. 3 TechWeb (1998-04-06), ”Communicator Code Less Polished Than Some Expected” och TechWeb (1998-0403), ”Communicator Code Gets Mixed Developer Reaction”. 4 mozilla.org (1998-10-26), ”Development Roadmap”. 5 America Online, ”Who We Are”. 6 mozilla.org (1998-11-23), ”fear and loathing on the merger trail”. 1 1.2 Frågeställning/problem Uppslaget att skriva en rapport om Mozilla kom när jag hittade en artikel om att Mozilla var på väg uppåt som utvecklingsplattform7. När jag började söka mer information om Mozilla upplevde jag att det finns ett glapp mellan kortfattade introduktioner av Mozilla och rent teknisk information om olika delar av Mozilla. Detta glapp vill jag fylla med denna rapport. Det var svårt att få en bra bild av vad Mozilla egentligen innebär. Är det bara en webbläsare? Är det en utvecklingsplattform? Vad är det som gör att det talas om Mozilla som det ena eller andra? Utifrån detta formulerade jag följande centrala frågeställningar/problem: Klargöra vad Mozilla egentligen är och vad som räknas in i Mozilla. Är Mozilla verkligen en utvecklingsplattform? Vad innebär licensen Mozilla släppts under? Vilken påverkan har och hade detta? 1.3 Analys av frågeställning/problem Säger man Mozilla tänker de flesta (förutsatt att man räknar bort den grupp som aldrig hört talas om Mozilla överhuvudtaget) på en webbläsare. Den artikel8 jag fann visade dock tydligt att Mozilla åtminstone hade potential att användas till mycket mer än så. De första besöken på Mozillaprojektets dokumentationssidor gjorde om något förvirringen större, med ett virrvarr av olika förkortningar, projekt och korsreferenser. Därför är min första målsättning att helt enkelt reda ut vad Mozilla är och försöka få fram en så klar definition som möjligt. Sedan vill jag fundera över Netscapes frisläppande av källkoden och vilken påverkan detta har haft. Hade Mozilla sett annorlunda ut om Netscape inte gjort det till öppen källkod? Hade artikeln om Mozilla som utvecklingsplattform skrivits om ett Mozilla som Netscape var ensam utvecklare av? Och vilka licenser gäller egentligen för källkoden? Licenserna bör kunna ha viss påverkan på andra parters villighet att använda och bidra till källkoden. Är det möjligt för Netscape att ”ångra sig”, på något sätt stoppa eller lägga ner utvecklingen av Mozilla? Dör Mozilla om Netscape eller AOL slutar stödja det? Utöver detta vill jag också se vad Mozilla faktiskt används till. Artikeln nämnde ett projekt och några tillägg till webbläsaren, men det bör finnas mycket fler om någon ska våga påstå att Mozilla är på väg uppåt som utvecklingsplattform. Helt enkelt: vilka använder Mozillakod, och till vad? 1.4 Avgränsning Min huvudfrågeställning är alltså att klargöra vad Mozilla är och vad Mozilla används till. Jag tänker försöka hålla mig på ett överskådligt plan och inte gå in på fler tekniska detaljer eller liknande än nödvändigt. Detaljerna beskrivs redan utförligt på många webbplatser. Jag har inte för avsikt att diskutera hur projektet bedrivs rent organisatoriskt och jag tänker inte heller göra några jämförelser mellan olika webbläsare eller andra projekt baserade på öppen källkod. 7 8 Manjoo, Farhad (2002-07-10), ”Mozilla Rising”. Manjoo, Farhad (2002-07-10), ”Mozilla Rising”. 2 Samma sak gäller för licenser och deras påverkan. Jag är intresserad av konkreta effekter för de som kommer i kontakt med Mozilla, inte någon djupare filosofisk diskussion av om någon annan licens hade varit bättre eller sämre. 1.5 Intressenter mozilla.org, den grupp som organiserar utvecklingen av Mozilla, är intressenter i denna rapport. Rapporten tar upp Mozilla på ett övergripande plan som saknas i den information mozilla.org tillhandahåller. Andra personer eller grupper, exempelvis utvecklare som vill veta om de kan ha nytta av Mozilla, som söker en sammanfattning av vad Mozilla är och innebär har också intresse av rapporten. Microsoft kan också ses som intressenter. Internet Explorer är den mest använda webbläsaren i dagsläget, och satsar stora resurser på att marknadsföra .NET som utvecklingsplattform. Mozilla är åtminstone en möjlig konkurrent på båda dessa områden. 1.6 Målgrupp Denna rapport vänder sig till de som inte är bekanta med Mozilla och vill ha en överblick över vad som innefattas i namnet. Vissa kunskaper om programmeringstermer och tekniker relaterade till webben (XML, CSS och liknande) förutsätts, men djupare kunskaper krävs inte för att tillgodogöra sig innehållet i rapporten. 2 Syfte Mitt syfte är främst att klargöra vad Mozilla är. Jag ska ta reda på vad som räknas in i Mozilla och beskriva detta, liksom de licenser Mozilla lyder under. Jag ska sedan diskutera om Mozilla kan betraktas som en utvecklingsplattform samt vilken påverkan frisläppandet av Mozilla och de licenser under vilka detta skedde kan ha haft. Dessutom ska jag ta upp och diskutera några ofta nämnda faktorer för och mot Mozilla. 3 Perspektiv 3.1 Koppling till befintlig kunskap Det finns en hel del information om Mozilla eller som relaterar till Mozilla på Internet. Allt från hela webbplatser om hur specifika tekniker används till korta nyhetsartiklar om nya versioner av webbläsare som använder kod från Mozilla. Det finns inga rapporter skrivna här på universitetet som behandlar Mozilla. Jag har hittat en rapport9 som studerar utvecklingen av Mozilla och webbservern Apache, men den betraktar bara delar av utvecklingsprocessen som inte intresserar mig i denna rapport. Mozillaprojektets webbplats har en stor mängd information, främst av teknisk karaktär, som jag har utnyttjat som källor. Jag har själv ägnat mig åt att utveckla webbplatser på hobbynivå, både i ”ren” HTML och med PHP och databaser. Jag har även studerat bland annat Java, JSP, ASP och XML. Mitt perspektiv innefattar alltså att närma sig Mozilla med erfarenhet av utveckling för webben och Mockus, Fielding, Herbsleb (2002-01-18), ”Two Case Studies of Open Source Software Development: Apache and Mozilla”. 9 3 naturligtvis omfattande surfande. Jag har prövat webbläsaren Mozilla av och till under dess utveckling och efter version 1.0 har jag alltmer kommit att använda den som min huvudwebbläsare. Tidigare föredrog jag Opera10. 3.2 Centrala begrepp 3.2.1 Mozilla/Mozillaprojektet Dessa två termer använder jag i denna rapport som övergripande allt som ingår i projektet kring Netscapes frisläppta källkod. Om jag skriver Mozilla i texten menar jag alltså inte bara en webbläsare utan hela det projekt i vilket utvecklingen av en körbar webbläsare är en del. Något som ”är baserat på Mozilla” eller ”använder kod från Mozilla” behöver alltså inte ha något med webbläsaren Mozilla (se nästa begrepp) att göra. 3.2.2 Webbläsaren Mozilla Med ”webbläsaren Mozilla” menar jag den körbara webbläsare som Mozillaprojektet gör tillgänglig för nerladdning. 3.2.3 mozilla.org mozilla.org är både adressen till Mozillaprojektets webbplats och benämningen på den grupp som arbetar med samordnande av projektet. 3.2.4 Plattform/utvecklingsplattform Med begreppen plattform och utvecklingsplattform menar jag i denna rapport någon form av ramverk som stödjer utveckling av nya applikationer. Jag kommer mest att diskutera plattformen Mozilla, och försöker hålla isär begreppen genom att benämna de plattformar Mozilla själv körs på operativsystem. När jag använder termen plattformsoberoende menar jag dock någonting som enkelt kan flyttas mellan olika operativsystem, eftersom jag anser att denna innebörd är mer eller mindre självklar för de som är bekanta med begreppet. 4 Metod 4.1 Datainsamling och bearbetning Insamlandet av information för denna rapport har utförts helt via Internet. Eftersom utvecklingen av Mozilla bedrivs över Internet och den publicerade informationen ständigt uppdateras har inte tryckta källor känts speciellt intressanta. Mozilla och Slashdots11 webbplatser har varit viktiga utgångspunkter. Slashdot är ett teknikorienterat forum som publicerar länkar till aktuella nyhetsartiklar och låter användare diskutera dessa. Artiklarna sorteras efter ämne vilket underlättar genomgång av materialet. Slashdot arkiverar alla sina inlägg, men många artiklar dessa länkar till (och är kommentarer om) , har på ett eller annat sätt försvunnit sedan första publiceringen. Dessutom går det inte att se läsares kommentarer 10 11 Opera. Slashdot. 4 på nyheter som är alltför gamla. Att få en översikt av läsares åsikter om nyheterna genom att läsa kommentarerna hade kunnat vara värdefullt, men var alltså inte möjligt. Sökmotorn Google har också använts för mer allmänna inledande sökningar efter nyhetsnotiser och artiklar. I källförteckningen visas sökorden som använts efter källan för artiklar som hittats via Google. Google har dessutom ett stort arkiv av nyhetsgrupper, tidigare DejaNews, bland annat ett stort antal grupper som diskuterar utvecklingen av olika delar av Mozilla. Dessa har jag gått igenom under informationssamlandet men inte dragit någon omedelbar nytta av. Som källa betraktat anser jag inte nyhetsgruppsinlägg speciellt användbara för detta arbete, mängden meddelanden och åsikter som måste gås igenom för att få fram information har gjort att jag prioriterat andra källor. Jag har föredragit att ta information från källor så nära upphovet som möjligt. 4.1.1 Objektivitet Objektiv är det omöjligt att vara, men jag tror inte att mina egna åsikter kommer att färga rapporten alltför mycket. Mitt främsta mål är att reda ut vad som egentligen räknas in i Mozilla. Möjligen kan jag i det sammanhanget göra andra tolkningar av vad som ingår eller bedöma någontings betydelse annorlunda, så att jag ger det mindre utrymme än vad någon annan skulle göra, men jag tror att mina val och bedömningar kommer att vara motiverade av mitt ämnesområde och mina avgränsningar. Mina slutsatser i analysdelen är naturligtvis helt subjektiva och baserade på min tolkning av tillgänglig information. Då en stor del av datainsamlingen har handlat om att hitta ganska ren teknisk information anser jag inte att risken för påverkande vinklingar eller åsikter är speciellt stor. Nyhetsartiklar, recensioner och diskussioner av problem använder jag som underlag för analysen och som referenser. Dessa är naturligtvis åsiktsfärgade på ett helt annat sätt, men jag använder dem främst för att illustrera vilka åsikter som finns om Mozilla och inte som rena sanningar. 4.1.2 Reliabilitet Det är svårt att uttala sig om reliabiliteten. Om jag eller någon annan skulle svara på mina frågeställningar igen skulle de eller jag, förutsatt att situationen är ungefär densamma när frågorna upprepas, få fram samma information, men det är inte säkert att samma slutsatser skulle nås. Analysdelen är som sagt min egen tolkning av tillgänglig information och det är inte alls omöjligt att någon annan med ett något annorlunda perspektiv skulle tolka resultatet annorlunda. Jag skulle komma fram till samma saker, men inte nödvändigtvis någon annan. 5 5 Resultat 5.1 Vad är Mozilla, egentligen? 5.1.1 Mozilla – det svårfångade begreppet Mozilla är alltså det namn som används för den programvara som utvecklats i det öppna projekt som startade med släppandet av källkoden till Netscape 4. Försöken att närmare definiera vad som ingår i Mozilla tenderar att bli problematiska, det man kan sammanfatta med är ungefär detta: ”Mozilla is a set of technologies, but not a specific (in biologic terms, Mozilla is a genus; a particular product is a species).”12 Med detta får man tydligt fram att Mozilla är avsett som en plattform att bygga andra produkter på. Projektnamnet för webbläsaren byggd på Mozilla som mozilla.org själva arbetar med är för övrigt SeaMonkey. Mozilla är i nuläget alltså de tekniker som räknas upp nedan och ett antal moduler som byggts med och använder dessa tekniker. Målsättningen med Mozilla är inte att producera en enda webbläsare utan att ta fram en uppsättning tekniker och moduler som underlättar skapande av applikationer som lätt kan flyttas mellan olika operativsystem. Webbläsaren Mozilla är ”bara” ett exempel på användande av Mozillas tekniker och moduler. Illustrationen nedan är ett eget försök att förklara sammanhangen. Mozilla Kärnkomponenter (Gecko, nätverksbibliotek osv.) Kärntekniker (XPCOM, XUL, osv.) Webbläsaren Netscape Webbläsaren Mozilla Illustration av Mozilla och förhållandet kärntekniker – kärnkomponenter – Mozilla – webbläsare. (Källa: egen) 5.1.2 Plattformen - teknikerna bakom Mozilla13 Teknikerna Mozilla använder sig av gömmer sig bakom ett antal förkortningar, de flesta med åtminstone ett ’X’ eller ännu hellre ’XP’ i. Det är dessa tekniker som gör att Mozilla kan betraktas som en utvecklingsplattform, då de möjliggör skapande av applikationer som körs på Mozilla oavsett vilket operativsystem Mozilla i sin tur körs på. Längre och mer detaljerade 12 13 mozilla.org, ”The mozilla.org mission”. Från mozilla.org, ”Core Architecture” med undersidor. 6 diskussioner ligger utanför denna rapport, men ytterligare information kan fås från källorna i källförteckningen. NSPR (Netscape Portable Runtime) är ett bibliotek som tillhandahåller diverse basfunktioner (trådning, I/O och annat på systemnivå) genom ett plattformsoberoende API. XPCOM (Cross-platform Component Object Model) är ett ramverk för att skapa modulära och plattformsoberoende applikationer. Tanken är densamma som för Microsofts COM, att skapa modulär, lättunderhållen och framför allt återanvändbar kod. Den tydligaste skillnaden på ett övergripande plan är att XPCOM-objekt kan användas på mycket fler operativsystem än COM-objekt kan. XPCOM ”stöder i princip vilken plattform som helst som har en anständig C++-kompilator”14. XPCOM-objekt kan i grunden skrivas i C, C++ och Javascript och utnyttjas från samma språk. Tekniken som tillåter anrop av XPCOM-objekt från Javascript kallas XPConnect. Bindningar finns dessutom för att skapa och anropa XPCOM-objekt från språken Perl, Python och Ruby. XPToolkit/XP Front End (XPFE) är ett övergripande namn och projekt för allt som har med Mozillas gränssnittshantering att göra. Målsättningen är att göra plattformsoberoende gränssnitt lika enkla att skapa som webbsidor och XUL med tillhörande tekniker är verktygen som skapats för att uppnå det målet. XUL står för ”XML User Interface Language” och är ett märkspråk för att definiera grafiska gränssnitt. Med XUL och Javascript kan man konstruera helt plattformsoberoende applikationer. XUL är en delmängd av XML och följer alla regler för XML. För att ge XULapplikationer ytterligare funktionalitet kan XBL (Extensible Binding Language) användas. Med XBL kan man nya XUL-element och beteenden definieras. Med XUL kan man snabbt skapa grafiska gränssnitt som ser ut och fungerar likadant på alla operativsystem. XPInstall gör installation av Mozillaapplikationer plattformsoberoende. XPInstall tillhandahåller ett API för att genomföra programinstallationer. Skaparen av en applikation förpackar denna i en xpi-fil som sedan kan installeras av användare direkt över nätet utan att användaren behöver ladda ner och köra några installationsprogram. Det går även att skapa ”vanliga” körbara installationsprogram som utnyttjar XPInstall, installationsprogrammet för webbläsaren Mozilla är ett exempel. 5.1.3 Gecko Gecko är namnet på layoutmotorn som utvecklats i Mozillaprojektet. Gecko är själva hjärtat i webbläsaren, som tolkar och presenterar all data i webbläsarfönstret. Gecko lägger sig inte i hur fönstret dess information presenteras i ser ut eller vilka funktioner, knappar och så vidare det har. Till skillnad från Netscapes gamla layoutmotor och Internet Explorer försöker Gecko inte lansera några egna funktioner utan inriktar sig helt på att följa W3Cs standarder. Gecko har i Mozilla 1.0 fullt stöd för CSS1, DOM nivå 1, HTML 4.0 och MathML samt delvis stöd för CSS2.15 Se W3Cs webbplats för beskrivningar av standarder. 14 15 Fritt översatt, developerWorks (2001-02), ”XPCOM Part I: An introduction to XPCOM”. Se mozilla.org, ”Demos” för exempel på standardstöd som kan jämföras i olika webbläsare. 7 Webbläsaren Mozilla och flera andra (Netscape Navigator och Phoenix exempelvis) använder Geckos funktionalitet även för att visa och hantera själva webbläsarfönstren. På detta sätt får dessa webbläsare ett och samma utseende på alla operativsystem och grafiska miljöer de körs på. Gecko är i och med detta en del av XPToolkit. 5.1.4 Andra centrala komponenter Necko är Mozillas nätverksbibliotek, som hanterar uppkopplingar, hämtande av data och så vidare. Necko är inriktat på att tillhandahålla funktionalitet på klientsidan. Javascriptbiblioteket tillhandahåller möjligheterna att använda Javascript dels på webbsidor men också i själva Mozilla, vilket gör biblioteket enormt viktigt. Bildbiblioteket sköter all hantering och visning av bilder, också en ganska central funktion i många sammanhang. 5.2 Mozilla Public License vs. GNU General Public License Vad GNU16 är ligger utanför denna rapports omfång, men kort kan GNU beskrivas som ett projekt för att utveckla ett helt fritt operativsystem med tillhörande program. ”Fritt” betyder i detta sammanhang både att produkten är gratis att skaffa och använda och att källkoden finns tillgänglig så att vem som helst kan se och ändra i den. Dessutom står det vem som helst helt fritt att göra vilka ändringar som helst i programmen och sedan vidaredistribuera sina ändringar. Dessa principer för att garantera ett programs frihet beskrivs i GNU General Public License, GNU GPL17, en licens som framför allt används av många program för Linux. Det finns dessutom en Lesser GNU General Public License18, GNU LGPL. Skillnaden mot ”storebror” GNU GPL är att GNU LGPL tillåter att ett projekt som använder material skyddat under GNU LGPL inte är fritt i övrigt. Man får alltså använda kod skyddad av GNU LGPL i en applikation där övrig kod inte är fri. När Netscape släppte källkoden till Mozilla valde man dock att inte göra det under GNU GPL utan istället under en modifierad version av denna licens, kallad Mozilla Public License, MPL19. Den största skillnaden mot GNU GPL är att MPL inte kräver att alla produkter som använder kod släppt under MPL använder samma licens. Gör någon ett program som på något sätt bygger på eller använder kod från Mozilla så måste inte det programmet släppas under MPL. De delar som är Mozillakod eller modifikationer av Mozillakod (vad som räknas som modifikation definieras i licensen) måste dock följa MPL. För att uppfylla denna del av licensen räcker det med att notera i det körbara programmet För att göra det hela ännu enklare finns dessutom en Netscape Public License, NPL20. Denna är MPL med ett antal tillägg som ger Netscape frihet att inkludera och sälja kod från Mozilla i andra produkter och projekt utan att dessa behöver följa MPL eller NPL. Richard Stallman, mannen bakom GNU och GNU GPL, har skrivit en läsvärd artikel21 som belyser och diskuterar nackdelarna med NPL jämfört med GNU GPL på ett enkelt och tydligt sätt. I korthet fick NPL och MPL kritik för att inte vara kompatibla med GPL. Efter denna The GNU Project ”GNU’s not Unix!”. The GNU Project (1991), “GNU General Public License”. 18 The GNU Project (1999), ”GNU Lesser General Public License”. 19 mozilla.org, ”Mozilla Public License 1.1”. 20 mozilla.org, ”Netscape Public License 1.1”. 21 Stallman, Richard (1998), ”On the Netscape Public License”. 16 17 8 kritik och diskussioner22 beslöt mozilla.org att gradvis gå över till en ”trippellicens”, MPL/GPL/LGPL. Denna licens innebär att filerna får används under antingen MPL, GPL eller LGPL. Den praktiska innebörden för utvecklare är densamma, koden är fri men applikationer som använder den behöver inte vara fria i övrigt. Tillståndet att distribuera koden under GNU GPL finns med för att utvecklare som skapa applikationer under GNU GPL ska kunna använda Mozillakod i dessa. 5.3 Några projekt som använder Mozillakod Det finns en stor mängd mindre projekt, ofta kallade moduler, som syftar till att lägga till någon funktion till webbläsaren Mozilla, exempelvis förbättrad hantering av flikar eller stöd för musgester. Sådana projekt kan hittas på exempelvis Mozdev23. I detta stycke håller jag mig till att ta upp några större och mer självständiga projekt som använder Mozilla24. Komodo25 från ActiveState är en utvecklingsmiljö för Perl, Python, PHP, Tcl, XML och XSLT byggd med Mozilla som utvecklingsplattform. Komodo använder bland annat XPFE, XPCOM och NSPR-biblioteket. Nokia använde i samarbete med Intel webbläsaren Mozilla i Nokia Media Terminal. Media Terminal var en Linuxbaserad dator som kopplades till TV och stereo och kunde bland annat spela in film till hårddisk, spela mp3, agera digital-TV-dekoder och surfa på nätet. Maskinen verkar dock ha lagts ner nyligen, i samband med att Nokia lade ner sin utveckling i Linköping26, och går inte ens att hitta information om på Nokias webbplats utöver gamla pressreleaser. IBM portar webbläsaren Mozilla till operativsystemet OS/227 och bedriver även projekt som använder sig av Mozilla. Ett av dem är SashXB28. SashXB är en applikationsmiljö för Linuxskrivbordet GNOME som låter Javascript komma åt systemspecifika funktioner och integreras bättre med systemet. Hewlett Packard använder Gecko för presentation i ”Printer Assistant”, ett program som medföljer och visar hjälp och annan information för skrivare. Fabula är ett program för att skapa tvåspråkiga multimediaberättelser, utvecklat i ett EUprojekt för skapande av undervisningsprogram för minoritetsspråk. HomeBase Desktop29 är en arbetsmiljö för Linux som bygger på Mozilla och inriktar sig på att vara lättanvänd även för nybörjare utan Linuxerfarenhet. mozilla.org, ”Mozilla Relicensing FAQ”. MozDev 24 Urval från NewZilla (2001-05-05), ”Who else is working on Mozilla-based products?” och King, Brian (200009-19), ”Projects Using Mozilla”. 25 ActiveState (2000-05-24), ”ActiveState Selects Mozilla Platform for Komodo”. 26 IDG.se (2002-04-29), ”Nokia varslar 181 i Linköping”. 27 IBM Software, ”OS/2 Warp Product Overview”. 28 SashXB, ”SashXB for Linux”. 29 OEone, ”HomeBase Desktop”. 22 23 9 6 Analys 6.1 Varför släppte Netscape Mozilla fritt? Frisläppandet av koden från Netscape kan lätt ses som ett erkännande av nederlag. Internet Explorer var på väg att passera Netscape i antal användare och Netscape gick med förlust30. Var inte frisläppandet ett sätt att backa ur och hoppas att någon annan skulle ta upp tråden, någon som man inte behövde betala? Netscape var dock inte besegrade än. Internet Explorer närmade sig visserligen snabbt, men Netscape hade fortfarande ledningen.31 Man får inte glömma bort att Netscape ända från första början haft som strategi att låta privatpersoner, akademiker och forskare ladda ner och använda webbläsaren gratis.32 Vad man tjänade pengar på var serverprodukter och andra lösningar till företagskunder. En konkurrenskraftig och utbredd webbläsare var en bra komponent i lösningar och dessutom ett sätt att få mer uppmärksamhet och sprida sitt varumärke. Ur detta perspektiv framstår fullständigt frisläppande av källkoden snarare som ett naturligt nästa steg, oavsett konkurrensen från ett Internet Explorer som började bli integrerat i Windows. Jag tror absolut att Internet Explorer och Microsofts handlingar påverkade Netscape, men jag tror inte att frisläppandet av koden var någon sorts sista desperat åtgärd sprungen ur en känsla av att man var i en hopplös situation. Internet Explorer hade inte passerat Netscape än, och med frisläppandet ville man ta chansen att locka till sig så många utvecklare som möjligt för att ytterligare stärka sin ställning. 6.2 Hade Mozilla sett annorlunda ut om Netscape inte släppt det? Om Netscape aldrig hade släppt Mozilla tror jag inte att artikeln om Mozilla som utvecklingsplattform hade blivit skriven. Netscape hade gissningsvis siktat in sig på att få fram en ny version av sin webbläsare istället för att helt skrota den gamla koden och börja om på nytt. Jag tror inte heller att projektet hade växt till att bli inriktat på att skapa en utvecklingsplattform om det stått helt under Netscapes kontroll och budget. Man hade förmodligen koncentrerat sig på att skapa en webbläsare. En del av plattformsoberoendet hade nog inkluderats, men det skulle aldrig ha blivit lika känt. Framför allt hade Mozilla inte väckt hälften så stort intresse, och aldrig lockat till sig samma mängd utvecklare om det inte blivit ett fritt projekt. 6.3 Varför stöder AOL Mozilla? Vad händer om de slutar? Netscape hade alltså något att tjäna på att släppa sin webbläsare fri, ökad exponering och förhoppningar om en starkare produkt att integrera med företagslösningar. Efter uppköpet har Netscape mer och mer blivit en portalwebbplats och en webbläsare, företagsprodukterna ser man inte ett spår av. Infoworld.com (1998-01-05), ” Netscape undeterred by '97 loss, to focus on corporate market”. Cnn.com (1998-10-08), ”Behind the numbers: browser market share”. 32 Netscape (1994-10-13), ” Netscape Communications Offers New Network Navigator Free On The Internet”. 30 31 10 En anledning för AOL att stödja Mozilla känns rätt uppenbar: att basera sitt eget klientprogram på Mozillakod. AOLs klientprogram har hittills använt Internet Explorer för sin webbåtkomst, men senaste versionen av klienten för Mac OS X använder Gecko istället33. AOL konkurrerar med Microsofts MSN som internetleverantör och bör därför ha ett intresse av att minska sitt beroende av Microsoftprodukter. På serversidan använder AOL redan Linux i stor utsträckning.34 Mozilla är inte det enda gratisprogrammet (i benämningen gratis att ladda ner och använda) AOL stödjer. Förutom Mozilla och det egna direktmeddelandeprogrammet AOL Instant Messenger (AIM) äger AOL dessutom ICQ och Nullsoft. ICQ var det första direktmeddelandeprogrammet och borde om något vara en direkt konkurrent till AIM. Nullsoft tillverkar musikspelarprogrammet (numera även filmspelare) Winamp, som liksom Mozilla skrivits om för att bli mer plattformsoberoende. Varken Mozilla, ICQ eller Nullsoft tycks ha påverkats av att bli uppköpta. I Mozillas och Nullsofts fall finns inget kommersiellt syfte över huvud taget (ICQ visar annonser i klientprogrammet), Winamp är inte öppen källkod men gratis att ladda ner och använda. Winamps APIer är dessutom dokumenterade, och utvecklare uppmuntras att skapa nya moduler och funktioner för programmet. Installation av allting som erbjuds i Netscape 7 ger tillgång till alla dessa program, webbläsaren bygger ju på webbläsaren Mozilla, ICQ är integrerat med webbläsaren och Winamp ingår som en valbar komponent vid installationen. Nästa steg borde vara att använda Gecko, Winamp och ICQ även i AOL-klienten. AOL verkar vara ute efter att minska sitt Microsoftberoende på alla plan och stödja Linux mer. Att fortsätta stödja Mozilla passar bra in i detta sammanhang. Skulle AOL ändå sluta stödja Mozilla vore det naturligtvis negativt för utvecklingstakten. Den direkta effekten vore att det hundratal Netscapeanställda som skriver kod för Mozilla på heltid skulle avbryta det arbetet. mozilla.org skulle inte påverkas. AOL skulle inte kunna ”stänga” källkoden till Mozilla eller något liknande, MPL förhindrar det. Bortfallet av alla Netscapeanställda skulle förmodligen sakta ner utvecklingstakten rejält och kanske på sikt få den att avstanna helt, men varken AOL eller någon annan (Netscape till exempel) kan ”stoppa” eller ”ta död på” Mozilla. Koden skulle alltid finnas kvar, även om ingen skulle arbeta med den längre. 6.4 Mozillas för- och nackdelar 6.4.1 Fri/inte gjord av Microsoft/osv. Mozilla är helt fri kod, och MPL garanterar att den inte kan slutas igen. Det krävs inga licenspengar för att få använda Mozilla, det finns inga restriktioner på vad man får göra med koden och det är ingen risk att någon ändrar på de förutsättningarna. Samtidigt kan det vara en nackdel, det finns inte heller någon central enhet att vända sig till för att få teknisk support eller annan hjälp, står inte det man söker i den dokumentation som lagts ut är man hänvisad till mer informella källor som nyhetsgrupper och diskussionsforum för att få svar på sina frågor. 33 34 Cnet.com (2002-08-12), ”Mac OS X gets an AOL update”. The Register (2002-03-11), ” AOL embraces Linux and Mozilla, plans to drop MS Explorer”. 11 6.4.2 Plattformsoberoende, inte integrerad med något operativsystem Webbläsaren Mozilla och andra applikationer som använder XUL för sina gränssnitt ser likadana ut på alla operativsystem, med egna utseenden på alla element i gränssnittet, egna tangentbordsgenvägar och så vidare. Detta är naturligtvis konsekvent och bekvämt för de som växlar mellan olika operativsystem men vill ha samma webbläsare och funktioner överallt, men sett mot varje operativsystem finns samma problem som för Javaapplikationer; de passar inte ihop med resten av gränssnittet för operativsystemet. Alla sådana anpassningar måste byggas in i applikationen istället för att kunna erhållas automatiskt genom att använda operativsystemspecifika gränssnittsfunktioner. Det finns flera projekt som bygger webbläsare med plattformsspecifika gränssnitt, bland annat Chimera för Mac OS X och Galeon för Windows. 6.4.3 Prestanda Mozilla är inte, åtminstone inte än, konstruerat för att vara så snabbt som möjligt. Det pågår diskussioner och finns ett övergripande projekt35 för att omarbeta koden för att höja prestanda, men det är inget huvudsyfte för hela Mozilla. 6.4.4 Oplanerat gränssnitt i webbläsaren Gränssnittet för webbläsaren Mozilla ger ett något rörigt intryck. I stort sätt alla verktygsfält, sidomenyer och knappar är påslagna när man startar webbläsaren första gången. Det första jag gör är alltid att slå av ett antal fält, framför allt den skrymmande sidomenyn, jag aldrig använder för att göra mer plats för själva webbinnehållet. Funktionerna är användbara, men att visa precis allihop vid start är enligt min mening inget bra sätt att locka nya användare. Det finns också kritik mot att det finns för många sätt att göra samma saker på och för få möjligheter att själv anpassa utseendet (utan att börja använda XUL).36 Risken är att man stänger webbläsaren Mozilla och går tillbaka till Internet Explorer där man får mer skärmutrymme för själva webbsurfandet. Även detta finns det flera projekt som arbetar på att åtgärda, exempelvis Phoenix och K-melon. 6.4.5 Oklarheter om mening och användningsområde För att citera mozilla.orgs information om version 1.0 av webbläsaren: ”Mozilla 1.0 is a fully functional technology demo for those interested in seeing what can be done with Mozilla technology, and those who want to create Mozilla-based products and packages. The intended target audience is the development community.”37 Det går inte att förneka att webbläsaren Mozilla är en väldigt fullfjädrad teknologidemonstration, men ändå tycks det mig lite överraskande hur sällan det faktiskt koms ihåg att det är så. Webbläsaren Mozilla är alltså helt uttalat ingen färdig produkt för de vanliga användarna, ändå behandlas den mycket ofta som sådan. Jag har aldrig sett någon besvara kritik mot någonting i Mozilla med ”det är bara en testversion, det kommer att ändras i de färdiga produkterna” eller ens något åt det hållet. mozilla.org, ”performance”. Thomas, Matthew (2002-07-25), ”The top ten usability problems in Mozilla”. 37 mozilla.org (2002), ”Mozilla 1.0 FAQ”. 35 36 12 Frågan är om det verkar hämmande på utvecklingen av slutanvändarprodukter att webbläsaren Mozilla är så väl fungerande som den är? Det har förts fram som till Netscapes nackdel att webbläsaren Netscape baseras på stabil Mozillakod och därför alltid ligger något efter webbläsaren Mozilla vad det gäller nya funktioner. Sett ur perspektivet att webbläsaren Mozilla bara är en testprodukt är det helt plötsligt inte så mycket att argumentera om, självklart ligger utvecklingen av nästa produktversion före den som redan släppts. På det planet skiljer sig inte utvecklingen av Mozilla från utvecklingen av någon annan produkt. Skillnaden är naturligtvis att Mozilla är helt öppet för insyn och testning av vem som helst. När Cnet recenserar Netscape 738 haglar jämförelserna med webbläsaren Mozilla, och slutomdömet är att det inte finns någon anledning att byta från sin nuvarande webbläsare. Netscape är en slutanvändarprodukt byggd på Mozilla, men för de som är så insatta att de provat Mozilla finns det inget som motiverar dem att välja Netscape istället. Majoriteten av alla användare av webbläsare har dock förmodligen inte hört talas speciellt mycket om Mozilla, och har definitivt inte använt den som sin standardwebbläsare. För dessa är bilden antagligen en annan. En vink om det får man längre ner på förstasidan av Cnets recension. Cnet låter nämligen läsare lämna kommentarer på sina recensioner, och även göra tummen upp eller ner för produkten som recenseras. 16 oktober 2002 hade 566 läsare kommenterat recensionen. Av dessa gav hela 85% Netscape 7 tummen upp. Bland kommentarerna är det få som nämner Mozilla, desto fler jämför naturligtvis med Internet Explorer. Ganska många tycker också att Cnets recension är orättvis och ifrågasätter om den är partisk till Microsofts fördel. Detta är kanske mer en rutinanklagelse än något annat, men det klara intrycket är att användarna faktiskt gillar den slutprodukt som byggts på Mozilla. Det är helt enkelt skillnad på slutanvändare och de mer tekniskt inriktade som skriver recensionerna. Epinions, som är en webbplats där konsumenter själva får skriva omdömen av produkter, har två recensioner av Netscape 7 och båda ger webbläsaren fyra av fem stjärnor. Noteras kan att Mozilla inte finns recenserad. Annars är det svårt att få fram vad ”vanliga användare” tycker, det är inte de som skriver mest om vilka webbläsare de prövat … Med detta i åtanke är det ju rätt snett att inom ramen för Mozilla arbeta på att förbättra gränssnittet. Mozilla ska ju bara erbjuda något att utgå från, det borde vara helt naturligt att det är överlastat med funktioner. Det är upp till andra att sålla. Att ha andra projekt fokuserade på att ta fram en användarvänlig webbläsare är däremot helt rätt. Slutprodukterna kan vara mycket mer specifika och anpassade för specifika användares behov än vad Mozilla själv kan vara. Det faktum att projektet är helt fritt tillängligt bidrar naturligtvis till detta, det finns inget som hindrar en grupp/organisation med specifika krav/önskemål att anpassa Mozilla för sina egna behov. 6.5 Är Mozilla en fungerande utvecklingsplattform? Mozillas främsta fördel som utvecklingsplattform anser jag är den höga graden av modularitet. Man behöver göra och kunna väldigt lite för att komma igång. För att skapa sina första applikationer behöver man i stort sett inga andra kunskaper än de man får genom att göra en webbsida som använder ett Javascript eller två. Att vara lätt att börja använda för de som gjort webbsidor men inte studerat programmering på något djupare plan tror jag är en stor styrka. Genom att skapa en XUL-fil eller två på rätt ställe kan man skapa tillägg till en webbläsare baserad på Mozilla eller nya applikationer utan att behöva veta någonting om plattformsoberoende, minneshantering, C++, eller någon av alla de tekniker som Mozilla 38 Cnet.com (2002-08-29), ”Netscape 7.0 - Software Review” 13 bygger på. Ändå blir resultatet, när man förpackat det i en xpi-fil, en helt plattformsoberoende applikation. På ett mer avancerat plan, utanför anpassningar och tillägg för webbläsare, har man fortfarande nytta av Mozilla. Geckos layoutfunktioner och XUL kan användas för vilken sorts program som helst. Mozilla har naturligtvis en stark inriktning mot webbapplikationer, men det finns ingenting i ramverket som förhindrar eller försvårar användande för andra syften. Ett program som internt använder XPCOM-objekt får exempelvis fördelen att objekten kan anropas direkt från Perl eller till och med Javascript och därmed enkelt kan användas via en webbsida eller ett litet tillägg till en webbläsare – precis vad alla vill göra med sina applikationer nuförtiden. Därmed inte sagt att Mozilla är en lämplig utvecklingsplattform för vad som helst, eller att andra plattformar inte kan fungera bättre, men den diskussionen lämnar jag åt andra. Kort sagt: ja, Mozilla är en fungerande utvecklingsplattform! 6.6 Spelar Mozilla någon roll? Jag tror att Mozilla kan komma att få stor betydelse om utvecklingen fortsätter i samma takt som nu. Olika versioner av Internet Explorer har idag tillsammans mer än 90% av webbläsarmarknaden, som allra minsta påverkan tror jag Mozillabaserade webbläsare kan vara bra för utvecklingen. Det har inte hänt speciellt mycket med Internet Explorer efter att den gick om Netscape i popularitet. När det inte har funnits något hot mot Internet Explorers dominans har det inte heller funnits någon motivation att förbättra webbläsaren. Webbläsaren Mozilla kan redan nu erbjuda en del funktioner som Internet Explorer saknar, exempelvis flikar och kontroll av oönskade popup-fönster. Att dessutom Mozillabaserade webbläsare finns till betydligt fler operativsystem än vad Internet Explorer gör och kan erbjuda nästan exakt samma funktionalitet på alla operativsystem gör ju inte saken sämre. Mozilla som utvecklingsplattform är ännu mer intressant, men det har också hänt mycket mindre på området. Det är alldeles för tidigt att säga om Mozilla kommer att få stor spridning som utvecklingsplattform eller inte. Mozilla har en stor fördel i att enkla applikationer kan göras helt med tekniker som är samma eller väldigt lika de som används för att skapa webbsidor. Man kan enkelt skapa grafiska applikationer utan att ens behöva se komplicerade metodanrop för fönsterskapande och uppritning, något som klart underlättar för nybörjare. Redan nu finns ett antal projekt som använder Mozillakod och ännu fler som arbetar på att skapa tillägg för webbläsaren. Detta måste ses som mycket lovande för ett projekt som nyligen passerat version 1.0. En nackdel är att det än så länge saknas utvecklingsmiljöer i stil med Visual Studio eller Delphi för Mozilla, men det finns projekt på gång även inom det området39. 7 Slutsatser Mitt syfte var att klargöra vad Mozilla är, om det verkligen kan sägas vara en utvecklingsplattform, undersöka vilka licenser Mozilla lyder under, varför Mozilla släpptes fritt och hur frisläppandet påverkar Mozilla. 39 mozdev.org, ”XULMaker”. 14 Mozilla är en uppsättning tekniker och komponenter byggda på dessa tekniker och ja, Mozilla kan fungera som en utvecklingsplattform att bygga applikationer på. Med XPCOM kan man skapa komponenter som är lätta att flytta mellan olika operativsystem och miljöer. Mozilla gör det dessutom enkelt att skapa plattformsoberoende grafiska gränssnitt. XUL och Javascript gör det nästan lika enkelt att skapa gränssnitt för applikationer som det är att skapa webbplatser. Mozilla görs tillgängligt under Mozilla Public License, GNU General Public License och GNU Lesser General Public License. Resultatet av detta är att Mozilla är fritt att använda, distribuera och modifiera och att applikationer som använder Mozillakod inte behöver vara fria i övrigt för att få använda Mozillakoden. Licenserna garanterar dessutom att Mozillakoden inte kan ”slutas” igen, varken Netscape, AOL eller någon annan kan förhindra användande och utveckling av Mozilla. Det enda någon kan göra är att sluta använda och bidra till utvecklingen. Med företag som IBM och AOL inblandade i utvecklingen förefaller det inte troligt att något sådant skulle inträffa inom överskådlig framtid. Mozilla är här för att stanna, frågan är bara hur stor Mozillas påverkan på omvärlden blir. 15 8 Källförteckning Formatet är författare eller webbplats som publicerat, publiceringsdatum, dokument/artikeltitel (beroende på vilken som är tydligast och mest koncist), fullständig hyperlänk samt datum för informationshämtandet. Framsidesbild: Netscapes maskot får sista ordet efter ett sabotageförsök från Internet Explorer-utvecklarna. <http://home.snafu.de/tilman/mozilla/stomps.html>, 2002-10-22. Bilden har beskurits och skylttexten har lagts in av mig. ActiveState (2000-05-24), ”ActiveState Selects Mozilla Platform for Komodo”, <http://www.activestate.com/Corporate/Communications/Releases/Press959150636.html>, 2002-10-22. America Online, ”Who We Are”, <http://www.corp.aol.com/whoweare/who_timeline.html>, 2002-10-20. (sökord Google: ”aol purchase netscape”) Boswell, King, Oeschger, Collins, Murphy (2002), ”Creating Applications With Mozilla”, <http://books.mozdev.org/>, 2002-10-15. Cnet.com (2002-08-12), ”Mac OS X gets an AOL update”, <http://news.com.com/21001023-949345.html>, 2002-10-21. Cnet.com (2002-08-29), ”Netscape 7.0 - Software Review”, <http://www.cnet.com/software/0-3227884-1204-20350527.html>, 2002-10-16. Cnn.com (1998-10-08), ”Behind the numbers: browser market share”, <http://www.cnn.com/TECH/computing/9810/08/browser.idg/>, 2002-10-21. developerWorks (2001-02), ”XPCOM Part I: An introduction to XPCOM”, <http://www106.ibm.com/developerworks/webservices/library/co-xpcom.html>, 2002-10-19. ECMA (1999-12), ”ECMAScript Language Specification, Edition 3”, <ftp://ftp.ecma.ch/ecma-st/Ecma-262.pdf>, 2002-10-22. eWeek (2002-08.29), ”Netscape 7.0 Shrivels Under Mozilla's Shadow”, <http://www.eweek.com/article2/0,3959,493248,00.asp>, 2002-10-16. The GNU Project (1991), “GNU General Public License”, <http://www.gnu.org/licenses/gpl.html>, 2002-10-15. The GNU Project (1999), ”GNU Lesser General Public License”, <http://www.gnu.org/licenses/lgpl.html>, 2002-10-22. The GNU Project, ”GNU’s Not Unix!”, <http://www.gnu.org>, 2002-10-20. Google Groups, <http://groups.google.com>, 2002-10-16. IBM Software, ”OS/2 Warp Product Overview”, <http://www3.ibm.com/software/os/warp/browser/>, 2002-10-22. 16 IDG.se (2002-04-29), ”Nokia varslar 181 i Linköping”, <http://www.idg.se/ArticlePages/200204/29/20020429135600563_CS36/2002042913560056 3_CS36.dbp.asp>, 2002-10-20. Infoworld.com (1998-01-05), ”Netscape undeterred by '97 loss, to focus on corporate market”, <http://www.infoworld.com/cgi-bin/displayStory.pl?98015.enetreax.htm>, 200210-21. King, Brian (2000-09-19), ”Projects Using Mozilla”, <http://www.clubi.ie/kings/brian/moz/projects.html>, 2002-10-20. (sökord Google: ”using mozilla”) Manjoo, Farhad (2002-07-10), ”Mozilla Rising”, <http://www.salon.com/tech/feature/2002/09/10/browser_wars/index.html>, 2002-10-15. Mockus, Fielding, Herbsleb (2002-01-18), ”Two Case Studies of Open Source Software Development: Apache and Mozilla”, <http://www.research.avayalabs.com/techreport/ALR2002-003-paper.pdf>, 2002-10-21. mozdev.org, ”XULMaker”, <http://xulmaker.mozdev.org/>, 2002-10-22. mozilla.org, ”Core Architecture”, <http://www.mozilla.org/catalog/architecture/>, 2002-1020. mozilla.org, ”Demos”, <http://www.mozilla.org/start/1.0/demos.html>, 2002-10-21. mozilla.org (1998-10-26), ”Development Roadmap”, <http://www.mozilla.org/roadmap/roadmap-26-Oct-1998.html>, 2002-10-22. mozilla.org (1998-11-23), ”fear and loathing on the merger trail”, <http://www.mozilla.org/fear.html>, 2002-10-20. mozilla.org, ”The mozilla.org mission”, <http://www.mozilla.org/mission.html>, 2002-1015. mozilla.org (2002), ”Mozilla 1.0 FAQ”, <http://www.mozilla.org/start/1.0/faq/>, 2002-1015. mozilla.org, “Mozilla Public License 1.1”, <http://www.mozilla.org/MPL/MPL-1.1.html>, 2002-10-15. mozilla.org, ”Mozilla Relicensing FAQ”, <http://www.mozilla.org/MPL/relicensingfaq.html>, 2002-10-22. mozilla.org, “Netscape Public License 1.1”, <http://www.mozilla.org/MPL/NPL-1.1.html>, 2002-10-15. 17 mozilla.org, ”performance”, <http://www.mozilla.org/performance/>, 2002-10-22. Netscape (1994-10-13), ”Netscape Communications Offers New Network Navigator Free On The Internet”, <http://wp.netscape.com/newsref/pr/newsrelease1.html>, 2002-10-21. NewZilla (2001-05-05), ”Who else is working on Mozilla-based products?”, <http://www.gerbilbox.com/newzilla/mozilla/general05.php>, 2002-10-20. OEone, ”HomeBase Desktop”, <http://www.oeone.com/products/desktop.html>, 2002-1021. Open Source Initiative (2002), ”The Open Source Definition”, <http://www.opensource.org/docs/definition_plain.php>, 2002-10-15. Opera, <http://www.opera.com>, 2002-10-22. O’Reilly Network (2000-08-18), ”Infinite Extensibility with XBL”, <http://www.oreillynet.com/pub/a/network/2000/08/18/magazine/infinite_xbl.html>, 200210-19. SashXB, ”SashXB for Linux”, <http://www-124.ibm.com/developerworks/oss/sashxb/>, 2002-10-22. Slashdot, <http://www.slashdot.org>, 2002-10-20. Stallman, Richard (1998) ”On the Netscape Public License”, <http://www.gnu.org/philosophy/netscape-npl.html>, 2002-10-15. TechWeb (1998-04-03), ”Communicator Code Gets Mixed Developer Reaction”, <http://www.techweb.com/wire/story/TWB19980403S0024>, 2002-10-19. TechWeb (1998-04-06), ”Communicator Code Less Polished Than Some Expected”, <http://www.techweb.com/wire/story/TWB19980406S0004>, 2002-10-19. Thomas, Matthew (2002-07-25), ”The top ten usability problems in Mozilla”, <http://mpt.phrasewise.com/stories/storyReader$35>, 2002-10-15. World Wide Web Consortium, <http://www.w3.org>, 2002-10-21. Yahoo! Directory, ”Consumer Opinion”, <http://dir.yahoo.com/Society_and_Culture/Issues_and_Causes/Consumer_Advocacy_and_In formation/Consumer_Opinion/>, 2002-10-16. 18