SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Open-Source:
Community, Code and
Infrastructure
Matt Massie
University of California, Berkeley
AMPLab
The Fire Tetrahedron
The Open-Source Tetrahedron

CO

CODE
M

E

R
TU

M

UN

IT

Y

RA
NF
I

UC
TR
S
Community
• Community provides the “oxygen” your OSS fire needs
• New members can bring in enthusiasm and new ideas. Keep a list of “pick me up!”
issues for people who are want to chip in
• Have a welcome page for new developers that tells them what they need to know
about contributing -- source repo layout, code review process, etc.
• Setup a mailing list and encourage group decision making and collaboration
• The goal is allow people to take ownership -- requires letting go of control at some
level
• Hackathons, Meetups and Training Camps are a great way to build camaraderie,
grow your team and open communication lines
Code
• Be explicit and diligent about licensing -- it defines how you share your fire
• Be pragmatic and open to change
• Differentiate your “core” source and interfaces from auxiliary code and have a welldefined branching strategy for your source repo.
• Keep your documentation with your source. Provide example code.
• Provide utility classes that make testing easier and require tests with contributions
• Use a standard build environment for your project when possible -- makes it easier for
new developers to use, integrate with IDEs, release artifacts, etc
• Push code upstream!
Infrastructure (Testing)
• Use a Continuous Integration systems like Jenkins or Travis to test every
commit or pull request.
• Share your test infrastructure results publicly -- builds trust
• Don’t allow failing tests to continually fail. Find the root cause and fix it.
• As your project grows, separate out fast unit tests from longer end-to-end
tests.
Infrastructure (Sharing)
• Setup your test infrastructure to create (and optionally deploy) your binary
artifacts
• Consider technology like Docker (containers) or Vagrant (VMs)
• Write documentation with your audience in mind - have a deployment guide
and a developer’s guide
• Publish binary artifacts to well-known repositories, e.g. Maven Central, aptget/yum package repositories, Docker, etc -- increases your project visibility
• Use social media to get out the word about your software
Thank you. Have fun!

Contenu connexe

En vedette

Communication journals and open access
Communication journals and open accessCommunication journals and open access
Communication journals and open accessErnest Abadal
 
Open access to your content
Open access to your contentOpen access to your content
Open access to your contentMary Molinaro
 
Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...
Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...
Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...Robyn Hall
 
Helping Faculty Help Themselves: Open Access and Data Management Consulting A...
Helping Faculty Help Themselves: Open Access and Data Management Consulting A...Helping Faculty Help Themselves: Open Access and Data Management Consulting A...
Helping Faculty Help Themselves: Open Access and Data Management Consulting A...Spencer Keralis
 
Open access in chemistry: from ACS Spring Meeting 2011
Open access in chemistry: from ACS Spring Meeting 2011Open access in chemistry: from ACS Spring Meeting 2011
Open access in chemistry: from ACS Spring Meeting 2011ChemistryCentral
 
Open Access for Research: A Librarian Overview
Open Access for Research: A Librarian OverviewOpen Access for Research: A Librarian Overview
Open Access for Research: A Librarian OverviewPavlinka Kovatcheva
 
Open Access Journals: promoting best publishing practice and increasing disse...
Open Access Journals: promoting best publishing practice and increasing disse...Open Access Journals: promoting best publishing practice and increasing disse...
Open Access Journals: promoting best publishing practice and increasing disse...DOAJ (Directory of Open Access Journals)
 
The Open Access movement gains momentum – should young scientists care?
The Open Access movement gains momentum – should young scientists care?The Open Access movement gains momentum – should young scientists care?
The Open Access movement gains momentum – should young scientists care?Martin Ballaschk
 
SocArxiv - Philip Cohen - OpenCon 2016
SocArxiv - Philip Cohen - OpenCon 2016SocArxiv - Philip Cohen - OpenCon 2016
SocArxiv - Philip Cohen - OpenCon 2016Right to Research
 
A snapshot of open education initiatives & projects by the Open Education Con...
A snapshot of open education initiatives & projects by the Open Education Con...A snapshot of open education initiatives & projects by the Open Education Con...
A snapshot of open education initiatives & projects by the Open Education Con...Right to Research
 
OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016
OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016
OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016Right to Research
 
Open Global Health - Peter Grabitz - OpenCon 2016
  Open Global Health - Peter Grabitz - OpenCon 2016  Open Global Health - Peter Grabitz - OpenCon 2016
Open Global Health - Peter Grabitz - OpenCon 2016Right to Research
 
Sharing is not a crime - Maria Juliana Soto - OpenCon 2016
Sharing is not a crime - Maria Juliana Soto - OpenCon 2016Sharing is not a crime - Maria Juliana Soto - OpenCon 2016
Sharing is not a crime - Maria Juliana Soto - OpenCon 2016Right to Research
 
Elsevier and STM
Elsevier  and STMElsevier  and STM
Elsevier and STMEternaljoy
 

En vedette (20)

Demystifying open access
Demystifying open accessDemystifying open access
Demystifying open access
 
Tetrahedron
TetrahedronTetrahedron
Tetrahedron
 
Communication journals and open access
Communication journals and open accessCommunication journals and open access
Communication journals and open access
 
Open access to your content
Open access to your contentOpen access to your content
Open access to your content
 
Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...
Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...
Digital Scholarship From the Bottom Up: The Library's Role in Open Access Stu...
 
Helping Faculty Help Themselves: Open Access and Data Management Consulting A...
Helping Faculty Help Themselves: Open Access and Data Management Consulting A...Helping Faculty Help Themselves: Open Access and Data Management Consulting A...
Helping Faculty Help Themselves: Open Access and Data Management Consulting A...
 
Open access in chemistry: from ACS Spring Meeting 2011
Open access in chemistry: from ACS Spring Meeting 2011Open access in chemistry: from ACS Spring Meeting 2011
Open access in chemistry: from ACS Spring Meeting 2011
 
Open Access for Research: A Librarian Overview
Open Access for Research: A Librarian OverviewOpen Access for Research: A Librarian Overview
Open Access for Research: A Librarian Overview
 
Open Access-Service an der TU Berlin
Open Access-Service an der TU BerlinOpen Access-Service an der TU Berlin
Open Access-Service an der TU Berlin
 
Von A wie Artikel recherchieren bis U wie Upload im Repository: Umsetzung von...
Von A wie Artikel recherchieren bis U wie Upload im Repository: Umsetzung von...Von A wie Artikel recherchieren bis U wie Upload im Repository: Umsetzung von...
Von A wie Artikel recherchieren bis U wie Upload im Repository: Umsetzung von...
 
Open Access Journals: promoting best publishing practice and increasing disse...
Open Access Journals: promoting best publishing practice and increasing disse...Open Access Journals: promoting best publishing practice and increasing disse...
Open Access Journals: promoting best publishing practice and increasing disse...
 
Verbunddienstleistungen im Open-Access-Umfeld
Verbunddienstleistungen im Open-Access-UmfeldVerbunddienstleistungen im Open-Access-Umfeld
Verbunddienstleistungen im Open-Access-Umfeld
 
The Open Access movement gains momentum – should young scientists care?
The Open Access movement gains momentum – should young scientists care?The Open Access movement gains momentum – should young scientists care?
The Open Access movement gains momentum – should young scientists care?
 
Publishing in open access journals workshop 2016
Publishing in open access journals workshop 2016Publishing in open access journals workshop 2016
Publishing in open access journals workshop 2016
 
SocArxiv - Philip Cohen - OpenCon 2016
SocArxiv - Philip Cohen - OpenCon 2016SocArxiv - Philip Cohen - OpenCon 2016
SocArxiv - Philip Cohen - OpenCon 2016
 
A snapshot of open education initiatives & projects by the Open Education Con...
A snapshot of open education initiatives & projects by the Open Education Con...A snapshot of open education initiatives & projects by the Open Education Con...
A snapshot of open education initiatives & projects by the Open Education Con...
 
OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016
OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016
OABOT: Making Wikipedia's Citations Accessible - Jake Orlowitz - OpenCon 2016
 
Open Global Health - Peter Grabitz - OpenCon 2016
  Open Global Health - Peter Grabitz - OpenCon 2016  Open Global Health - Peter Grabitz - OpenCon 2016
Open Global Health - Peter Grabitz - OpenCon 2016
 
Sharing is not a crime - Maria Juliana Soto - OpenCon 2016
Sharing is not a crime - Maria Juliana Soto - OpenCon 2016Sharing is not a crime - Maria Juliana Soto - OpenCon 2016
Sharing is not a crime - Maria Juliana Soto - OpenCon 2016
 
Elsevier and STM
Elsevier  and STMElsevier  and STM
Elsevier and STM
 

Similaire à Open source best practices (DARPA)

Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liuStreamNative
 
OpenChain at EOLE 2017
OpenChain at EOLE 2017OpenChain at EOLE 2017
OpenChain at EOLE 2017Shane Coughlan
 
Guide to open source
Guide to open source Guide to open source
Guide to open source Javier Perez
 
Equipment of Contribution
Equipment of ContributionEquipment of Contribution
Equipment of ContributionPhase2
 
EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS Kenzan
 
Open Source Project Management
Open Source Project ManagementOpen Source Project Management
Open Source Project ManagementSemen Arslan
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software disseminationAnubhav Jain
 
Experiences with the Apache Software Foundation
Experiences with the Apache Software Foundation Experiences with the Apache Software Foundation
Experiences with the Apache Software Foundation marpierc
 
DevOps for Network Engineers
DevOps for Network EngineersDevOps for Network Engineers
DevOps for Network Engineersstefan vallin
 
Next generation repositories
Next generation repositoriesNext generation repositories
Next generation repositoriesPaul Walk
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Stefane Fermigier
 
How to contribute to Serverless Apache OpenWhisk OpenSource101 NCSU
How to contribute to Serverless Apache OpenWhisk OpenSource101 NCSUHow to contribute to Serverless Apache OpenWhisk OpenSource101 NCSU
How to contribute to Serverless Apache OpenWhisk OpenSource101 NCSUCarlos Santana
 
French Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayFrench Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayAlexis Monville
 
FSOSS - Enter the 4th Dimension: Documentation
FSOSS - Enter the 4th Dimension: DocumentationFSOSS - Enter the 4th Dimension: Documentation
FSOSS - Enter the 4th Dimension: DocumentationBeth Agnew, CPTC™
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the OpenAnne Gentle
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentationJavier Perez
 

Similaire à Open source best practices (DARPA) (20)

Case study
Case studyCase study
Case study
 
Management de communaute
Management de communauteManagement de communaute
Management de communaute
 
Docs Like Code
Docs Like CodeDocs Like Code
Docs Like Code
 
Code the docs-yu liu
Code the docs-yu liuCode the docs-yu liu
Code the docs-yu liu
 
OpenChain at EOLE 2017
OpenChain at EOLE 2017OpenChain at EOLE 2017
OpenChain at EOLE 2017
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
Equipment of Contribution
Equipment of ContributionEquipment of Contribution
Equipment of Contribution
 
EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS
 
Open Source Project Management
Open Source Project ManagementOpen Source Project Management
Open Source Project Management
 
Best practices for DuraMat software dissemination
Best practices for DuraMat software disseminationBest practices for DuraMat software dissemination
Best practices for DuraMat software dissemination
 
Experiences with the Apache Software Foundation
Experiences with the Apache Software Foundation Experiences with the Apache Software Foundation
Experiences with the Apache Software Foundation
 
DevOps for Network Engineers
DevOps for Network EngineersDevOps for Network Engineers
DevOps for Network Engineers
 
OaaS:Open as a Strategy
OaaS:Open as a StrategyOaaS:Open as a Strategy
OaaS:Open as a Strategy
 
Next generation repositories
Next generation repositoriesNext generation repositories
Next generation repositories
 
Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?Créer une communauté open source: pourquoi ? comment ?
Créer une communauté open source: pourquoi ? comment ?
 
How to contribute to Serverless Apache OpenWhisk OpenSource101 NCSU
How to contribute to Serverless Apache OpenWhisk OpenSource101 NCSUHow to contribute to Serverless Apache OpenWhisk OpenSource101 NCSU
How to contribute to Serverless Apache OpenWhisk OpenSource101 NCSU
 
French Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayFrench Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source Way
 
FSOSS - Enter the 4th Dimension: Documentation
FSOSS - Enter the 4th Dimension: DocumentationFSOSS - Enter the 4th Dimension: Documentation
FSOSS - Enter the 4th Dimension: Documentation
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 
Intro to open source - 101 presentation
Intro to open source - 101 presentationIntro to open source - 101 presentation
Intro to open source - 101 presentation
 

Dernier

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Dernier (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Open source best practices (DARPA)

  • 1. Open-Source: Community, Code and Infrastructure Matt Massie University of California, Berkeley AMPLab
  • 4. Community • Community provides the “oxygen” your OSS fire needs • New members can bring in enthusiasm and new ideas. Keep a list of “pick me up!” issues for people who are want to chip in • Have a welcome page for new developers that tells them what they need to know about contributing -- source repo layout, code review process, etc. • Setup a mailing list and encourage group decision making and collaboration • The goal is allow people to take ownership -- requires letting go of control at some level • Hackathons, Meetups and Training Camps are a great way to build camaraderie, grow your team and open communication lines
  • 5. Code • Be explicit and diligent about licensing -- it defines how you share your fire • Be pragmatic and open to change • Differentiate your “core” source and interfaces from auxiliary code and have a welldefined branching strategy for your source repo. • Keep your documentation with your source. Provide example code. • Provide utility classes that make testing easier and require tests with contributions • Use a standard build environment for your project when possible -- makes it easier for new developers to use, integrate with IDEs, release artifacts, etc • Push code upstream!
  • 6. Infrastructure (Testing) • Use a Continuous Integration systems like Jenkins or Travis to test every commit or pull request. • Share your test infrastructure results publicly -- builds trust • Don’t allow failing tests to continually fail. Find the root cause and fix it. • As your project grows, separate out fast unit tests from longer end-to-end tests.
  • 7. Infrastructure (Sharing) • Setup your test infrastructure to create (and optionally deploy) your binary artifacts • Consider technology like Docker (containers) or Vagrant (VMs) • Write documentation with your audience in mind - have a deployment guide and a developer’s guide • Publish binary artifacts to well-known repositories, e.g. Maven Central, aptget/yum package repositories, Docker, etc -- increases your project visibility • Use social media to get out the word about your software