Imagine this. Everything your company creates is open source. Every line of code, every schematic and every theory held together by version-controlled collaboration software like Git, on services like GitHub.
Your team works openly, iterating on ideas, and discussing problems on a public stage. Strangers contribute, share ideas, and build features on the same platform. Transparency taken to an extreme? Not really. There’re plenty of companies built around open source ecosystems, and they’re doing well. But I believe this is just one of the first steps in a multi-level abstraction on software development and software companies themselves.
Most software today is built on top of hundreds, if not thousands of open-source dependencies created by open-source developers. Developers who create and maintain snippets and libraries of code that other developers drag and drop into their projects. Entire ecosystems exist around this idea. 78% of companies run open-source software and 96.3% of the top 1 million web servers run on Linux, an open-source operating system that’s ideal for running servers. Some open-source developers are even sponsored by the companies using their work as a thank you for their effort.
Top open-source creators hold a special place on the internet. It’s an exciting social paradigm to explore, and maybe even hints at a future to come.
A completely open-source company has a lot of attractive traits. It’ll have consequences, both good and bad, on security, brand, speed, culture, and most importantly (for any company); the way you make money. Whether the benefits outweigh the costs is up for debate. But, I think we can all agree that these so-called traits of open source make for a fascinating case study, especially if we look at the extreme ends.
The primary consequence of open source is that your work is out there for anyone to see. The nitty-gritty, the hacky and the pristine, all on display. You would need to work on perfecting your work before you publish it, it forces a higher level of accountability and care for the work you do; because chances are someone out there is going to pick it apart and point out its flaws.
As a CTO or product manager, you’ll need to set some expectations on what passes as acceptable. Having seen first-hand what it’s like under the hood of most startups and even some big companies, this can vary a LOT. There’re programs like Hacker One that reward white-hat hackers for responsibly disclosing security vulnerabilities for most software companies. Now imagine this with your code on public display; a community of hackers can scrutinize your software for you, and be rewarded for it! Other developers can improve parts of your system and get rewarded equally, maybe even go as far as building entirely new features that you can merge in with a single click.
As I see it, the best thing about open-source is the way it’ll re-prioritize the things you and your company value.
All of a sudden, you have a community to manage. That means you need to document well; which in itself is a pro. Branding would play a more significant role in the success of the company.
If someone could get a copy of your software running someplace else, what sets you apart from the competition is your brand identity. Companies like Ghost thrive on a mission. They’re building technology for the future of journalism. By paying for their service you support their mission and their brand. Your competitive advantage shifts to branding. Something beyond just product you’re building.
I personally believe it’ll do a world of good for the people that work in these companies and the people that use them. Employees and contributors are a part of something bigger, they’re more connected with their community, and the users are, in a sense, are also taking part in this mission. It’s like buying organic.
All this is great, but I don’t think it’s prime-time for every software company to be open source. Unless you build it as such from the ground up, the problems of open sourcing all your code is obvious to anyone building a company. But with time and with the right approach anyone can do it.
Our team at Clew depend on thousands of open-source contributions to do what we do and we believe everyone that can, should pay it back to the community. Sometime down the line, once we’re on a more predictable development timeline, we’ll start by open-sourcing some of our independent projects and services, and maybe, we’ll find a way to confidently open-source our entire product without killing the proverbial goose that laid the golden egg.