Things I'm Proud of in the BookStack Project

With the BookStack project soon to be a decade old, I thought it’d be a great time to take a positive look back and assess the things I’m proud about regarding the project.

Fully Open Source & Free

I’m very much proud that the project remains fully open source and free after 10 years. There are no paid features, there’s no dual licensing, no “open core”, no in-app up-sells. Just 100% fully free (both as in beer & rights) and open source software, allowing the platform to be used, modified and redistributed by anyone without cost or significant limitation.

I’m especially proud on this element having now had a sustainable income from the project over the last couple of years. It’s frequent to see projects move away from open source ideals as they move into becoming full time businesses, so I think it’s amazing I’m able to receive an income with the software being fully open source. Going full time was an experiment, in which I was not willing to compromise on being open source, and that experiment has succeeded so far.

On that note, I want to once again re-iterate my thanks to those who have donated, sponsored, or have paid for our support offerings as this has helped me sustain that income in a FOSS-friendly way!

Kind & Open Community

The BookStack community has grown over the decade where many thousands of users have interacted with the project somehow. It’s incredible how positive the community has been, across GitHub, Reddit, Discord, YouTube and Fosstodon. In the last decade, there’s probably been less than 5 individuals I’ve found problematic.

This goes further to the wider open source and self-hosted communities too. From blog posts, news sites, podcasts and YouTube creators, there’s been so many that have created content, spread the word, or just been positive about BookStack, for which I’m proud and thankful!

In addition, we’ve had many kind folks get directly involved by contributing content and code to BookStack. The translations in BookStack in particular reflect the continuous efforts of a wonderful group of people spending their time to make the platform more accessible to additional audiences.

Continued Stable Evolution

There are various ways to evolve a project and manage releases, each with their own advantages and disadvantages. For example, some may create big infrequent versions with lots to shout about. Early on for BookStack, I decided on a continuous yet steady evolution, to best suit the business scenario that I built BookStack, where stability and compatibility are much appreciated.

I’m happy we’ve been able to provide that over the last decade, with very minimal breaking changes along a steady upgrade path. Still today, an instance on the original public release could update following our standard update guidance, with the most trouble being having to meet modern PHP versions, and they should find their content intact and the interface familiar, albeit quite evolved & refined along with many new features.

Retained Balance of Usability & Flexibility

When originally building BookStack, usability for a mixed-technical-skill audience was a core priority. Post public release, it was quickly picked up by more technical audiences such as selfhosters and IT teams. Upon that, by nature of where/how our communities exist, most feedback we receive is from the more technical type of user. This can put pressure on the balance of addressing feedback and retaining focus on our core values.

Looking back, I’m happy with the balance we’ve been able to retain. The UI remains simple to use, with single paths to achieve things and limited forks & options in user flows. But we’ve also added significant features and depth for those that are skilled and willing to seek them out. Examples that come to mind are: The Logical and visual theme systems, the REST API, tag classes, advanced search filters, page templates.

If interested, I’ve produced a couple of videos featuring the lesser known power user features that can be found in BookStack:

Steady Natural User-base Growth

Over the decade our growth has been rather steady. We’d sometimes have spikes of activity at certain events like when on the front of Hacker News, but otherwise our line of growth has remained at a fairly consistent upwards angle. I’m proud of this as it’s reflective of the project not chasing an audience with heavy marketing, or expanding to new trends or features just for more growth. We can instead focus on the existing audience and their use-cases, instead of sacrificing that focus as a result of pressure to expand.

Provided Support

I’ve proud of the level of support that I, among others in the community, have been able to provide to those wanting to use & get involved with the project. Providing support can consume a massive amount of time, and in my opinion it’s the quickest way to burn-out with an open source project. Sometimes you can spend hours trying to support someone that just had a simple configuration issue. I see some projects strongly limit support, closing issues out early or even disabling them completely, and I can’t blame them for this. I even do this on some of my secondary projects so I can keep focus on BookStack.

When I started BookStack, having not maintained a popular open source project before, I set a relatively high bar in trying to help anyone who asks for help. While I have struggled with this at times, especially when BookStack was a side-project, I’m happy we’ve been able to mostly retain this as something which continues today. As of writing the number of closed GitHub issues for the core project stands at 4,042. Each one of those cases can take time to consider, respond to, and progress to their close.

We’ve even been able to expand support via new means like our range of update & technical guide videos. We did introduce paid support a few years back, which does offer a priority level of support, but this hasn’t really taken away what I’ve been able to provide for free. If anything, it has helped sustain it.


Header Image Credits:  Photo by Dan Brown