We like open source software. We use lots of it. And yet Lamplight isn’t open source. Why not?
Firstly, we do contribute open source software in various ways. For example, the source code for the diary that’s used within Lamplight is available via our github page, along with some other enhancements we’ve developed and use to the Yahoo User Interface (YUI) library. We’re also one of the most active participants (login required) in the forum, answering questions and helping out. We’re also putting in some time and effort to promoting open data in the sector. For a small company, we think we contribute a reasonable amount.
So why don’t we go the whole hog?
A lot of open source software is developed by people who are being paid to do so, one way or another. There’s not so much that’s of any significant complexity that’s not sponsored by a big company, or is supported by more expensive services (training etc). If we didn’t have any income from hosting and services, Lamplight most likely would not exist at all. So one reason is that if we made it all open source, and then lost a large part of our hosting income, we’d either need to significantly increase the price of our services, and/or we’d not be able to continue developing the system. We think both of those are bad things.
You might argue that if we made it all open source, lots of others would start developing and adding to the code and Lamplight would get better quickly. Frankly, we doubt that. Our experience elsewhere is that there are actually very few people/companies that will actively contribute to projects, even ones that have a large amount of corporate support and that are very widely used. Lamplight is never going to be as widely used as the Yahoo User Interface library, because we’re much more niche and much less well resourced. And yet there’s perhaps a dozen or two people that are actively contributing to the software outside of Yahoo. We think it much more likely that Lamplight will fall into disrepair.
Of course, open sourcing Lamplight would mean that customers could make their own changes to the code if they wanted to, to better suit their needs. While that seems attractive, it does come with a fairly significant long-term cost. As soon as you change an existing code-base, you’ve created a new code-base. Which means you have to maintain it yourself. And keeping different but similar code-bases in sync is very quickly very difficult, so you end up spending a lot of time and money keeping your own system up-to-date, or allow it to become out-of-date. Again, we don’t think these are desirable things.
Finally, open-sourcing the software would allow charities (or other companies) to host it themselves. But again, this comes with extra costs and risks which, particularly for most charities, we don’t think are wise. Running a server is hard. You have to keep it up-to-date. You have to monitor it. You have to know about things like iptables and exim config settings and php ini settings and server encryption. Getting these wrong will lead you to taking unacceptable risks with potentially sensitive data about your service users. For these reasons, we do not think that most charities should host their own systems, and if they do, it’s going to cost them much more than our hosting fees.
So to conclude: we like open source software – it’s part of what allows us to make Lamplight so affordable. We contribute code and support where we think it’s appropriate – where we can contribute generic things (like the Diary – lots of people use diaries!). We try to be as open as we can be in our business dealings, and actively support the open data movement and spend our free time at hack days working on ‘public good’ data projects. But we genuinely don’t think it’s in anyone’s interests to make Lamplight itself open source.