How to Transition Your Company to Open Source

Jeff Tao
Jeff Tao
/
Share on LinkedIn

When I started my journey in technology, conducting research and development on the mobile internet at Motorola and 3Com, I worked on open-source software in my free time. In 2017, when I founded TDengine, I initially chose not to be open source. My logic was the same as most people’s: How could my business turn a profit while giving away our most valuable asset — source code — for free? What good are the romantic ideals of the open-source software movement if I can’t pay my team and keep the lights on?

In 2019, I took the plunge into open source, and I’ve never looked back. As of 2022, my company has over 20,000 stars on GitHub and 191,000 installations in over 50 countries. By moving to an open-source model, I built the brand and grew our user base without significantly affecting the bottom line.

While open source might seem intimidating, it offers many benefits when done correctly. Red Hat’s 2022 “State of Enterprise Open Source” report found that 82% of enterprise leaders are more likely to select vendors that contribute to the open-source community.

Below I have outlined some best practices for why you should be open source, the best way to go about it, how to be a great open-source leader and, most importantly, how to grow an open-source company.

Why to Transition to Open Source

The main reason to choose open source for your organization is to reap the benefits of collaboration: Feedback from developers in the open-source community can help you improve and innovate your product at a low cost. As they begin working on your project, developers will submit issues they find, saving you time and resources that would be spent on testing.

Open source also creates awareness of your company within the community. Besides increased market awareness, it makes attracting great talent to your team easier. Popularity on GitHub is influential in the developer community. If your project is well-known, your company will gain the trust and credit of talented programmers.

How to Open Source

Of course, making your software open sourcing is not as simple as flipping a switch. Here’s what you need to know to be successful:

Positioning and Promotion

It’s important to note that having good positioning is crucial for your open-source product. In reality, many open-source projects receive little traction from the developer community. Simply being free and open source is not enough. To be successful, your project needs to solve a real problem and alleviate fundamental pain points. For instance, TDengine is a time-series database optimized for ingesting and querying data from billions of collection points from IoT sensors.

Once you have that, upload your code to a public GitHub repository so that the greater community can see it. Finally, write a few search-optimized technical blogs about your open-source project to get the word out. For example, I wrote a series of blogs about the characteristics of time-series data, data modeling and TDengine design to get more eyes on my project.

Prepare Your Code

The first step is making sure your code is ready. It must pass basic testing, perform well and be clean and professional. Next, ensure you have good documentation, including user manuals and design and testing documents. Before TDengine became open source, our team spent more than three months on documentation. There is value in taking the time to double-check everything.

How to Grow an Open-Source Company

The traditional way of growing an open-source company is to sell value-added features as an enterprise edition based on the open-source version. For example, the enterprise edition of my company includes tiered storage, data encryption and domain-specific analytics in addition to all of the core features of the open-source product.

But an even better method is to sell your open-source product as a cloud service. By delivering your project as a fully managed service, you can grow your potential customer base because the barriers to entry, both cost- and skill-related, are significantly lower.

How to Be a Great Open-Source Leader

After successfully making your company open source, learning about leadership is next. While having a background as a developer can be helpful, it’s not necessary. However, a good leader must actively engage with the developer community and enjoy sharing ideas, designs or implementations through blogs or other media.

Listening is a crucial skill for any leader, especially in the open source community, as the feedback you receive can help you find solutions and continually improve your project. Most importantly, the leadership of an open-source company must be founded on the principle of making developers successful; democratizing and empowering developers is the secret recipe. Engaging with the community, actively listening, responding and continuing to innovate allows you to be forward-thinking. With this thought process, the open-source community can empower developers and engineers to solve real-world problems and revolutionize industries.

Open source has proven to be mutually beneficial for organizations and developers. It allows companies to stay current while helping solve challenges for developers. Your product could be the key to unlocking innovation, so why not share?

This article was originally published in Forbes Technology Council.

  • Jeff Tao

    With over three decades of hands-on experience in software development, Jeff has had the privilege of spearheading numerous ventures and initiatives in the tech realm. His passion for open source, technology, and innovation has been the driving force behind his journey.

    As one of the core developers of TDengine, he is deeply committed to pushing the boundaries of time series data platforms. His mission is crystal clear: to architect a high performance, scalable solution in this space and make it accessible, valuable and affordable for everyone, from individual developers and startups to industry giants.