In part 1 of this series I looked at the basics of open source for government, and identified that there are challenges in making it work, specifically:
- Evangelism and raising awareness
- Ensuring sustainability, responsive support, and further development
In this post I look a little bit further into ways that open source works, and explore in more detail how we met the challenges above for Citizen Space (our open source consultation system for government and public sector).
“Scratching an itch”
When drafting this post, I wrote a lot of stuff about how open source works. Then I deleted most of it. This is a blog post, not a book. 🙂
A lot of open source development happens because people are ‘scratching their own itch’. The reasons vary: but they’re mostly related to “it’s fun”. At this point, no-one’s employed. No money changes hands. Sometimes a project will snowball and a community will form around it. This is great. Being social is even more fun.
Projects like this live as long as people find them fun. When they stop having fun, they’ll continue to support the project for as long as they feel socially obliged to, then they’ll stop. And they’ll do something more fun instead.
This gets a lot of software written, and a lot of people have fun. But it isn’t how all open source development happens.
Commercial open source
A lot of open source software development is paid for or supported by companies. These range from IT giants like IBM and Oracle to small software houses and web businesses.
How do they contribute to open source?
- Development: employing developers and other staff to work directly on open source projects.
- Ecosystem: supporting the community around a project through events, donations, improving things like documentation, marketing the project, helping with legal and governance issues.
Why do they contribute to open source?
- Revenue: the business develops revenue streams based around using open source software on behalf of paying clients. This can include bespoke development, maintenance, support, training, hosting, and selling hardware that runs open source software.
- Competition: an open source product is used to challenge a closed-source competitor.
- Research & development: the business uses open source collaboration to improve products and do pure research.
Companies choose to work in an open source way because they can find both direct revenue streams and other benefits. What about government?
Government and open source
I’m going to be prescriptive: government should get more involved in open source software. There are multiple benefits to this, and to an increasing extent, it’s happening. But as these posts explore, there are also multiple challenges for open source government software. Examples of sustainable operating models are needed.
We’ve had to meet these challenges with Citizen Space. How did we do it?
Development – how did we get Citizen Space from an idea to working code
Two simple things funded the majority of Citizen Space development; a third source of funding helped raise the game significantly.
Initial Citizen Space sales were effectively custom builds for specific clients. This is pretty common for software intended for a very specific group of customers (as opposed to mass-market consumer or general business software).
When we started selling Citizen Space in 2004, it cost much more than it does now, and it was less capable and less polished. It was used by early adopters who found it useful and could justify this spend. This provided income which directly supported building the product. Early adopters (‘customer of first resort’?) can be absolutely vital in getting a tech innovation off the ground.
2. We invested
Some of the early custom builds ran at a loss. We took profit generated elsewhere in the business and used it to fund this development. We also used debt-funding (bank loans) to ensure Delib had sufficient working capital to be around for the long term. This required us to build and run a successful consulting and custom development business whilst also developing our apps.
We could have taken the profit out of the business, but our belief is in building a product that can be used by every public sector organisation in the world. That doesn’t happen if we lift out the profits and buy a Porsche each.
Later we invested more to properly productise Citizen Space (because doing a custom build every time is unsustainable in the long run – it costs too much and is a nightmare to maintain). We continue to add custom features when a client needs them and can fund them, but they’re usually rolled back into the product to reduce long-term support costs.
3. Government invested
In 2010 UK government funded further development of the product to improve its suitability for central government. By this point Citizen Space was well established, with 6 years of experience building and operating the system for multiple public sector clients.
This wasn’t a no-strings grant for a nice-but-unproven idea by nice-and-plausible people.
We weren’t given a cheque, crayons and a stack of blank paper 🙂
Instead the project was an intensively managed software development process, consulting with multiple potential users in government, and rounds of testing and acceptance. This upped the overall game, and we were able to justify further significant investment of our own in Citizen Space.
The rationale for government was that by centrally investing, the cost of deployment to each individual department was then significantly lowered compared to typical pricing for a system of this type (from us or competitors). By going for an open source system, there was also the reassurance that departments could switch supplier if necessary, and that the system could be developed further in future.
Evangelism and raising awareness (“Hello, I’m from Delib and I’m here to help”)
In a nutshell, we do sales and marketing. In some ways, it’s that simple. I was going to cut this section out, except that it’s important.
The software won’t get used unless we tell people about it. Some software does go ‘viral’ – spreading by word of mouth – but I’ll just point towards the other two companies in our group; we know when viral does and doesn’t work 🙂
Our approach is pretty straightforward, and involves a lot of time on the phone talking to potential customers. The interesting thing is that it’s a significant proportion of our operating cost. It’s also time that (obviously) can’t be billed directly to clients. So it has to be covered from other revenue, which drives our day rates up. They could be lower if our spend on sales could be lower, but selling to government is expensive.
Charging for support – no bones about it, it’s a win-win for suppliers + customers
Complex software that is used to get jobs done to deadlines often needs support. Software often needs maintenance and upgrading, especially web software that needs to be secure and highly available to multiple users.
Businesses can live or die by their reputation for customer support. Charging for support contracts means an open source supplier can ensure that staff are available to respond to customers, and customers can have a clear expectation of great support.
There are businesses that manage to provide great support for free, but they’ll always have another source of revenue, such as license fees, or some other thing they’re selling (and how good is your broadband provider at support?).
How we’re operating support for Citizen Space
Our customers are broadly non-technical. Most are working in comms, public engagement and policy consultation. They need the reassurance that they will be able to get help when it’s needed.
So to be able to respond quickly to support issues, we have to have a certain level of staffing. Trying to do customer support for free won’t work and we stopped doing this years ago.
It’s good sense then that we operate support and maintenance contracts. We don’t charge excessively, and we’ve found a couple of smart ways to operate this.
1. We work flexibly.
Our developers are the key to looking after the software and our clients; they’re brilliantly flexible, and work 13 days per month out of around 21 possible days. This gives us three advantages:
- We can scale up when needed.
- We spread the knowledge across more people, so we’re more resilient and can cover holidays and sickness (and if someone leaves, although we hope they don’t).
- Our developers like it – they have more autonomy over when they work, they have time for other things, and they don’t get jaded. This isn’t specific to an open source model, it’s just a smart thing to do.
2. We allocate time to support.
Support time is built right into our business model. And if that time isn’t used reactively for a specific client, then we use it proactively, in a variety of ways (which aren’t charged back to any client), including:
- Improving documentation to help reduce support issues.
- Improving our systems to streamline maintenance.
- Developing the product further also to reduce support issues.
This is a result of thinking about what we’re doing in a lean way – identifying that support is a value-adding activity, not a waste, but being clear that reducing the cost of providing support is also good. It’s the attitude of stop cleaning, eliminate the sources of dirt.
Developing Citizen Space further
Citizen Space is good. But we know it could do a lot more. There are features that would be useful to clients, and there will be advances in technology to keep up with. In part 1 I described how we’ll continue to invest, but also how we tackle sustainability head on with a one-off product development levy which each new client contributes to.
A product development levy guarantees continued improvement of the product. By pooling it and ring-fencing it, we can fund feature development and enhancements. It also has an element of positive-feedback: improvements in the product make it attractive to more new customers, which brings in more funding for further product development.
BUT (and there is a but) – the levy has two further interesting aspects, which I’ll discuss in brief.
1. We vary the levy by country. Via central government, UK taxpayer has invested in Citizen Space (which is recouped by providing the system to UK public sector for much less than it used to cost). So quite simply the product development levy is lower for UK public sector customers than it is for other countries (or for any private sector organisation that wanted to use Citizen Space). It’s a fair and sustainable way to ensure development of the product.
2. The levy is not excessive. It’s a relatively small sum and the total raised this way will be useful, but not enormous. So to get more development done, we continue to re-invest profit. Some features will also still need to be funded directly by the clients who require them. This is fine. We’re also exploring how co-funding will work to the same end.
And now a summary…
Open source for government poses challenges. Here’s how we met these for Citizen Space:
- We built it with revenue from sales and our own investment.
- After we’d proved it thoroughly, UK government saw value in funding extra development.
- Ongoing support and maintenance are provided 100% commercially.
- Some product development is provided for with a levy. But to reach our vision for the app, we’ll continue to invest and find customers who are prepared to fund or co-fund specific functionality.
In the final post in this series I explore why we adoted an open source model for Citizen Space, and ask “does it actually work?”