HasGeek opened doors in 2010 with a commitment to be a 100% open source company, and in 2020 is still 100% open source. However, our understanding of open source has changed through the years as we've explored the relationship between our developers and our users.
We have learnt that source code and licenses are not useful metrics as much as the organisation structure of the developers, and the autonomy and accountability offered to users. A quick tour of the journey:
- Downloadable open source model: like WordPress, download the software, install and run it yourself, entirely in your control. Lesson learnt: users lose interest after the initial excitement and the installation becomes obsolete. Customisations are not always sent back upstream, so the project forks, and when bugs start manifesting, the installation does not have a competent maintainer.
- SaaS model: self installation is now discouraged. You can still contribute to the code, but it's for a single maintained installation for everyone (like WordPress.com). Unfortunately, users are the middle layer (content producers) who have end users (content consumers) who have no direct relationship with the developers. This means developers can't get feedback from end users (apart from observed behaviour), and don't have a relationship to communicate changes.
- Platform model: the central installation now also has a brand name that is always visible, to ensure a direct relationship with end users. This brand is now competing with the brand of the content producing users, and increasingly looks more like a traditional platform (like Twitter or Facebook) than like open source software, even though the software remains open source.
Are other models possible? Yes, and they all involve a balance of powers between various parties, which is not easy to achieve.