establishing free and open source software compliance ... · free and open source software (foss)...

15
Establishing Free and Open Source Software Compliance Programs: Challenges and Solutions JULY 2010 By Ibrahim Haddad, Ph.D.

Upload: others

Post on 14-Oct-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

Establishing Free and Open Source Software Compliance Programs: Challenges and Solutions

JULY 2010By Ibrahim Haddad, Ph.D.

Page 2: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

Establishing Free and Open Source Software Compliance Programs: Challenges and Solutions

By Ibrahim Haddad Ph.D.

2

Executive SummaryThis white paper is a second in a series that focus on the practical aspects of ensuring

free and open source software (FOSS) compliance in the enterprise. The first paper

entitled “FOSS Compliance: The Basics You Must Know”, available from the Linux

Foundation web site1, provided a discussion on the multi-source development

model, the need for compliance, objectives and benefits, the consequences of non-

compliance, possible compliance failures, how to avoid them and lessons learned.

This paper picks up from where the first paper left off and provides a discussion on the

following topics:

• Theelementsofasuccessfulcomplianceprogramthatwillallowacompanytocapture,governandtrackallsoftwarecomponents(proprietary,3rdpartycommercialandFOSS)includedinitscommercialproducts.

• Thelistofcommonchallengesrelatedtoestablishingandmaintainingcomplianceprogramsandhowtoovercomethesechallengesandensuresuccessfulcomplianceprogramimplementation

1 http://www.linuxfoundation.org/collaborate/publications

Page 3: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

3

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

IntroductionFOSS initiatives and projects provide companies with a vehicle to accelerate innovation

through collaboration with the global community of FOSS developers. However,

accompanying the benefits of teaming with the FOSS community are important

responsibilities: Companies must ensure compliance with applicable FOSS license

obligations.

The first half of this paper discusses the elements of a successful compliance program that allows companies to capture, govern, and track all FOSS components included in their commercial products. The second half of the paper lists the common challenges companies face when establishing and maintaining their compliance programs and proposes various solutions to overcome these challenges.

ElementofaComplianceProgramThe compliance program provides a structure around all aspects of FOSS including selection, approval, use, distribution, audit, inventory, training, community engagement, and public communication.

FIGURE 1. ESSENTIAL ELEMENTS OF A SUCCESSFUL COMPLIANCE PROGRAM

Page 4: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

4

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

Figure1illustratesthecoreelementsneededinasuccessfulFOSScomplianceprogramthatincludes:

• Strategyandinquiryresponsestrategy

• Policiesandprocessesforusing,contributing,distributing,auditingFOSSandforfulfillinglicenseobligations

• Complianceteams(coreandextended)

• Toolstoassistincomplianceverificationandassurance

• Educationalprogramsandtraining

• Automationtoensureefficientprogramexecution

• Messaging,internallywithinyourorganizationandexternallytowardstheFOSScommunity

• RelationshipswiththeFOSSprojectsandFOSSorganizations

Inthefollowingsections,wewillprovideabriefoverviewofeachoftheseessentialelementsinaFOSScomplianceprogram.

ComplianceStrategyAcompliancestrategydrivesabusiness-basedconsensusonthemainaspectsofthepolicyandprocessimplementation.Ifyoudonotstartwiththathigh-levelconsensus,drivingagreementonthedetailsofthepolicyandinvestmentsintheprocesstendstobeveryhardifnotimpossible.ThecompliancestrategyestablisheswhatmustbedonetoensurecomplianceandoffersagoverningsetofprinciplesforhowpersonnelinteractwithFOSS.Itincludesaformalprocessfortheapproval,acquisition,anduseofFOSS,andamethodforreleasingsoftwarecontainingFOSSorlicensedunderaFOSSlicense.

InquiryResponseStrategyAninquiryresponsestrategyestablisheswhatmustbedonewhenthecompanyreceivesacomplianceinquiryorwhenthecompany’scomplianceeffortsarebeingchallenged.Severalcompaniesreceivednegativepublicityand/orweresuedbecausetheyignoredrequeststoprovidecomplianceinformation,didnotknowhowtohandlecomplianceinquires,lackedorhadapoorcomplianceprogram,orsimplyrefusedtocooperatebecausetheyassumedtheFOSSlicensesarenotenforceable.Weknowthatnoneoftheseapproachesisfruitfulorbeneficialtoanyofthepartiesinvolved.Therefore,companiesshouldnotignorecomplianceinquiries,andinstead,theyshouldacknowledgethereceiptoftheinquiry,informthereporterthattheywillbelookingintoit,andprovideacertaindateonwhentoexpectafollow-up.Informalcomplianceinquiriescanincluderequestssuchas:

• ArequestforaccessingsourcecodefollowingawrittenoffertoprovidesourcecodelicensedunderGPL,LGPLand/orotherlicensesthatrequiremakingsuchanoffertotheendusers

• ArequestforinformationregardinguseofaspecificFOSSprojectinaproduct

• Arequestforanupdatetotheattributionand/orcopyrightnoticethatpossiblywaslackingorincomplete

• ArequesttoprovidemissingfilesfromtheFOSSpackagesmadeavailableaspartofmeetingthelicenseobligations

Page 5: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

5

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

Figure2presentsasampleprocessthatillustratesthestepsacomplianceinquiryshouldgothroughfromthetimeacompanyreceivestheinquiryuntiltheinquiryisresolved.Thefollowingsub-sectionsdescribewhathappensineachstepofthecomplianceinquiryprocess.

FIGURE 2. PROCESS OF RESPONDING TO INCOMING COMPLIANCE INQUIRIES

AcknowledgeOnceyoureceivethecomplianceinquiry,youshouldreplyinformingtheinquirerthatyouhavereceivedtheiremailandthatyouwilllookintoitandgetbacktotheminatimelyfashion.Itisimportanttounderstandthereporter,theirmotivationandtoverifyiftheiraccusationisaccurateorevencurrent.Furthermore,noteveryreporterunderstandslicensesfullyandsometimestheremaybemistakesintheirsubmissions.Ifyouweremissinginformationassubmittedbytheinquirer,youwouldrequestadditionalinformationfromthemtohelpyouisolatethepreciseproblem.Theminimumsetofinformationreportedshouldinclude:

• Thenameoftheproductaffected

• Thenameandversionofthesoftwarecomponentinquestion

• Thereasonwhyaviolationisbelievedtoexist

• Astatementregardingwhatlicensethiscodeisunder

InformCompaniesmustkeepanopenadialogwiththecomplianceinquiryreporter.Asacompanythatmaintainsrigidcompliancepractices,youshouldhighlightyourcomplianceprogramandpractices,and

Page 6: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

6

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

showgoodfaitheffortstowardcompliance.Informtheinquireraboutyourcomplianceprogramandpracticesandassurethemthatyouwillinvestigatetheirconcern.Itisalsoadvisabletosendupdatesofyourinternalinvestigationwhentheyareavailable.

• Confirmyouhavereceivedthereport

• Confirmthatyoutreatcomplianceinquiriesseriouslyandconsiderachievingcomplianceaspartofthedevelopmentprocess

• Highlightyourcomplianceprogram

• Informthereporterthatyouareinvestigatingandwillreportbackonyourfindingswithinxnumberofdays

InvestigateInthisstep,youinvestigatethereportedallegation.Ideally,youcanreferbacktocompliancerecordsforthespecificproductandsoftwarecomponentinquestion,reviewit,andverifythatthecompliancerecordagreesordisagreeswiththeinquiry.

ReportAfterconcludingtheinternalinvestigation(withinacceptabletimedelays)throughthereviewofthecomplianceduediligencecompletedforthespecificsoftwarecomponent(orproduct)inquestion,youneedtoprovidethereporterwiththeresults.

Close InquiryIfthecomplianceinquirywasafalsealarm,youwillclosethecomplianceinquiryticketwithoutanyfurtheractionafterensuringthattheinquirerissatisfiedwithyourresponse.

RectifyIftheinvestigationuncoversacomplianceissue,youwillreportbacktotheinquirerwiththeassurancethatyouwilltakeallthenecessarystepsneededtobringyourproductbacktocompliancewhilespecifyingadatebywhichyouexpecttocompletethistask.Itisyourresponsibilitytoresolvetheissuewiththereporter,whilebeingcollaborativeandshowinggoodwill.Youneedtounderstandtheobligationsundertheapplicablelicenseandshowhowandhowsoonyouwillmeettheobligations.

ImproveIfthereisacomplianceissue,youwillcallforanOSRBmeetingtodiscussthecase,learnhowthisnon-complianceoccurred,andimproveexistingprocessandpracticestoensurethatsucherrorsdonothappenagain.

PoliciesandProcessesApolicyisasetofrulesfortheuseandmanagementofFOSSinyourorganization.Processesaredetailedspecificationsastohowacompanywillimplementtheserulesonadailybasis.Compliancepoliciesandprocessesgovernthevariousaspectsofusing,contributing,auditing,anddistributionofFOSS.

Page 7: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

7

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

Figure3illustratesanexampleend-to-endcomplianceprocessthatincludesthevariousstepsasoftwarecomponentgoesthroughbeforetheOSRBapprovesitsacceptanceinthebuildsystemandintegrationwiththesoftwareproduct.WewillhaveaseparatepaperthatdiscussespoliciesandprocessesinvokedwhenFOSSisincludedinacommercialproduct,inadditiontoadetaileddiscussionaroundthecomplianceend-to-endprocess.

FIGURE 3. SAMPLE COMPLIANCE DUE-DILIGENCE PROCESS

ComplianceTeamsComplianceteamsconsistofvariousindividualstaskedwiththemissionofensuringFOSScompliance.Figure4presentstheindividualsandteamsresponsibleforachievingFOSScompliance.

FIGURE 4. INDIVIDUALS AND TEAMS INVOLVED IN FOSS COMPLIANCE

Page 8: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

8

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

Therearetwoteamsinvolvedinachievingcompliance:coreteamandextendedteam(Figure4).Thecoreteam,oftencalledtheOpenSourceReviewBoard(OSRB),consistsofrepresentativesfromengineeringandproductteams,oneormorelegalcounsels,andtheComplianceOfficer.Theextendedteamconsistsofvariousindividualsacrossmultipledepartmentsthatcontributeonanon-goingbasistothecomplianceefforts:Documentation,SupplyChain,CorporateDevelopment,IT,LocalizationandtheOpenSourceExecutiveCommittee(OSEC).However,unlikethecoreteam,membersoftheextendedteamareonlyworkingoncomplianceon-demand,basedontaskstheyreceivefromtheOSRB.Inafuturepaper,wewilldiscussindetailstherolesandresponsibilitiesofeachindividualorteaminvolvedinensuringFOSScompliance.

ToolsTheOSRBdeploysandusesseveraltoolstoautomateandfacilitatetheauditingofsourcecodeandthediscoveryofsourcecodeandlicenses.Thesetoolsinclude:

• Acomplianceprojectmanagementtooltomanagethecomplianceproject,tracktasksandresources

• Asoftwareinventorytooltokeeptrackofeverysinglesoftwarecomponent,version,productsthatusesit,linkagemethod,andotherimportantinformation

• Asourcecodeandlicenseidentificationtooltoidentifysourcecodeincludedinthebuildsystemandtheirlicenses

• Adependencycheckertooltoidentifytheinteractionsofanygivensoftwarecomponentwithothersoftwarecomponentsusedintheproduct

• Asourcecodepeerreviewtooltoreviewthechangesintroducedtotheoriginalsourcecodebeforeitgetspublishedaspartofmeetinglicenseobligations

• Abillofmaterial(BoM)differencetooltoidentifythechangesintroducedtotheBoMofanygivenproductgiventwodifferentbuilds

• Inafuturepaper,wewilldiscussthesetoolsandexplainhowtheycontributetoensuringFOSScomplianceinaveryefficientandaccurateway.

WebPresenceCompaniesuseportalsintwodirections:inwards,insidethecompany,andoutwardsasawindowtotheworldandtheFOSScommunity.Theinternalportalhousesthecompliancepolicies,guidelines,documentation,training,andhostsdiscussionforums,announcements,andaccesstomailinglists.Theexternalportaloffersaplatformforthecompanytowardstheworld,theFOSScommunity,andavenuetopostallthesourcecodeofFOSSpackagestheyuse,infulfillmentoftheirlicenseobligations.

EducationEducationisanessentialbuildingblockinacomplianceprogramtoensurethatemployeeshaveagoodunderstandingofthepoliciesgoverningtheuseofFOSS.Allpersonnelinvolvedinthedevelopment,qualityassurance,releaseandmaintenanceofsoftwareneedtounderstandthecomplianceprogram.

Page 9: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

9

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

ThegoalofprovidingFOSSandcompliancetrainingistoraiseawarenessofFOSSpoliciesandstrategiesandtobuildacommonunderstandingaroundtheissuesandfactsofFOSSlicensing.Trainingalsoservesasavenuetopublicizeandpromotethecompliancepolicyandprocesseswithintheorganizationandtopromoteacultureofcompliance.Thereareformalandinformaltrainingmethods;formalmethodsmayincludeinstructor-ledtrainingcourseswhereemployeeshavetopassanexamtopassthecourse;informalmethodsmayincludewebinars,brownbagseminars,andpresentationsgiventonewhiresaspartofthenewemployeeorientationsession.

Informal Training• Brownbagseminars:Brownbagseminarsareusuallypresentationsdoneduringlunchtimeby

eithercompanyemployee(in-houselegalcounsel,FOSSexpert,complianceofficer,etc.)oraninvitedspeaker(mostcommonlyaprolificFOSSdeveloper).ThegoaloftheseseminarsistopresentandevokediscussionsaboutthevariousaspectsofincorporatingFOSSinacommercialproduct.Thesesessionscanalsoincludediscussionsofthecompany’scomplianceprogram,policies,andprocesses.

• Newemployeeorientation:Insomeinstances,theComplianceOfficerpresentsoncompany’scomplianceefforts,rules,policies,andprocessestoallnewemployeesaspartofthenewemployeeorientationsession.Assuch,ontheirfirstday,newemployeeswouldreceivea30minutestrainingonFOSSandcompliance.Asaresult,thenewemployeeswillhaveallthenecessaryinformationtheyneed:whototalkto,whatinternalwebsitetovisit,howtosign-upforFOSSandcompliancetraining,etc.

Formal TrainingDependingonthesizeofthecompanyandtheextenttowhichFOSSisincludedinitscommercialofferings,thecompanycanmandatetheiremployeesworkingwithFOSStotakeformalinstructor-ledcoursesandpasstheevaluation.Thissectionprovidesrecommendationsonfouressentialtrainingcourses:

• IntroductiontoFOSS:ThecourseprovidesanoverviewofFOSS,itscharacteristicsincomparisontoproprietarysoftwareandfreeware,andpresentsanin-depthdiscussionontheFOSSdevelopmentmodel,theFOSScommunity,andFOSSlicenses.Inaddition,thecourseexaminesthebenefitsandrisksofadoptingFOSSandusingitincommercialproductsandintroducescomplianceandlicenseobligations.

• ComplianceProcessesandPolicies:Thiscourseprovidesnecessarybackgroundinformationoncompliancepolicies,processes,andprocedures.ThefocusofthecoursewillbeoncompliancepracticesandtechniquesadoptedbythecompanytoallowyoutoshipaproductcontainingFOSSwhilemeetingalllicenseobligations,withoutputtingtheCompany’sintellectualpropertyorthatofyourthirdpartysoftwareprovidersatrisk.Furthermore,thetrainingprovidesademonstrationofhowtofillouttheOSRBformandprovideinformationaboutavailableFOSSguidelines.

• WorkingwiththeFOSSCommunity:ThiscourseprovideinformationontheFOSSdevelopmentmodel,bestpracticesoninteractingwiththeFOSScommunity,drivingcontributionstomainline,culturalaspectsandgeneraladvicetoworkingwiththecommunity.

Page 10: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

10

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

• EngineeringGuidelinesforUsingFOSS:Thiscourseprovidesguidelinesforsystemarchitectureanddescriptionofhowthecompany’spoliciesapplytoparticularengineeringsituations(userspaceversuskernelspace,dynamicversusstaticlinkage,devicedrivers,etc.).

EducationEngineersrequestingtouseorcontributetoFOSSwillberequestedtosubmitformsbuiltaroundtemplatesdesignedbytheOpenSourceReviewBoard(OSRB).Anefficient,automatedsystemincludeselectronicforms,templates,andworkflows.ThisautomationallowstheOSRBtomanageall“paperwork”relatedtocomplianceelectronically.Wewilldiscussthistopic,alongwithtools,inaseparatefuturepaper.

MessagingMessagingisanintegralpartofanycomplianceprogram.Itconsistsofinternalandexternalmessaging.Thesinglemostimportantrecommendationwithrespecttomessagingistobeclearandconsistentinyourmessaging,whetheritisinternallyexplainingthecompany’sgoalsandconcernsaroundFOSStoyouremployees,orexternallytowardtheFOSScommunity.

Compliance Challenges and SolutionsIn the following sections, we will discuss the challenges companies face when

establishing compliance program and offer recommendations on how can to overcome

these challenges via an operational focused approach. Some of the most common

challenges include:

1. Creating a compliance program while achieving the right balance between processes and product ship deadlines

2. Thinking long term, while executing short term

3. Communicating compliance

4. Establishing a clean software baseline for version 1.0 products

5. Maintaining compliance for evolving products

6. Institutionalizing and sustaining compliance efforts

Challenge#1:CreatingaComplianceProgramThefirstchallengeistocreatethecomplianceprogramanditssupportinginfrastructurewhileachievingtherightbalancebetweenfollowingprocessesandmeetingproductshipdeadlines.Therearevariousapproachesthatcanhelpovercomethischallengeandassistinthecreationofalightweightprogramthatisnotseenasaburdentothedevelopmentactivities.

Proposed Solutions

Executive SupportItisimportanttohaveexecutivelevelcommitmenttocompliance.Anexecutivesponsorforcomplianceisanecessitytoensureitssuccessandcontinuity.

Page 11: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

11

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

Lightweight Policies and ProcessesProcessesandpoliciesareimportant,however,theyhavetobelightandefficientsothattheengineeringteamsdonotregardthemasoverlyburdensometothedevelopmentprocess.Youmustavoidrequiringengineerstospendmoretimethannecessaryoncomplianceactivities.Youneedtoestablishtwoimportantbuildingblocks:first,asimpleandclearcompliancepolicy,andsecondalightweightcomplianceprocess,bothwellcommunicatedacrossthecompany.

Mandate Basic RulesAspartofputtingthecomplianceprograminplace,youwillneedtomandatesomesimplerulesthateveryonemustfollow,suchas:

• MandatetheOSRBusageformforanyFOSS:TheOSRBusageformistheentrypointintothecomplianceduediligenceforanyincomingFOSSorincomingthirdpartysoftwaretothecompany.ItisessentialthatengineersfillouttheOSRBusageformforeveryFOSSprojecttheyintendtouseinanyproduct.

• Mandatecompliancecodeinspectionsaspartofthesoftwaredevelopmentprocess

• Mandatedesignreviewsaspartoftheexistingsoftwaredevelopmentprocess.

• Mandatearchitecturereviewsandcodeinspectionstounderstandhowsoftwarecomponentsareinter-relatedandtodiscoverlicenseobligationsthatcanpropagatefromFOSStoproprietarysoftware.

• Mandateduediligenceonsoftwarereceivedfromthirdpartysoftwareproviders:IfaFOSSpackageisincludedinathirdpartycomponentinaproduct,theengineerselectingthethirdpartysoftware,thethirdpartysoftwaremanagementteamandthethirdpartysoftwarevendorshouldworktogethertopreparetheusageformforsubmissiontotheOSRB.

Integrate Compliance in the Development ProcessThemostsuccessfulwaytoestablishcomplianceistoincorporatethecomplianceprocessandpolicies,checkpointsandactivitiesaspartoftheexistingsoftwaredevelopmentprocess.Thismethodensuresthatcomplianceispartofthesoftwaredevelopmentprocessandnotanactivitythatiseitheranoverheadtodevelopment,oranactivitythatistryingtocatchupwithdevelopment(intermsofspeedandcoverage).

Challenge#2:Long-TermGoalsversusShort-TermExecutionFigure1describedtheessentialelementsneededforasuccessfulcomplianceprogram.Somemaybeoverwhelmedbytheamountofworkneededtoimplementsuchacompleteprogram.Inreality,itisactuallynotallthatdifficultbecauseyoudonothavetoimplementeverythingmentionedinFigure1atthesametime.

ThepriorityofallcompaniesistoshiptheproductontimewhilebuildingandexpandingtheirinternalFOSScomplianceinfrastructure.Therefore,youshouldexpecttobuildyourcomplianceinfrastructureasyougoandkeepinginminditsscalabilityforfutureactivitiesandproducts.

Proposed Solutions• Planacompletecomplianceinfrastructuretomeetyourlong-termgoals,andthenimplementthe

piecesneededforshort-termexecution.Forinstance,ifyouarejuststartingtodevelopaproductthatincludesFOSSanddonothaveanycomplianceinfrastructureyet,yourimmediateconcernmaybe,forexample,establishingacomplianceteam,processandpolicy,toolsandautomation,

Page 12: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

12

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

andtrainingyouremployees.Onceyoukickofftheseactivities(inthatorder)andyouhaveagoodgriponthebuildsystem(fromacomplianceperspective),youcanmovetotheotherprogramelements.

• Establishlightweightpoliciesandprocesses(discussedearlier)

• Incorporatecomplianceaspartofthedevelopmentprocess(discussedearlier)

Challenge#3:CommunicatingComplianceCommunicationisessentialtoensurethesuccessofthecomplianceactivities.Therearetwoaspectsofthecommunicationactivities:internaltothecompanyandexternaltowardstheFOSScommunityandtheindustry.

Internal CommunicationCompaniesneedinternalcompliancecommunicationtoensurethatemployeesareawareofwhatisinvolvedwhentheyincludeFOSSinacommercialproductandtoensurethattheyareeducatedaboutthecompany’scompliancepolicies,processes,andguidelines.Internalcommunicationscantakeoneofseveralforms:

• All-handsmeetingsareagreatvenueforexecutivestoshowtheirsupportandendorsementtothecomplianceactivitiesandtoasktheiremployeestofollowcompanypoliciesandprocesses.

• FormaltrainingmandatedtoallemployeesworkingwithFOSS.

• Hostingbrown-bagFOSSandcomplianceseminarsareasuccessfulwaytobringadditionalcomplianceawareness.

• EstablishinganinternalFOSSportalthatwillhostthecompany’scompliancepoliciesandprocedures,FOSSrelatedpublicationsandpresentations,mailinglists,andadiscussionforumrelatedtoFOSSandcompliance.

• Somecompaniesissueacompany-wideFOSSnewsletterperiodicallythatfocusesoncomplianceandnewsaroundFOSS.

External CommunicationFurthermore,companiesneedexternalcompliancecommunicationstoensurethattheFOSScommunityisawareoftheireffortstomeetthelicenseobligationsoftheFOSStheyareusingintheircommercialproduct.Externalcommunicationscantakeoneofseveralforms:

• WebsitededicatedforFOSS:ThewebsiteisamainchannelfordistributionofFOSSpackages(andmodification)andusuallyhostsadiscussionforumormailinglists.

• ReachingoutandsupportingFOSSorganizationssuchastheFreeSoftwareFoundation:SuchactivitiesareimportanttohelpthecompanybuildrelationshipwithFOSSorganization,understandtherolesoftheseorganizations,andcontributetotheirefforts.

• ParticipationinFOSSeventsandconferences:Participationcanbeatvariouslevelsrangingfromsponsoringanevent,tocontributingpresentationsandpublications,orsimplysendingengineerstoattendandmeetFOSSdevelopersandfosternewrelationshipswiththeFOSScommunitymembers.

Page 13: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

13

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

Challenge#4:EstablishingCleanSoftwareBaselineOneoftheinitialchallengeswithcomplianceprogramsistofindoutexactlywhatFOSSisinuse,howitislicensedandwhereinyourproductsorplatformitisbeingused.Furthermore,thechallengerevolvesaroundestablishingacleansoftwarebaselineforyourproductorsoftwareplatform.Thisisanintensiveactivityoveraperiodoftimethatcanextendformonthsdependingonhowsoonyoustartedthecomplianceactivitiesinparalleltothedevelopmentactivities.

Proposed SolutionsCompaniesachieveinitialcompliancethroughthecollectionofthefollowingactivities:

• EarlysubmissionandreviewofOSRBusageforms

• Auditsonthesourcecode

• DuediligenceontheuseofFOSSbythirdpartysoftwareproviders

• DesignreviewandcodeinspectionstoanalyzetheinteractionbetweenFOSS,proprietarycodeandthirdpartysoftwarecomponents

• UpdatedocumentationtoinformusershowtoobtainacopyoftheFOSS

Ifacompanyfailstoestablishbaselinecompliance,itisalmostaguaranteethatfuturerevisionsofthesameproduct(orotherproductsbuiltusingtheinitialbaseline)willhavecomplianceissues.

• Offerasimplebutenforcedpoliciesandlightweightprocesses(discussedearlier)

• Includecompliancecheckpointsaspartofthesoftwaredevelopmentprocess(discussedearlier)

• EnsureavailabilityofadedicatedcompliancecoreteamthatconsistsoftheComplianceOfficer,

• LegalCounselandEngineeringrepresentatives(wewilldiscussrolesandresponsibilitiesinafuturepaper)

• Utilizetoolsandautomationtosupportefficientprocessingofcompliancetickets

Challenge#5:MaintainingComplianceThereareseveralchallengesinmaintainingopensourcecompliance,similartothosefacedwhenestablishingbaselinecompliance.Infact,manyofthestepsarethesamebutjustonasmallerscale.Maintainingcomplianceisacontinuouseffortandisacomparativelysmallincrementaleffortthatdependsondisciplineandcommitmenttobuildcomplianceactivitiesintoexistingengineeringandbusinessprocesses.

Page 14: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

14

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

Figure5illustratestheconceptofincrementalcompliancewherebyyouneedtoensurecomplianceofwhateversourcecodechangesthattookplaceinbetweentheinitialcompliantbaselineandthecurrentversion.

FIGURE 5. EXAMPLE OF INCREMENTAL COMPLIANCE

Proposed SolutionsCompaniesachieveinitialcompliancethroughthecollectionofthefollowingactivities:

• EarlysubmissionandreviewofOSRBusageform

• Continuousenforcementofthebasicrules,e.g.engineersmustreceiveapprovalbeforeintegratingaFOSScomponentinthebuildsystem

• Continuousauditsofallsourcecodeintegratedinthecodebaseregardlessofitsorigins(FOSS,thirdpartyorproprietary)

• Continuousimprovementsoftoolsusedinensuringcomplianceandautomatingasmanyactivitiesaspossibletoensurehighefficiencyinexecutingthecomplianceprogram

Challenge#6:InstitutionalizationandSustainabilityOneofthechallengesfacingcompaniesistokeepcomplianceactivitiesgoingasthecompanygrowsandshipsmoreproductsusingFOSScomponents.Companiescantakeseveralstepstoensuretheinstitutionalizationofcompliancewithinthecompany’sdevelopmentcultureandtoensureitssustainability.

Proposed Solutions• Sponsorship:Executivelevelcommitmentisessentialtoensuresustainabilityofcompliance

activities.Therehastobeacompanyexecutivewhoisthecompliancechampionthatensurescorporatesupportforthecompliancefunction.

• Consistency:Achievingconsistencyacrossthecompanyiskeyinlargecompaniesthatconsistofmultiplebusinessunits.

• Measurementandanalysis:Measureandanalyzetheimpactandeffectivenessofthecomplianceactivities,processes,andprocedureswiththegoalofstudyingtheperformanceandimprovingthecomplianceprogram.Thiswillhelpyoucommunicatetheproductivityadvantagesthataccruefromeachprogramelementwheneducatingaboutthecomplianceprogram.

Page 15: Establishing Free and Open Source Software Compliance ... · free and open source software (FOSS) compliance in the enterprise. The first paper entitled “FOSS Compliance: The Basics

15

Establishing Free and Open Source SoftwareCompliance Programs: Challenges and Solutions

• Streamliningcomplianceprocesses:Thescopeandnatureofacompany’suseofFOSSisdynamic,itisdependentonproducts,technologies,mergers,acquisitions,offshoredevelopmentactivitiesandmanyotherfactors.Therefore,itisanecessitytocontinuouslyreviewcompliancepoliciesandprocessesandintroduceimprovements.Furthermore,theFOSSlicenseinterpretationsandlegalriskscontinuetoevolve.Insuchadynamicenvironment,thecomplianceprogrammustevolveaswell.

• Enforcement:Acomplianceprogramisofnovalueunlessitisenforced.Acomplianceprogramshouldincludemechanismsforongoingmonitoringofadherencetotheprogramandforenforcingpolicies,procedures,andguidelinesthroughoutthecompany.Onewaytoenforcethecomplianceprogramistointegrateitwithinthesoftwaredevelopmentprocessandensurethatacertainpercentageoftheemployees’performanceevaluationdependsonhowwelltheyarecommittedtoFOSScompliance.

• Staffing:ensureproposestaffingisallocatedtothecompliancefunctionaswellasadequatecompliancetrainingprovidedtoeveryemployeeintheorganization.

ConclusionsInthispaper,weprovideanoverviewofthevariouselementsthatcontributetothesuccessofFOSScomplianceanddiscusstopchallengesthatacompanyhastodealwithwhenestablishingandmaintainingtheircomplianceprogramsandhowtoovercomethesechallenges.ThisseriesofpapersaimstoincreasepublicawarenessofthevariousissuessurroundingFOSScompliancefromanoperationalperspective,anddoesnotaimtoprovidealegaldiscussiononthetopic.Compliancemanagement,orcomplianceduediligence,consistsofasetofactionsthatcontroltheintakeanddistributionofFOSSusedincommercialproducts.TheresultofcomplianceduediligenceisanidentificationofallFOSSusedintheproductandaplantomeettheFOSSlicenseobligations.Thistopicwillbediscussedinafuturepaper.Staytuned.

AcknowledgementsTheauthorwouldliketoexpresshisgratitudetoKarenCopenhaver(LegalDirectoroftheLinuxFoundationandPartnerinChoate,Hall&StewartLLP‘sBusiness&Technologypractice)forherreviewsandvaluableinput.

About the AuthorIbrahimHaddadisDirectorofTechnologyandAlliancesattheLinuxFoundationfocusingonMobileLinuxinitiativesandadvancingtheLinuxplatformfornext-generationmobilecomputingdevices.