Open Source Myths and Half-Truths: Part 2
Software developer at seldon.io. Interested in how to get better at making software.
#4 Open Source is Chaotic
Open source can be a space for experimentation. Part of the magic of open source is lowering the barrier to entry. Anyone can start a new project and list it online and it can have a real chance of success without any marketing campaigns or distribution costs. If it’s listed in the right place then developers can find it and if it addresses a real need then it can be adopted and improved even if it’s rough around the edges.
This lowering of the barriers to entry is easy to see on Github. It’s easy to search for projects and most have a top-level README that tells you how to install it. When the installation method is standardised too then the end user can very quickly find and experiment with projects. This is great for encouraging new projects to get started. But it can lead to lots of half-baked or half-finished projects.
So open source really can be chaotic. But it can also be a space where standards are forged.
This means any container technology either needs to provide similar interfaces to Docker or overcome the barrier of user expectations. Other examples of this standardisation by popularity are Git, WordPress and the Kubernetes project.
Standardisation by popularity is not exclusive to open source. You could point to standardisation through popularity with paid products like the Microsoft Office Suite, GitHub or Salesforce. What is key for this to happen is that the product must become very widespread and must fit its need with minimum friction.
Open source projects are particularly well placed to achieve this as their use is not limited to the subsection of the market that can afford to pay for them and they can respond well to user feedback. Open source can gain traction with big companies too as it can reduce fears of being held over a barrel by a single vendor who may push prices up (vendor lock-in).
The grand Bazaar of open source projects includes many that are an early and experimental stage of development, others that fill a particular niche within their sector and others that have become dominant. This is how standards can co-exist with chaos.
For software products there can often be very strong network effects – cases where the more adopters there are, the move value that can be derived from the product (e.g. more people you can share the file format with). Open source can promote interoperability by making interfaces clear and making it easier for tools to work together. So there are strong forces pulling open source towards standardisation as well as chaos.
#5 Standards are at the Centre of Open Source
Another case of a range of niches is programming languages. There are many niche languages with specific use cases. However, there are also competing general purpose programming languages and here we see the phenomenon of standards proliferation:
Sometimes this happens for commercial reasons. For example, Java and C# are both general purpose programming languages with many similarities. But they have their own ecosystems and integrations with commercial offerings. It matters that C# is backed by Microsoft and Java by Oracle (formerly Sun).
Tool proliferation can become a self-perpetuating process. When there’s a zoo of tools in a market without a clear winner then it can be tempting for new players to enter. Especially if the barriers to entry are low, as we’ve seen they can be with open source.
To an extent this kind of proliferation probably needs to happen in a new field. There needs to be experimentation to see what will work best and that means putting products out there and gauging market response. This can be messy and if the range of use cases is itself complex or not well understood by users then the messiness may not get resolved.
#6 Open Source Makes You Cool
Open source can deliver a valuable recruitment advantage. But it offers a limited advantage if not exercised effectively. There’s definitely a benefit to being a major contributor to an open source project with a big reputation. There’s definitely a benefit to embracing, using and contributing to open source projects in your company projects. But there’s a detectable difference between participating in the wider open source ecosystem and making a show of doing some open source for recruitment reasons.
Something I’ve personally noticed is some companies open sourcing projects that are too tied up with their company’s internal architecture for a community to really gather around them. To me open source projects are more powerful when the first page can communicate who the intended users are and how the project aims to help them.
In my view it would be fine to support an open source project with the intention of getting some reputation and recruitment benefit. My point here is just that the message behind sponsorship is more powerful if the sponsor can explain why the project is important to them and what their relationship is to the project. (I should say I’ve no association with trivago or webpack.)
Developers should also be aware that open source contributions alone are unlikely to make a big difference to a CV. In my experience you only really make an impact with interviewers when you’ve got a story to tell and that story resonates with the interviewer. Open source contributions can be useful if they’re part of a story but if it’s just line items on a CV then interviewers can just pass over these things.
I also think it’s ok to say you’re a big fan of open source even if you don’t have a lot of contributions. Being an informed user of open source is also something to be celebrated as informed users are a big part of how companies get value from open source and also a big part of how open source communities thrive.
The world of open source is now a complex one. Open source changed the world and it’s now the default way of driving innovation. But along the way open source changed too. The early misconceptions about it still sometimes lead late organizations to miss out on diving into the open source ecosystem.
Open source forms the backbone of the software industry today and as long as you see how open source is now interwoven with commerce then you can benefit from it greatly. The ecosystem continues to get stronger, benefiting both the industry and society as a whole.
Thanks and More Resources
For more on the business strategies behind open source see