Create an entity
You will need to decide where your entity should be located and how it will be structured. This is largely driven by tax considerations, but may also be driven by governance preferences.
Describe your product
How will you tell the world about your product, in a few words? Many software descriptions are vague and not helpful unless the reader already knows the product.
Improve your documentation
Good documentation is one of the features that separates hobby projects from professional projects. Put enough effort into your documentation to make sure that new community members know how to work with you and with your product. Also, documentation is a good way to involve non-technical contributors in your project.
JHU OSPO Suggestion: Visit the website Write the Docs to learn more about good documentation.
Know your business model
What are you selling, and what are you giving away? How will you price your products or services? What are your revenue targets?
JHU OSPO Suggestion: Visit the JHU Library’s Entrepreneurship Guide for resources on business planning.
Know your community
Who will be the biggest participants in or cheerleaders for your product? How can you help them?
JHU OSPO Suggestion: Visit the It Takes a Village Toolkit Activity “Who Is Your Community“
Know your customers
Who will be buying your product or service? In which market sector or geography are they? How long is their sales cycle?
JHU OSPO Suggestion: Visit the JHU Library’s Entrepreneurship Guide for resources on market research.
Know your competitive landscape
Who are your competitors? Are they opponents or frenemies? What makes your product better?
Pick your open source license
You need a clear licensing model, and you need marketing materials to explain your licensing model to prospective adopters.
JHU OSPO Suggestion: Visit the OSPO website for Licensing help.
Trademarks
Perform trademark searches. File word mark and logo registrations in the places you will be selling. Create a trademark policy. Tell your community how you expect your name to be used.
JHU OSPO Suggestion: Visit the JHU Library’s Entrepreneurship Guide for resources on patents and trademarks and reach out to JHTV for guidance and support.
Prepare CLAs
If you need to, get a CLA in place; consider how you will record contributors’ agreement to its terms.
Adopt a code of conduct (COC)
Consider the Mozilla Community Participation Guidelines (https://www.mozilla.org/en-US/about/governance/policies/participation) or the Contributor Covenant (https://www.contributor-covenant.org).
Patents
Consider whether you need them. Don’t seek patents just because you think all businesses need patents. If you do, be sure your patent lawyer understands how your licensing model will affect your rights.
JHU OSPO Suggestion: Visit the JHU Library’s Entrepreneurship Guide for resources on patents and trademarks and reach out to JHTV for guidance and support.
Governance
Be sure you know who will be the gatekeepers of your project and who will take over if they are not available. A single point of failure is not a good idea.
JHU OSPO Suggestion: Visit the It Takes a Village Governance Toolkit, and the Good Governance Initiative.
Commercial agreements
Create those you need, such as maintenance and support agreements, SaaS agreements, or commercial licenses
License FAQ
If you are using a dual licensing or open core model, create a licensing FAQ.
Consider outside investment
Plan your path to growth. Do you need outside investment to scale? Can you bootstrap your business? If so, how will limited capital limit your growth?
Due diligence
Ensure you have no incompatible dependencies or upstream code contributions. Get proper IP agreements in place with founders and contractors. If you did not write all your code from scratch, deal with any licensing issues. Make sure your code does not require a US export license, or other market-specific regulatory requirements.
Add a copyright notice to your software
(e.g., Copyright 2023–present Foobar, Inc.)
Make your open source release
Segregate OSS and non-OSS in different repositories. Remove all comments in code that should not be public (including any personal information). Add your license files. Post your CoC. Describe your CLA process, if necessary, in your contribution.md file. Post your trademark policy.
Sponsoring company
Get any waivers or make any deals you need from your current employer.
Material on this page is Copyright 2023, Heather Meeker, under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License. The un-annotated text of the playbook is available on GitHub, via: https://github.com/heathermeeker/COSSPlaybook/blob/main/Playbook.MD