1ThemanymeaningsofOpenSourceCristinaGacek,TonyLawrie,andBudiAriefCentreforSoftwareReliabilityDepartmentofComputingScienceUniversityofNewcastleNewcastleuponTyneNE17RUUnitedKingdom{Cristina.Gacek,A.T.Lawrie,L.B.Arief}@ncl.ac.ukAbstractThetermOpenSourceiswidelyappliedtodescribesomesoftwaredevelopmentmethodologies.Thispaperdoesnotprovideajudgmentontheopensourceapproach,butexposesthefactthatsimplystatingthataprojectisopensourcedoesnotprovideaprecisedescriptionoftheapproachusedtosupporttheproject.Bytakingamulti-disciplinarypointofview,weproposeacollectionofcharacteristicsthatarecommon,aswellassomethatvaryamongopensourceprojects.Thesetofopensourcecharacteristicswefoundcanbeusedasatick-listbothforanalysingandforsettingupopensourceprojects.Ourtick-listalsoprovidesastartingpointforunderstandingthemanymeaningsofthetermopensource.1IntroductionThetermOpenSourcehasbeenwidelyusedtodescribeasoftwaredevelopmentprocessthatreliesonthecontributionofitsgeographicallydisperseddevelopersbythemeansoftheInternet.Amongstothercriteria,onebasicrequirementofopensourceprojectsistheavailabilityofitssourcecode[1],withoutwhichthedevelopmentorevolutionofthesoftwareisverydifficultifnotimpossible.Butapartfromthesecharacteristics,thereseemstobesomeconfusiononwhatactuallymakesaprojectanopensourceproject.Theaimofthispaperisthereforetoprovideaclearerdescriptiononwhatismeantby“opensource”.Toachievethisaim,weinvestigatedseveralwell-knownopensourceprojectssuchasLinux[2],Apache[3]andMozilla[4].Wealsodidliteraturestudiesonpublishedmaterialsaboutopensource,notablyTheCathedralandtheBazaar[5],RebelCode[6],OpenSources[7]aswellasworkbyotherpeopleinterestedonopensource(forexample,[8-12]).Wehavealsousedseveralon-lineresourcesdedicatedtovariousopensourceprojects[13,14]andinterviewedbothindividualsworkingonopensourceprojectsattheirfreetimeandindividualsinvolvedwithopensourceaspartoftheirjobinlargecorporations.Fromthere,wetriedtodissectopensourcefurtherbydeterminingthecharacteristicsthatopensourceprojectsshouldorusuallyhave.Wedeterminedasetofcharacteristicsthatarealmostalwayspresentandothersthatvaryamongopensourceprojects,andthisservesasthecoreofthiswork.Therestofthispaperisstructuredasfollows:Section2presentsabriefhistoryofopensource,whichisimportantforunderstandingitsmotivesanddirections;Section3describessomeopensourcecharacteristicsthatcanbeusedindeterminingwhetheraprojectisornotopensource;Section4providessomeinitialconclusionsofourwork;andSection5outlinesareasthatcanberesearchedfurther.22ABriefHistoryofOpenSource2.1HowitstartedTheideaofbuildingsoftwarewithinacooperatingcommunity,wherethesourcecodewasmadeavailablesothateveryonecouldmodifyandredistributeitbeganwiththeGNUprojectatMITintheearly1980s.Theintentionwastoprovidefreedomrelatingtosoftwaresystems.In1985theFreeSoftwareFoundation(FSF)waspioneeredbyRichardStallmantogeneratesomeincomeforthefreesoftwaremovement,notrestrictingitselftoGNU.Freesoftware,asdefinedbytheFSF,isaprogramthatgrantsvariousfreedomstoitsusers.Afreesoftwareprogramprovidesitsuserswith[15]:•Freedomtoruntheprogramforanypurpose•Freedomtostudyandadaptthecodeforpersonaluse•Freedomtoredistributecopiesoftheprogram,eithergratisorforafee•FreedomtodistributeimprovedormodifiedversionsoftheprogramtothepublicThediscourseusedbytheFSFtendstobeconfrontationalandagainstproprietary(closed)software,sincetheyviewanyoneproducingthiskindofsoftwareasbigobstaclestothefourbasicfreedomsmentionedabove.Thisisreflectedintherestrictiveviralnatureofsomeoftheirlicenses(seesection3.3).2.2FreeSoftwareandOpenSourceMovementsIntheearly1998,thetermOpenSourcewascoinedasaresponsetotheannouncementmadebyNetscapeonitsplantogiveawaythesourcecodeofitswebbrowser.Thenewtermcameoutofastrategymeetinginwhichpeoplepresentrealisedthat:“…itwastimetodumptheconfrontationalattitudethathasbeenassociatedwith‘freesoftware’inthepastandselltheideastrictlyonthesamepragmatic,business-casegroundsthatmotivatedNetscape.”[16]Immediatelyafterwards,theOpenSourceInitiative(OSI)wassetuptomanageandpromotetheOpenSourceDefinition(OSD).TheOSDwascomposedasaguidelinetodeterminewhetheraparticularsoftwaredistributioncanbecalledopensourceornot.OSDassertsninecriteriathatopensourcesoftwaremustfollow;themainthreeare:•Theabilitytodistributethesoftwarefreely•Theavailabilityofthesourcecode,and•Therighttocreatederivedworksthroughmodification.Therestofthecriteriadealswiththelicensingissuesandspelloutthe“nodiscrimination”stancethatmustbefollowed[1].Theyare:•Theintegrityoftheauthor’ssourcecodemustbepreserved,makingthesourceofchangescleartothecommunity•Nodiscriminationagainstpersonsorgroupsbothforprovidingcontributionsandforusingthesoftware•Norestrictiononthepurposeofusageofthesoftware,providingnodiscriminationagainstfieldsofendeavour3•Therightsattachedtothesoftwareapplytoallrecipientsofits(re)distribution•Thelicensemustnotbespecifictoaproduct,butapplytoallsub-partswithinthelicensedproduct•Thelicensemustnotcontaminateothersoftware,permittingthedistributionofothernon-opensourcesoftwarealongwithopensourceoneTheOpenSourceandFreeSof