Open source your code is only a small part of building a successful open source community. Like any new business, you need a vision of what you want to achieve and a concrete plan to get you there. You want to be able to answer questions about your project such as:
- Who is this project for?
- Why would anyone want to use this code, let alone contribute to it?
- What main problem am I trying to solve?
When we decided to build CloudSlang, a stream-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 into the startup world and see if we could adapt these startup management frameworks to an open source project.
The result of our research was the creation of a new template to manage the creation of open source projects. We call it the Open Source Canvas.
We started our process by looking at a popular methodology.
The Lean Startup for open source
The Lean start-up has become the basic methodology for many entrepreneurs. It is a framework for effectively creating new business ventures with a focus on eliminating uncertainty through rapid experimentation and learning cycles. While this pattern is typically applied to business initiatives (it actually originated in manufacturing), it really can be applied to any project in any field, like writing a book, running an event, or create an open source project.
Creating a business plan is the first step in applying this methodology. Traditional business plans can contain dozens or even hundreds of pages of theoretical (and often useless) information. We like to call this type of document write-only: you write it once and no one reads it. The Lean Startup business plan, called “the canvas”, is a living document that is limited to a single page. The Business Model Canvas and Lean Canvas are examples of widely used business plan templates that help you apply Lean Startup principles in a one-page business plan.
Open source canvas
We’ve taken these canvas patterns one step further and developed a unique canvas for managing open source projects. Like the other outlines, each section addresses a different aspect of your business plan.
Download the Open Source Canvas.
What problem are you trying to solve? Even if you have a wonderful solution to a problem, it should address the pain points, needs, or wants of your potential users. This is the crucial question that any new business must ask.
Also, the fact that you have made your project open source introduces additional questions beyond the actual problem your code is addressing. For example, you should have good answers for why you chose to open your code in the first place. Are you trying to create a community of users? Do you try to enrich the source code with external 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 types of users 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 meet someone in the elevator and they ask you what your project is about, you should have a one-line answer that you can easily articulate. This is the promise of your project and it is essential for any new business. You need to showcase how the open source nature of your offering adds to its appeal.
What solution do I propose to the problem? The solution should include the top three features that actually solve the problem you’ve defined.
When your solution is open source, you need to consider additional aspects. How will you license your open source code? The license has many practical ramifications for the future of your project. Another consideration is whether you want to tie yourself to an open source foundation or be independent.
To build an active community, you need to identify the strategic relationships you need to foster. Who are the opinion 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 of our corporate product were very enthusiastic about adopting and promoting our project.
People don’t just find your project. You need to get their attention through a series of targeted activities. What type of activities can you carry out to involve project users? Blog posts? Social networks? Attend conferences?
Cost and resources
At the beginning of the process, you should describe the main costs and resources needed to get your project off the ground. In open source, most of the costs will come from the workforce (engineers, community managers, etc.)
How will you measure the success of your project? What type of metric indicates that you are on the right track? The number of contributors? The size of the project? Global use? We used an adaptation of the Pirate Metrics model to measure the success of our project.
After identifying your target users, you need to determine the channels through which you will deliver your message to users. For example, in the open source world, you’re likely to find open source enthusiasts hanging out at relevant meetups or conferences. Integrations are also a very powerful channel. We have developed an integration with StackStorm that has generated a lot of interest.
Getting started and feedback
Creating a canvas is not a one-time activity. The canvas will serve as a live document that you will revisit often as your project progresses. Based on the Lean Startup principles of “Build-Measure-Learn”, you will constantly validate your assumptions, measure your success, and refine and pivot your ideas based on what you learn.
We hope 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.