I’ve been working in open source technologies for more than a decade now and have become a passionate advocate for this approach to technology.
If you look at the growth of open source across the world its clear that plenty of people agree with me and I heard Matt Mullenweg speak about this recently.
He described open source as the obvious future of technology and given that 23% of the world’s websites use his WordPress platform it’s hard to argue that he’s right!
Of course nothing’s as straightforward as all that though and there are plenty of pitfalls with open source so as a buyer you need to know what you’re doing and avoid them. Open source has been described as being ‘free’, but free in the way that a puppy can be free which is a description I quite like!
Below are some of the lessons I’ve learned that summarise some conversations I’ve had with customers recently:
Forks are not just for eating your dinner
Forking is a technical practice that open source developers frequently engage in and as a buyer of open source driven products it’s important to know what this means. There are often good reasons to fork software: you may be working on something experimental, want to work ahead on something that’s reliant on another feature that’s not quite ready or for a commercial reason. This is all fine but as a buyer you should make sure you know which version of a thing you are being sold. Open source gives you vendor independence which is great but remember that you’ll be the one left supporting the solution if your supplier lets you down. If they’ve forked for no reason you can be left tantalisingly removed from future upgrades which is hard to understand and harder to take. At a minimum insist that your developer uses the core open source branch or explains why not. Inform yourself about what using a ‘not quite open’ branch will mean and decide if you’re prepared to live with the consequences.
Don’t monkey with the core
All software has ‘core components’ that are essential to what the thing does and then ‘plugins’ that can be added or removed. So with Adapt Learning, the open source project we’ve helped build for example, the essential functionality is part of core while the click to reveal feature is a plugin. This means that this feature can be turned off if you don’t like it or improved if it doesn’t do everything you need.
Good open source developers will always look to develop plugins because it keeps the core functionality easy to maintain and gives you the flexibility you need. It also makes upgrades easier and is just the right thing to do. There are always reasons to mess with the core but you should avoid it when you can and listen to your supplier when they tell you this is a bad idea, it is a bad idea, and you’ll pay for it in the future like you do when the puppy eats your wife’s Louboutins!
Open means open, it doesn’t mean free
The fact that all open source technology is free is actually a myth. There are countless examples of technology that is completely open but comes with a cost associated. One example you might be familiar with is Redhat, a paid for technology based on the Linux open source platform used for running servers all over the world.
Open source can also be ‘free to a point’ or ‘free in a while’. This is a good thing in my view because it encourages companies to build commercial models and pay their bills while also benefiting open source communities and ultimately, end customers. An example of this is again with Adapt Learning. We’ve just released a ‘stacker’ component that we’ve made available free to all our own customers. It’s not yet available to the open source community but when we’ve gotten the commercial value we need from it we’ll make it available to anyone who wants it at no cost.
When buying open source you should ask suppliers for evidence of how they’ve contributed to open source projects in this way.
Open source is a meritocracy. How good is your supplier?
Open source projects are the ultimate meritocracy. Good developers get recognised and their contributions are accepted, built upon and shared. Most open source code is managed through an online repository called Github so before selecting a supplier check their contributions on there. If you see their developers in there contributing to discussions and developments they are probably authentic. If not, they are probably just taking from open source and you have to ask whether they’ll be around in the long term when you need them.
It might feel awkward to ask questions about your supplier’s philosophy when it comes to contributing to the open source projects they are using but you should get over that. The key word here is ‘open’ so your supplier should be happy to demonstrate what they’ve done and give you confidence that they know what they are doing and will have your back over the long term.
Partner and expert are not necessarily the same thing
One of the consequences about open source is that anyone can have a go and communities often put partner networks in place to manage their brand among customer bases. Some of these can be pretty loose and only require companies or individuals to register to become a partner. This is bad as it means that anyone can claim to be a partner or an expert and as the buyer you can be on the thin end of that wedge.
At Learning Pool we’re partners in a couple of successful open source projects and we’re proud of our status because we’ve had to earn it and keep demonstrating value so we can keep it. When choosing a partner for your next project don’t be afraid to ask what their partner status actually means. They are asking you to trust them, often with some pretty leading edge technology solutions so ask questions that make you comfortable they’ll be with you for the long haul.
Personally I think the open source is certainly the future for business, public services and academia. But why stop with technology? At Learning Pool we’ve effectively open sourced the development of e-learning content development and thats enabled us to build a completely open catalogue of content that thousands of users take, update, share and reuse. It saves the things that people have least of money and time and adds value to our community every day. Why couldn’t this model be extended to other disciplines?