Open sourcing your code is only a small part of building a successful open source community. Like any new venture, you need a vision of what you want to achieve and a concrete plan that will take you there. You want to be able to answer questions about your project like:
- Who is this project geared towards?
- Why would someone want to use this code, let alone, contribute to it?
- What core problem am I trying to solve?
When we set out to create CloudSlang, a flow-based orchestration tool for managing deployed applications, we were faced with these questions. We wanted to find a framework that could help us create such a plan and provide the conceptual tools to measure whether we were achieving what we set out to do in the first place. We decided to look to the world of startups and see whether we could adapt these startup management frameworks to an open source project.
The result of our research was the creation of a new template for managing the creation of open source projects. We call it the Open Source Canvas.
We started our process by looking at one popular methodology.
The Lean Startup for open source
The Lean Startup has become the core methodology for many entrepreneurs. It is a framework for effectively creating new business ventures with an emphasis on eliminating uncertainty through rapid experimentation and learning cycles. Although this model is usually applied to commercial initiatives (it actually originated in manufacturing), it can really be applied to any project in any domain, such as writing a book, managing an event, or creating an open source project.
Creating a business plan is the first step in applying this methodology. Traditional business plans can contain tens or even hundreds of pages of theoretical (and often useless) information. We like to refer to this type of document as write-only—you write it once, and nobody reads it. The Lean Startup business plan, referred to as "the canvas," is a living breathing document confined to one single page. The Business Model Canvas and the Lean Canvas are leading examples of widely-used business plan templates that help you apply Lean Startup principles into a one-page business plan.
Open Source Canvas
We have taken these canvas models one step further and developed a unique canvas for managing open source projects. Like other canvases, each section tackles a different aspect of your business plan.
What problem are you trying to solve? Even if you have a wonderful solution to a problem, it has to address your potential users' pain points, needs, or desires. This is the critical question that any new venture has to ask itself.
Furthermore, that you've made your project open source introduces additional questions beyond the actual problem your code addresses. For example, you should have good answers for why you have chosen to open source your code in the first place. Are you trying to build up a community of users? Are you trying to enrich the source code with outside contributions?
Who is your target audience? What does a typical user of your solution look like?
In the open source world, you need to identify the user types who are most likely to contribute to your project and become active super-users. These are the people who will be the cornerstone of your community.
Unique value proposition
If you bump into someone in the elevator and they ask you what your project is about, you need to have a one-line answer that you can easily articulate. This is the promise of your project and it's critical for any new venture. You need to present how the open source nature of your offering adds to its appeal.
What solution am I providing to the problem? The solution should include the top three capabilities that actually that solve the problem you have articulated.
When your solution is open source, you need to consider additional aspects. How are you going to license your open source code? The license has a lot of practical ramifications for the future of your project. Another consideration is whether you want to attach yourself to an open source foundation or be independent.
To build up an active community, you need to identify the strategic relationships that you need to foster. Who are the thought leaders in this space? Who can you count on to evangelize the project? In our project, for example, we found that the pre-sales engineers for our enterprise product were very enthusiastic to adopt and promote our project.
People don't just find your project. You need to attract their attention through a series of targeted activities. What kind of activities can you carry out to engage project users? Blog posts? Social media? Attending conferences?
Cost and resources
Early in the process you should outline the main costs and resources required to get your project off the ground. In open source, most of the costs will stem from head count (engineers, community managers, etc.)
How will you measure the success of your project? What kind of metrics indicate that you are on the right track? The number of contributors? The size of the project? Overall usage? We used an adaptation of the Pirate Metrics model for measuring the success of our project.
After you've identified your target users, you need to figure out the channels through which you will get your message to the users. For example, in the world of open source, you're likely to find open source enthusiasts hanging out at relevant meetups or conferences. Integrations are also a very strong channel. We developed an integration with StackStorm that generated a lot of interest.
Getting started and feedback
Creating a canvas is not a one-time activity. The canvas will serve as live document that you will revisit often as you progress with your project. Based on the Lean Startup principles of "Build-Measure-Learn," you will be validating your assumptions constantly, measuring your success and refining and pivoting your ideas based on what you have learned.
We hope that you have found this beneficial. The Open Source Canvas is a work in progress and we want to hear your feedback to make it even better.