{"id":2319,"date":"2015-07-09T13:16:45","date_gmt":"2015-07-09T20:16:45","guid":{"rendered":"http:\/\/mozscienceblog.wpengine.com\/?p=2319"},"modified":"2019-02-28T12:40:09","modified_gmt":"2019-02-28T20:40:09","slug":"seven-steps-to-building-community-around-your-open-source-project","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/foundation-archive\/mozilla-science\/seven-steps-to-building-community-around-your-open-source-project\/","title":{"rendered":"Seven steps to building community around your open source project"},"content":{"rendered":"<p>Since the Mozilla Science Lab launched two years ago, we\u2019ve tested ways to help the research community work together to build new tools for science. Through our <a href=\"https:\/\/mozillascience.org\/collaborate\">Collaborate platform<\/a> and <a href=\"https:\/\/www.mozillascience.org\/global-sprint-2015\">code sprints<\/a>, we\u2019ve seen that collaborative learning and building happens when a community forms around a project. We want to invest in leaders who can help the research community learn to build software together.<\/p>\n<p>By working openly, a project lead demonstrates and encourages learning and participation. While mentorship and community engagement are vital throughout the life of a project, a few key steps can help jumpstart community involvement. This post outlines a few choices that will help you work in the open and reduce barriers for new contributors!<\/p>\n<p>Since <a href=\"https:\/\/mozillascience.org\/collaborate\">Collaborate<\/a> is build around <a href=\"http:\/\/github.com\/\">GitHub<\/a>, these steps are a bit GitHub centric, but many open source projects have a thriving community using others public repositories. Here are <strong>seven steps to building community around your open source project<\/strong>:<\/p>\n<h2 id=\"1-github-public-repository\"><a name=\"user-content-1-github-public-repository\" href=\"#1-github-public-repository\" class=\"headeranchor-link\"><span class=\"headeranchor\"><\/span><\/a>1. GitHub &#8211; public repository<\/h2>\n<p>Put your work in a public repository! This allows others to see your work in progress and follow each change you make real time. On <a href=\"https:\/\/mozillascience.org\/collaborate\">Collaborate<\/a>, we require projects to be hosted on <a href=\"http:\/\/github.com\/\">GitHub<\/a> (as a best practice and to help with our integration). GitHub enables distributed collaboration and has a built-in public discussion forum in their issue tracker.<\/p>\n<h2 id=\"2-license-open-source\"><a name=\"user-content-2-license-open-source\" href=\"#2-license-open-source\" class=\"headeranchor-link\"><span class=\"headeranchor\"><\/span><\/a>2. LICENSE &#8211; open source<\/h2>\n<p>Make sure your project is <em>actually<\/em> open source and allows for public contributions. Choose an open source license (we recommend MIT or BSD). Take a look at  <a href=\"http:\/\/choosealicense.com\/\">choosealicense.com<\/a> for more details.<\/p>\n<h2 id=\"3-readmemd-make-your-mission-clear\"><a name=\"user-content-3-readmemd-make-your-mission-clear\" href=\"#3-readmemd-make-your-mission-clear\" class=\"headeranchor-link\"><span class=\"headeranchor\"><\/span><\/a>3. README.md &#8211; make your mission clear<\/h2>\n<p>The text you place in README.md is often a user\u2019s first introduction to a project. Make sure you create a welcoming README that gives an overview of your project.<\/p>\n<p>Leading with a clear and concise mission statement will help the community understand what you\u2019re building. Keeping it short and simple will help others quickly understand and decide if they want to be a part of this project.<\/p>\n<h2 id=\"4-public-issue-tracker\"><a name=\"user-content-4-public-issue-tracker\" href=\"#4-public-issue-tracker\" class=\"headeranchor-link\"><span class=\"headeranchor\"><\/span><\/a>4. Public issue tracker<\/h2>\n<p>Tease out tasks in your issue tracker to help others understand where they can get involved and what\u2019s being worked on. Issues communicate specific needs or questions to contributors. Take time to document tasks, features, bugs, or questions in the issue tracker to let others know how they can help. This is often the main forum for public discussion on a project.<\/p>\n<p><strong>Good first bugs<\/strong><\/p>\n<p>Good first bugs are an easy to implement onboarding process. Mark a few easier tasks as a \u2018good first bug\u2019 to encourage newcomers. This will help new users easily walk through the contribution process and experience setting up their development environment, going through review and communicating with the project community.<\/p>\n<p>Characteristics of a <a href=\"https:\/\/wiki.mozilla.org\/Contribute\/Coding\/Mentoring#Good_First_Bugs\">good first bug<\/a>:<\/p>\n<ul>\n<li>narrowly scoped<\/li>\n<li>links to code that needs to be changed<\/li>\n<li>has someone signed up as a mentor<\/li>\n<li>not time-critical or blocking<\/li>\n<\/ul>\n<h2 id=\"5-contributingmd-contributor-guidelines\"><a name=\"user-content-5-contributingmd-contributor-guidelines\" href=\"#5-contributingmd-contributor-guidelines\" class=\"headeranchor-link\"><span class=\"headeranchor\"><\/span><\/a>5. CONTRIBUTING.md &#8211; contributor guidelines<\/h2>\n<p>Jumping into a new project can be hard and intimidating. Lower the friction to join in by having contributor guidelines (usually in a CONTRIBUTING.md file, linked from the README). This document will help others understand the way your community works and how you interact with each other.<\/p>\n<p>Good questions to address in contributor guidelines:<\/p>\n<ul>\n<li>How do I report a bug?<\/li>\n<li>How do I set up my development environment?<\/li>\n<li>How do I submit changes to the code base?<\/li>\n<li><strong>Where can I ask for help?<\/strong> &#8211; make sure you point users to an IRC channel \/ forum \/ email address that will be responsive and welcoming to newcomers.<\/li>\n<\/ul>\n<h2 id=\"6-roadmap-development-status\"><a name=\"user-content-6-roadmap-development-status\" href=\"#6-roadmap-development-status\" class=\"headeranchor-link\"><span class=\"headeranchor\"><\/span><\/a>6. Roadmap &#8211; development status<\/h2>\n<p>Once your community decides what to work on, write it down! Creating a roadmap helps others understand the current status of your project and where it\u2019s going next. A roadmap can also express your vision for the project. Make sure you clearly state <em>why<\/em> you are implementing certain things to get people excited about joining.<\/p>\n<p>This can be as simple as a collection of issues in your issue tracker, or a detailed timeline complete with milestones. It\u2019s up to you to choose what works best for your community!<\/p>\n<h2 id=\"7-mentorship-engage-your-community\"><a name=\"user-content-7-mentorship-engage-your-community\" href=\"#7-mentorship-engage-your-community\" class=\"headeranchor-link\"><span class=\"headeranchor\"><\/span><\/a>7. Mentorship &#8211; engage your community<\/h2>\n<p>This final step is ongoing is probably deserves a post of it\u2019s own. Investing time to help a few volunteers will build your community and raise new leaders within your project. This can be as simple as responding cheerfully to issues, mentoring bugs or hosting a project call with your contributors. Let others know you appreciate their hard work and help them be better leaders!<\/p>\n<hr \/>\n<p>We\u2019re still testing out ways to help project leads build a community around their contributors. We hope these seven steps are a good start! Are we missing anything? Do these help at all? Let us know what you think in the comments!<\/p>\n<p>Help us foster collaborative learning while building projects that help researchers leverage the open web.<\/p>\n<p><strong>What\u2019s next:<\/strong><\/p>\n<ul>\n<li>Are we missing something from the list? Let us know in the comments!<\/li>\n<li>Want to participate in a project? Take a look at our <a href=\"https:\/\/mozillascience.org\/collaborate\">Collaborate projects<\/a><\/li>\n<li>Are you ready to lead a project? <a href=\"https:\/\/www.mozillascience.org\/projects\/submit\">Submit your project to Collaborate<\/a><\/li>\n<li>Further reading:\n<ul>\n<li><a href=\"http:\/\/producingoss.com\/en\/producingoss.html\">Producing Open Source Software<\/a><\/li>\n<li><a href=\"https:\/\/wiki.mozilla.org\/Contribute\/Coding\/Mentoring#Good_First_Bugs\">Good First Bugs<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Since the Mozilla Science Lab launched two years ago, we\u2019ve tested ways to help the research community work together to build new tools for science. Through our Collaborate platform and code sprints, we\u2019ve seen that collaborative learning and building happens &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/foundation-archive\/mozilla-science\/seven-steps-to-building-community-around-your-open-source-project\/\">Continue reading<\/a><\/p>\n","protected":false},"author":144,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[290376],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/posts\/2319"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/users\/144"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/comments?post=2319"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/posts\/2319\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/media?parent=2319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/categories?post=2319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/foundation-archive\/wp-json\/wp\/v2\/tags?post=2319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}