2 title: "The BookStack Project FAQ"
7 Below are many of the common questions we get asked in relation to the wider organisation
8 and governance of the BookStack project.
11 <ul id="toc" class="dual-column-dual-level-toc">
12 <li><a href="#origins-goals--organisation" class="toc-header-h2">Origins, Goals & Organisation</a>
14 <li><a href="#how-did-bookstack-start" class="toc-header-h3">How did BookStack start?</a></li>
15 <li><a href="#what-are-the-core-goals-of-bookstack" class="toc-header-h3">What are the core goals of BookStack?</a></li>
16 <li><a href="#who-works-on-bookstack" class="toc-header-h3">Who works on BookStack?</a></li>
17 <li><a href="#how-is-work-for-the-project-organised" class="toc-header-h3">How is work for the project organised?</a></li>
18 <li><a href="#what-versions-of-bookstack-do-you-support" class="toc-header-h3">What versions of BookStack do you support?</a></li>
19 <li><a href="#what-license-is-the-project-provided-under" class="toc-header-h3">What license is the project provided under?</a></li>
22 <li><a href="#feature-development" class="toc-header-h2">Feature Development</a>
24 <li><a href="#how-are-features--additions-decided-upon" class="toc-header-h3">How are features & additions decided upon?</a></li>
25 <li><a href="#is-feature-x-planned-to-be-added" class="toc-header-h3">Is feature X planned to be added?</a></li>
26 <li><a href="#but-feature-x-would-be-really-simple-to-implement-why-not-just-build-it" class="toc-header-h3">But feature X would be really simple to implement, why not just build it?</a></li>
27 <li><a href="#if-a-feature-is-not-wanted-why-not-just-add-it-as-an-option" class="toc-header-h3">If a feature is not wanted, why not just add it as an option?</a></li>
28 <li><a href="#would-bookstack-integrate-with-x-platform" class="toc-header-h3">Would BookStack integrate with X platform?</a></li>
29 <li><a href="#can-we-pay-for-the-implementation-of-specific-features" class="toc-header-h3">Can we pay for the implementation of specific features?</a></li>
30 <li><a href="#can-we-get-our-own-or-pay-other-developers-to-contribute-the-features-we-want" class="toc-header-h3">Can we get our own, or pay other, developers to contribute the features we want?</a></li>
33 <li><a href="#funding--partnerships" class="toc-header-h2">Funding & Partnerships</a>
35 <li><a href="#how-is-the-project-funded" class="toc-header-h3">How is the project funded?</a></li>
36 <li><a href="#will-the-project-accept-investment" class="toc-header-h3">Will the project accept investment?</a></li>
37 <li><a href="#would-you-consider-an-official-partnership-with-other-businesses" class="toc-header-h3">Would you consider an official partnership with other businesses?</a></li>
40 <li><a href="#services" class="toc-header-h2">Services</a>
42 <li><a href="#do-you-provide-an-official-managed-hosting-service" class="toc-header-h3">Do you provide an official managed hosting service?</a></li>
43 <li><a href="#what-services-do-you-officially-provide" class="toc-header-h3">What services do you officially provide?</a></li>
44 <li><a href="#are-there-other-versionseditions-of-bookstack" class="toc-header-h3">Are there other versions/editions of BookStack?</a></li>
45 <li><a href="#can-others-provide-servicesofferings-for-bookstack" class="toc-header-h3">Can others provide services/offerings for BookStack?</a></li>
46 <li><a href="#do-you-offer-pre-sales-supportcalls" class="toc-header-h3">Do you offer pre-sales support/calls?</a></li>
49 <li><a href="#communications--involvement" class="toc-header-h2">Communications & Involvement</a>
51 <li><a href="#how-can-we-receive-project-news--updates" class="toc-header-h3">How can we receive project news & updates?</a></li>
52 <li><a href="#how-can-we-contact-you" class="toc-header-h3">How can we contact you?</a></li>
53 <li><a href="#how-can-i-get-involved-with-the-project" class="toc-header-h3">How can I get involved with the project?</a></li>
54 <li><a href="#do-you-provide-mentoring" class="toc-header-h3">Do you provide mentoring?</a></li>
58 <!-- <script type="module">
59 // This is a dev script to just help automatically build out the TOC for this page.
60 // You just need to uncomment this, copy the results from the console, that paste
61 // back into the page.
62 // Ensure you comment this back out though before commit.
63 const headers = document.querySelectorAll('h2, h3');
64 const toc = document.getElementById('toc');
66 for (const header of headers) {
67 if (header.tagName === 'H2') {
70 const link = document.createElement('a');
71 link.href=`#${header.id}`;
72 link.textContent = header.textContent;
73 link.classList.add('toc-header-' + header.tagName.toLowerCase());
74 const li = document.createElement('li');
79 list = document.createElement('ul');
86 console.log(toc.outerHTML);
91 ## Origins, Goals & Organisation
93 ### How did BookStack start?
95 [Dan Brown](https://danb.me/) started building BookStack in 2015 while looking for a documentation
96 platform to use for his mixed-technical-skilled workplace.
97 Most service offerings incurred per-user costs, and most established open source offerings didn't
98 quite hit the mark in terms of design & usability, at least out-of-the-box.
99 Therefore, with a few years' development experience, Dan thought he could whip up a solution that worked for his use-case.
101 The first few months involved a lot of design iteration as can be seen [in this blogpost](/blog/1-year-of-bookstack/).
102 Eventually the design, name, and hierarchy came together to form pretty much form the BookStack we know today.
104 The project was first officially outwardly announced [via the /r/selfhosted subreddit](https://www.reddit.com/r/selfhosted/comments/3z06rb/bookstack_a_free_wikilike_information_store/) which received fairly positive feedback.
105 BookStack remained published under the "Beta" status for a few years, until it was eventually [dropped in 2021](/blog/bookstack-release-v21-04/)
106 although little actually changed in regard to development and target stability, since stability had long been a core value.
108 ### What are the core goals of BookStack?
110 BookStack aims to be an opinionated wiki system that provides a pleasant and simple out-of-the-box experience.
111 New users to an instance should find the experience intuitive and only basic word-processing skills should be
112 required to get involved in creating content on BookStack.
113 The platform should provide advanced power features to those that desire it but they should not interfere
114 with the core simple user experience.
116 BookStack aims to be free (both monetarily & in liberty) and open source, focusing on the core use-case
117 and audience that's it's built for instead of expanding to a wider, or more financially fruitful, audience.
119 BookStack aims to be "batteries-included", with core functionality designed to be built-in
120 rather than taking a more flexible plugin approach, to ensure the platform components
121 remain integrated & supported together.
123 In regard to development, BookStack aims for a relaxed, open, positive & stable approach.
124 The platform should evolve & improve in a steadily & stable manner over time, with a focus on
125 stability, maintainability and forward-compatibility instead of chasing new
126 features, technologies or audiences.
128 ### Who works on BookStack?
130 The project is led by, and primarily maintained by, the creator [Dan Brown](https://danb.me/).
131 There are also a [significant amount](https://github.com/BookStackApp/BookStack/blob/development/.github/translators.txt)
132 of community members who work to translate the BookStack interface into many other languages.
133 Upon that, there are many other folks in our community that help with contributing code, reporting & managing issues,
134 provide input, or just get involved within our communities.
136 Outside of the official project itself, there are many other satellite community projects and offerings, most of which all
137 support the core platform in some sort of way. These are things like user guides, systems to package BookStack
138 for other platforms, and API tools & libraries.
140 ### How is work for the project organised?
142 BookStack is primarily organised via the [project on GitHub](https://github.com/BookStackApp/BookStack).
143 This is where the code is hosted, where code is contributed, and where the issue list is managed.
144 The issue list comprises of feature requests, bug reports, requests to contribute, requests for support, and more.
145 For managing translations, we use the [Crowdin platform](https://crowdin.com/project/bookstack) as a tool for this,
146 which has automated syncs with the GitHub project.
148 Beyond those core development paths we also communicate, and take input from, our various communities
149 like the [BookStack discord server](https://discord.com/channels/578552496637739008/1060598935074381854)
150 and the [BookStack subreddit](https://www.reddit.com/r/BookStack/).
152 ### What versions of BookStack do you support?
154 We only support the latest version of BookStack.
155 Usually every couple of months we release a "Feature Release", which can
156 then be followed by patch (minor) versions to that feature release.
157 We don't look to patch older versions.
159 We don't have aim to have major big new releases that are painful to migrate to.
160 We instead try to retain a steady update pace, with a focus on avoiding breaking changes
161 and allowing easy forward compatibility, so that jumping to the latest version to keep
162 supported should not be a large concern.
164 ### What license is the project provided under?
166 The BookStack source code is distributed under [the MIT license](https://github.com/BookStackApp/BookStack/blob/development/LICENSE).
167 This is an open source license which allows any type of use, modification, and distribution.
168 The only requirements are that you retain attribution to the project (it's license and copyright in particular)
169 in all copies or substantial portions of the Software.
170 This doesn't mean you have to keep our name/logo/link on your instance at all, you just need to meet the above
171 when sharing/re-distributing the code.
173 BookStack makes use of many other projects, either directly or indirectly, of which will have their own licenses and copyrights.
174 We ensure that the libraries used/included are under a license compatible with BookStack's MIT license.
175 Most of the directly used projects are [listed in our readme here](https://github.com/BookStackApp/BookStack/tree/development#-attribution).
176 BookStack uses the [npm](https://docs.npmjs.com/about-npm) and [composer](https://getcomposer.org/) dependency manager tools
177 which can be used to gain a full listing of used libraries.
181 ## Feature Development
183 ### How are features & additions decided upon?
185 We strongly focus on our existing user-base when deciding the path of development.
186 This often means improving existing features, and new features that work to our original core goals,
187 rather than adding new exciting shiny features that will get us a larger audience, user-base or income.
189 The project receives many requests with many different ideas, but over time we've learnt
190 that increasing the scope wider blurs the focus on our core goals while disproportionately
191 impacting maintainability, which is a very important factor for a project like this.
192 Rather than putting in effort to make the platform suit new users, we instead put the
193 effort into making the platform better for the existing people it works well for.
194 This usually has a long-term affect of attracting new users anyway.
196 Ultimately, it's a balance of what's maintainable, what's in demand from our existing users,
197 and what fits the project's goals. The maintainability aspect is not just about code,
198 but also the impact on long-term sustainability and the impact on community management & support.
200 ### Is feature X planned to be added?
202 Probably not is the most likely answer. If it hasn't been added by this point, there may not be the demand
203 for such a feature or there could be reasons it has not already been implemented.
204 You may be able to find prior request or history for the feature in [our issue list](https://github.com/BookStackApp/BookStack/issues?q=is%3Aissue).
205 Note though, if an issue is open that does not indicate intent to implement.
206 A relaxed approach is taken to issues, allowing many to stay open to gain feedback, support or ideas.
208 ### But feature X would be really simple to implement, why not just build it?
210 Adding almost any feature can be quite simple on its own.
211 It's very different matter to officially implement & support a feature on a longer-life, open source project like this.
212 Complexity often compounds, as we have to think: How does this fit in with other features?
213 What about accessibility? What about forward compatibility? What about future plans? What about common customizations?
214 What about other languages? What about testing coverage? What about ease of hosting? What about RTL display?
215 What about community support impact? What about platform fit?...
217 Throwing new things in, to add to that complexity, is a route to a maintainability & sustainability nightmare.
218 It's much better we take time to assess and consider things, to meet our goals of steady & stable evolution.
220 ### If a feature is not wanted, why not just add it as an option?
222 This often seems like an easy answer, but options can compound to impede future maintainability via complexity.
223 This isn't just about the code, but also about user experience complexity, and community support complexity.
224 Often there are better approaches, or the need for an option may point to a more fundamental need or problem.
225 Therefore we will strongly avoid adding new options (especially user-interface options) if possible.
227 For hackers, we do alternatively look to expose options for customization & hackery for those that really desire it,
228 and have the skills to support their desires.
230 ### Would BookStack integrate with X platform?
232 We focus on providing abstract APIs & methods where possible, or look to use widely accepted standards where it makes sense.
233 Generally we won't build to specific external platforms within the scope of the core project.
234 We do support a range of specific OAuth providers, but we've stopped expanding support for these,
235 aiming to use firmer standards or options for custom extension where desired.
237 If looking to build a custom integration for your instance, our [REST API](/docs/admin/hacking-bookstack/#bookstack-api) is a good place to start,
238 with [our api-scripts repository](https://codeberg.org/bookstack/api-scripts) holding a range of
239 examples in various languages.
241 ### Can we pay for the implementation of specific features?
243 No. Money should not be a driver or incentive for decisions made for the core project.
244 Those without money should have as much influence in the evolution of the platform as those with money.
245 Additionally, the implementation of a feature is rarely the largest cost.
246 Maintenance & support has much more of an impact, and is a forever ongoing cost to the project.
247 We don't want to have additional financial incentives involved that may entice us to stretch the project out beyond a
248 reasonably maintainable state.
250 We get offered payment to build features often, and we have previously offered some quotes for features that had been validated
251 to meet the scope of the project via our core process, but it's usually a time consuming & awkward business dance to actually
252 get to an agreed scope and figure, so we've only had time consumed via this, and therefore has not been worth
253 the added complications or concerns.
255 ### Can we get our own, or pay other, developers to contribute the features we want?
257 While we accept many code contributions we likely won't accept feature contributions unless you've opened
258 a line of discussion up with the project, and had BookStack maintainers confirm that an idea/scope would be accepted.
259 As touched on in the previous answer above, implementation is rarely the real cost of a new feature
260 and we don't want the direction of the platform to be directed by those with the most money (in this case,
261 those that are able to pay developers to implement the features they want).
263 It could seem like contributing the code for new features would be "doing the work for us", but quite often
264 it results in the core interesting coding logic being done, leaving us with testing, responsibility & maintenance long-term.
265 To be clear, we're happy to be getting others involved in contributing to the project, but we just don't like to have
266 feature contributions lead the direction & scope of the project.
270 ## Funding & Partnerships
272 ### How is the project funded?
274 The project is mainly funded through donations, sponsorships, and official support offerings.
275 Donations and sponsorships make up about half of the funding, with support offerings making up the other half,
276 although the support side is growing.
278 Details about donations can be found [on our donations page](/donate/).
279 Sponsorships are available at different levels via these donation methods, and gain your
280 companies' logo and link placed on our homepage and project readme.
282 Details about our support offerings can be found [on our support page](https://www.bookstackapp.com/support/).
283 These offerings, in addition to any other commercial offerings we may provide,
284 are provided via a UK limited company, [HTTP Functions Ltd](https://www.httpfunctions.com/), which is led by the
285 creator and lead maintainer of BookStack, Dan.
286 Providing these via a company compartmentalises those commercial activities, while also somewhat insulating
287 from the core project itself from the influence of commercial users.
289 This funding currently helps cover Dan's living costs to keep working on the project as his main focus.
290 Ever so often we'll share insight into the project's finances on the blog, like can be seen
291 [in our 2023 post here](/blog/bookstack-in-2023/).
293 ### Will the project accept investment?
295 No. We do want money to become a core focus, goal, driver or concern for the project.
296 Investment is often in the desire for growth, gain and return.
297 This can put pressures on a project which can affect decisions and impede original goals.
298 We'd much rather be smaller and naturally grow steadily, as we believe that's better
299 long term for us and our users.
301 ### Would you consider an official partnership with other businesses?
303 Typically not, especially for commercial offerings much for the reasons in the answer above,
304 and because most of these are somewhat exclusive and we try to remain neutral when it
305 comes to possible services/offerings/projects related to BookStack.
307 That said, there could be opportunity in some non-exclusive partnership and collaboration
308 with other companies where it doesn't have the mentioned impacts, especially with
309 other "smaller" self-funded open source projects & businesses like ours.
315 ### Do you provide an official managed hosting service?
317 We do not, and we don't intend to.
318 Many existing companies offer such services, and will have much better skills & capabilities to support
319 such a service. We instead take a position of being agnostic to hosting services, platforms and methods,
320 so we can keep focused on the core platform.
322 If interested in the services offered by others, you can find some options in
323 the ["Other Hosting Options" part of our install page](https://www.bookstackapp.com/docs/admin/installation/#other)
324 otherwise [our sponsors](https://www.bookstackapp.com/#sponsors) are often hosting providers with BookStack
325 offerings, although none of these are officially vetted nor endorsed by the BookStack project.
327 ### What services do you officially provide?
329 We provide support services which you can read about [on our support page](https://www.bookstackapp.com/support/).
330 In addition, we do provide services for updating "hacks" (unofficial & unsupported customizations) on our site.
331 These services are provided via [HTTP Functions Ltd](https://www.httpfunctions.com/).
333 ### Are there other versions/editions of BookStack?
335 No, we don't provide custom, or enterprise versions of BookStack.
336 Our efforts are focused on a single, open and free version.
337 Official features should not be locked or limited unnecessarily.
338 There's no intent to change this.
340 ### Can others provide services/offerings for BookStack?
342 Sure! Our license allows that, and we believe that more services and infrastructure
343 around the project is key to a healthy wider community and open source ecosystem.
344 There's no requirement to contribute or pay back, although it is appreciated.
345 I just ask the following:
347 - If you offer hosting services, please ensure you're able to keep customer instances reasonably up-to-date (or provide users the means to do so).
348 - Please don't infer an "official" affiliation, or misrepresent your relation, with the BookStack project in any way to users.
349 - You can use the name and logo to refer to BookStack, but please respect the "BookStack" trademark. For example, don't use it for other software, or use it in a way that could appear as an official BookStack service/offering, and don't use the logo by itself as your own logo.
350 - Please don't defer your customers to the BookStack community support offerings for things that should be managed/addressed at a infrastructure/hosting level (Basically don't overload our support with things you should be supporting).
351 - If forking the project, please do so cleanly with separate branding & community spaces to avoid confusion, conflation and impact to our limited resources. Also please respect the MIT license, and the licenses of the other components involved in the project & source code.
353 ### Do you offer pre-sales support/calls?
355 No. These are usually desired by very large companies, and can often be very time consuming and non-productive
356 due to the abstract level of scale and business-specific process talked about.
357 We are not trying to sell you the software. It's free to take and assess as you need.
359 If pre-sales support or consultancy is essential, then our ["Enterprise Support Plan"](/support/) includes
360 10 hours of video/call support & advice which could be used for this purpose.
361 Keep in mind, we will not make changes or add features to specifically "win your business".
362 Our enterprise plan offers no direct influence, development or custom build offering in regard
363 to new features and changes.
367 ## Communications & Involvement
369 ### How can we receive project news & updates?
371 The best route for this is [our blog](/blog/). On that page you'll find an RSS feed and a link to sign up
372 for blog updates by email.
373 We also have a [security-specific update email list here](https://updates.bookstackapp.com/signup/bookstack-security-updates),
374 which will be sent upon release of new important security updates.
376 Otherwise, you can [find us on the fediverse/Mastodon here](https://fosstodon.org/@bookstack).
377 We also publish a range of update and guide videos, which can be found on both [Peertube](https://foss.video/c/bookstack/videos)
378 and [YouTube](https://www.youtube.com/c/BookStackApp).
380 ### How can we contact you?
382 You can find us via any of the various communities we have:
384 - [On Mastodon](https://fosstodon.org/@bookstack)
385 - [Our Discord](https://discord.gg/ztkBqR2)
386 - [The Codeberg org](https://codeberg.org/bookstack)
387 - [The Github Project](https://github.com/BookStackApp/BookStack)
388 - [Our Subreddit](https://www.reddit.com/r/bookstack)
390 If you need to get hold of Dan directly, he has links to his personal social pages [on his homepage](https://danb.me/).
391 His email can be seen [on his GitHub profile](https://github.com/ssddanbrown), when logged in.
393 ### How can I get involved with the project?
395 You can join one of our communities and let us know!
396 We can then guide you to the right place or to any relevant existing documentation & guidance we might have.
397 It's not just about code either, there are many ways to help out. [See our blogpost here](/blog/contributing-to-open-source/)
398 about all the different ways you can get involved.
400 ### Do you provide mentoring?
402 We don't provide any kind of official mentoring program.
403 That said, if you're wanting to contribute and put in the effort, we're happy to spend some time
404 to help guide and hand-hold through the development & contribution process.
405 It's rare there's anything easy and pre-accepted in the GitHub issue list to pick-up & work on,
406 but we can help find or put aside potential things to help with, depending on your goals