I am frequently asked, "Why did you decide to make your product open source?"
At Kaltura, we took the open source road partly because of curiosity and passion, and partly because we entered a market where competition was already getting fierce and there was a clear lack of an open source and standards oriented solution.
We believe video will be as ubiquitous, easy to create, collaborate with and share as images and text, and we sought out to create the Wikipedia of video, building an open technology that wouldn't limit your video experiences—it would set them free.
To support our strategy, there was really only one option: open source. It allowed developers to adapt, share, and make Kaltura into what they needed it to be, then contribute and make it better for others, creating an amazing community that promotes and pushes the boundaries of what's possible with video on the internet. Beyond the ability to extend the platform, being open source provided our customers with a clear code they could investigate and analyze. And as we found out over time, being open source also forced us to maintain a clearer codebase, and write better documentation.
Taking the path of open source, and choosing your desired license, should be treated with the right respect and commitment. And as you open your codebase, the next most important item on the checklist is building a strong community of contributors and folks who care about the project.
Remember this: your project community is only as strong as the contributing developers who help test, build, and maintain the platform. They promote, support, and push the limits of the platform. When building your contributor community for your open source product, there are a few things you should consider.
Why your project matters
Is your product viable? How does it influence users' lives or business goals? To encourage users to get involved and turn into active contributors, your project has to matter to the user. Ask yourself this question, and then communicate the essence of why your project matters, everywhere, from your homepage to your documentation. This will help you create a community of members that care enough to become active, report bugs, write documents, share blog posts, contribute code, or even write about and recommend your product.
Understand the ecosystem around you
Participation—and contribution—is mostly about feelings and less about logic. Get to know the people in your project ecosystem. What will make them feel that the project is as much theirs as it is yours? Understand your community members' needs and goals. If you're joining an existing community (e.g., you're building a plugin to an existing open source system), make sure you understand and adhere to that community's guidelines and norms. Continuously promote collaboration groups of purpose in your community, and allow users to take ownership and lead sub-projects of their own while connecting these groups to the higher purpose of your project.
Realize your community groups
Closely observe your community interactions, and individual member expertise. Then highlight clear, structured growth paths, alongside your organic growth. Realize which users can contribute where, and encourage them to own and lead their contributions and sub-projects, be it via code, translation, design, training, or even building business plans or promotional campaigns.
Measure more than just dollars
You have salaries and bills to pay and revenue goals to meet, so understandably, it is easy to get sidetracked with focusing only on the bottom line. But remember: value drives revenue. It doesn't work the other way around. Continue to build a viable product that matters to your users, and provide valuable services and care for your contributors growth and satisfaction, and you'll naturally grow larger with happier customers and strong advocates.
Get started quickly and meaningfully
Getting started quickly and meaningfully are two key aspects in the personal development of any contributor in the community. As the project evolves and many more components, technologies, and lines of code are added, it becomes increasingly harder to get started and contribute in meaningful ways. So starting day one, make it a habit to break down your project roadmap to "easy, hard, long and quick" to-dos on the list, and allow your contributors to get involved meaningfully by solving needed problems that contribute to the project roadmap.
Find new ways to engage your community
You should always continue to find new ideas to engage your community. The most important tool is listening to your community members, and allowing them to lead with new ideas. I also find that attending community management conferences including the Community Leadership Summit is essential. Every event I connect with other community leaders in similar and different industries and come back with a notebook full of ideas and plans.
Open source can be a powerful but tricky strategy for a starting business. If you're going to take the open source path, make sure to define your vision clearly. Explain why it matters and who will be in your community. Then, structure groups and utilize the right tools to facilitate onboarding and collaboration from day one. By successfully growing your community and enabling your members to be and feel involved, contribute and lead, you'll in turn increase your customer growth via hearty referrals and strong partnerships. Build a new ecosystem, rather than merely a project.