Many open source projects host their online documentation with Read The Docs. Since I’m currently developing a tool for Read The Docs users, I recently took a look at the types of projects that are hosted there.
The data in this post is derived from the list of projects available in the public Read The Docs API, and has its limitations. In particular, spam, inactive, or abandoned projects are not filtered.
Totals
This data is current as of May 20, 2018. At that time, there were 90,129 total projects on readthedocs.io
.
Starting out, I had assumed that the majority of projects had all four of these attributes:
- Hosted in Git
- Programmed in Python
- Documented in English
- Documentation generated with Sphinx
As it turned out, this particular combination is only used on 35.8% (32,218) of projects, so let’s take a look at how each of these vary.
Programming languages
The two main conclusions I drew by looking at the programming languages are:
- Python is the largest developer community that is using the Read the Docs platform
- A lot of projects are hosting documentation that is not tagged with a programming language
# | % | Projects | Programming language |
---|---|---|---|
1 | 39.92% | 35978 | Not code (“just words”) |
2 | 39.27% | 35391 | Python |
3 | 9.27% | 8354 | (No language listed) |
4 | 2.83% | 2551 | Javascript |
5 | 2.29% | 2060 | PHP |
6 | 1.15% | 1040 | C++ |
7 | 1.13% | 1018 | Java |
8 | 0.85% | 769 | Other |
9 | 0.77% | 690 | C# |
10 | 0.71% | 640 | C |
11 | 0.42% | 380 | CSS |
12 | 0.34% | 304 | Go |
13 | 0.31% | 283 | Ruby |
14 | 0.31% | 277 | Julia |
15 | 0.11% | 96 | Perl |
16 | 0.06% | 55 | Objective C |
17 | 0.06% | 54 | R |
18 | 0.04% | 36 | TypeScript |
19 | 0.03% | 31 | Scala |
20 | 0.03% | 30 | Haskell |
21 | 0.03% | 29 | Lua |
22 | 0.02% | 22 | Swift |
23 | 0.02% | 15 | CoffeeScript |
24 | 0.02% | 14 | Visual Basic |
25 | 0.01% | 12 | Groovy |
Documentation languages
You might have guessed that English dominates in software documentation, but here is the data:
# | % | Projects | Language |
---|---|---|---|
1 | 93.1% | 83888 | English (en) |
2 | 2.4% | 2178 | Indonesian (id) |
3 | 1.4% | 1287 | Chinese (zh, zh_TW, zh_CN) |
4 | 0.5% | 456 | Russian (ru) |
5 | 0.5% | 425 | Spanish (es) |
6 | 0.5% | 412 | French (fr) |
7 | 0.3% | 254 | Portuguese (pt) |
8 | 0.3% | 233 | German (de) |
9 | 0.2% | 209 | Italian (it) |
10 | 0.2% | 208 | Japanese (jp) |
– | 0.6% | 579 | All other languages |
In total, documentation on Read the Docs has been published in 54 languages. The “All other languages” item here represents 44 other languages.
Documentation build tool
The majority are using the Sphinx documentation generator. The table here counts sphinx
, sphinx_htmldir
and sphinx_singlehtml
together.
# | % | Projects | Language |
---|---|---|---|
1 | 92.5% | 83364 | Sphinx |
2 | 6.9% | 6229 | MkDocs |
3 | 0.6% | 536 | Auto-select |
Version control
Git is the version control system used for the vast majority of projects.
# | % | Projects | Version control |
---|---|---|---|
1 | 96.5% | 86988 | Git |
2 | 2.1% | 1879 | Mercurial |
3 | 0.9% | 816 | SVN |
4 | 0.5% | 446 | Bazaar |