After many years of licensed software development, in late 2007 we decided the time had come to embrace and support open source. This complete change of mindset, company name and business model did present a few initial hurdles, but we haven’t looked back. From my sales and project management perspectives, here’s why I feel this has been a good move.
Price. For a start, open source software is free. I’m no longer selling a product where I need to justify the price of a licence with features. Indeed, I’m also no longer just selling our products simply because we have invested in developing the features. I’m selling the expertise to select the right open source technology for the job, and the skill and time to customise and style. This is a far more comfortable and more realistic position to be in.
Justification. There are many well documented reasons why open source is the right choice for customers. It’s free, well supported, reduces risk and so on. Don’t take my word for it; ask the army of open source advocates already talking and writing about it. This makes my job much easier. There’s nothing I need to justify beyond our ability to deliver an effective solution.
Licensing. Open source licensing is taken care of. The customer is fully protected with full access to the source code. We’re not worried about protecting our intellectual property with draconian end user licence agreements. The result: we can proceed with development without the need to delay projects and add the unnecessarily cost of lawyers. I don’t know about you, but dealing with lawyers and licences was never any fun.
No lock-in. This is a massive advantage – for everyone. Yes, it’s obvious how this is great for clients, but it’s also been liberating for us too. Knowing that the customer can use any capable developer removes any feeling of guilt. How many times have we all undercharged for work, because we knew a client with little budget had no options? With open source, we just ensure we produce quality work. This can be realistically charged and the customer has a choice. Simple.
Trust. Open source code is available to be checked by anyone. All work and charges are transparent and can be based on development time. This builds trust. With proprietary systems, it’s often expected that features will always work, because they were included in a license cost. This is unrealistic. Browsers change, services go off-line, bugs are inevitable. When issues arise with an open source project, they can be clearly explained with options and costs. Nobody is ever at fault or to blame, so it’s not necessary to do unpaid work out of a sense of duty. That’s realistic.
Hosting and support. With a proprietary system, it’s easy to fall into the trap of adding great features, but features that require specialist hosting. The solution – offer hosting right? I don’t think so. We love producing great websites, but we’re not interested in being a hosting company. With the right choice of open source technology, there are many companies dedicated to hosting and support. The provider and level of service can be the customer’s choice. No need for us to spend bank holidays worrying about the server!
Developer resource. Proprietary systems require an in-house team to support and develop the product. The more advanced the product, the more investment in staff training is required – not to mention the absolute reliance on that one set of developers. With open source, the developers are already there in abundance, trained and ready to go. In-house knowledge is required, but this can be concentrated in senior developers and project managers. Teams can expand and contract as is so often necessary.
Choice. Without a large, in-house team dedicated to a specific technology and supporting a multitude of hosted legacy sites, we are free to choose the technology that is right for the job. Free to recommend the best choice for the customer. Now I’ll admit that so far we’ve mostly used Plone (I’ll leave the many reasons for another post), but we’ve also been able to experiment with others, including WordPress, Zend and Django – plus a multitude of web services. We can use the best and we don’t reinvent the wheel.
Documentation. Keeping the documentation up together for proprietary developments is costly and time consuming. Whilst we all recognise the value, it’s rare that a budget will stretch much beyond well commented code. With open source, the documentation is usually part of the project and already available – even in published books. Is your proprietary system fully documented ready for a future developer to pick up on? I doubt it.
Prototyping. Without a licence fee, we are free to try and test without cost or consequence. Not just us, clients have even downloaded and played with our suggested solutions. We can begin to build in iterative stages, allowing everyone involved to understand the available features and limitations, test ideas and identify development needs. It allows us to take an agile, user centred approach to development.
So, for me, the benefits of open source have been many. This should only get better as we get more involved in the community and begin to contribute something back. I’ve let go the dreams of riches from sales of licensed software. I feel enlightened. You should try it.
“Open your mind” – Kuato, Total Recall, 1990.