What Is the Free Programming Books GitHub Repository?
If you have spent any time looking for free programming resources, you have probably stumbled upon the EbookFoundation/free-programming-books repository on GitHub. It is one of the most popular repositories on the entire platform — ranked in the top 5 with over 390,000 stars and more than 66,000 forks. To put that in perspective, it sits alongside projects like freeCodeCamp and developer-roadmap in terms of popularity.
The repository started as a simple StackOverflow page. Someone asked for a list of freely available programming books, and the community responded. The list grew so large that it was moved to GitHub by Victor Felder in 2013, where it could be maintained collaboratively. After going viral on Hacker News, it ballooned into what it is today: a collection of over 8,000 links to free programming books, courses, podcasts, and screencasts across 43 languages, maintained by more than 3,000 contributors.
Since 2017, the repository has been administered by the Free Ebook Foundation, a non-profit organization that also supports Project Gutenberg and other open ebook initiatives.
How the Repository Works
The repository is organized as a set of Markdown files. Each file corresponds to a language or category: free-programming-books.md for English books, free-courses-en.md for English courses, and similar files for dozens of other languages. Within each file, resources are listed alphabetically with a title and a URL — nothing more.
To add a new resource, anyone can fork the repository, add a link to the appropriate file, and submit a pull request. If the maintainers approve it, the link becomes part of the list. This open contribution model is what makes the repository so comprehensive, but it also means there is no editorial review. Links are added based on community consensus, not quality checks.
In 2022, the Free Ebook Foundation launched an official search tool at ebookfoundation.github.io/free-programming-books-search that lets you filter by language and search across all resources. It is a useful improvement over browsing raw Markdown files, but it still presents results as a plain list of links.
The Good
The repository is undeniably valuable. Its biggest strength is breadth. With over 8,000 links, you can find resources on almost any programming topic, in almost any language. It is particularly strong for niche and less common languages where dedicated resources are harder to find.
It is also completely free and open source, licensed under Creative Commons Attribution 4.0. Anyone can use, share, or contribute to it without restrictions.
The Not-So-Good
Breadth comes at a cost. Because anyone can contribute, the quality of links varies wildly. Some entries point to excellent, well-maintained resources. Others point to outdated content, broken URLs, or sites with questionable copyright practices. The foundation runs automated link checking, but with thousands of links, broken URLs are a persistent problem.
More importantly, the repository provides no context. Each entry is just a title and a URL. There is no description of what the book covers, who it is for, what license it uses, or whether it is worth your time. You have to click through to find out, and if the link is broken, you have wasted your time.
The repository also does not host any content. It is purely a directory of links. If you want to read a book, you need to follow the link to an external site, which may require registration, display ads, or have its own set of limitations.
A Different Approach: FreeProgrammingBooks.com
If you value depth over breadth, FreeProgrammingBooks.com offers a curated alternative. Instead of 8,000 unverified links, it focuses on a carefully selected collection where every book is manually reviewed for quality and license compliance before being added.
Each book page includes a full description, a detailed table of contents, author information, and the specific license under which the book is distributed. And crucially, the PDFs are hosted directly on the platform — no external redirects, no broken links, no registration walls.
The site also uses structured data markup (schema.org), which means Google can display rich snippets with cover images, author details, and pricing information directly in search results — something the GitHub repository cannot do.
Think of it this way: the GitHub repository is like a massive library catalog with millions of cards but no librarians. FreeProgrammingBooks.com is a smaller, carefully organized shelf where every book has been checked, described, and put in its place.
How to Use Both
The best strategy is to use both resources together. Use the GitHub repository to discover what is available — it is excellent for finding titles you did not know existed. Then check FreeProgrammingBooks.com to see if a curated version with descriptions and a direct download link is available.
If you are just starting out and want a reliable, frustration-free experience, FreeProgrammingBooks.com is the better place to begin. If you are an experienced developer looking for something specific or obscure, the GitHub repository can help you find it.
Frequently Asked Questions
Is the Free Programming Books GitHub repository free?
Yes, the repository is completely free and open source under the Creative Commons Attribution 4.0 International License. No registration or payment is required.
How many books are in the repository?
The repository contains over 8,000 links to free programming books, courses, podcasts, and screencasts across 43 languages, maintained by more than 3,000 contributors.
Does the repository host PDF files?
No. The repository is a directory of links to external resources. It does not host any books or PDFs directly. FreeProgrammingBooks.com, by contrast, hosts PDFs directly on its platform.
Can I contribute to the repository?
Yes, anyone can contribute by forking the repository, adding a link, and submitting a pull request. The repository has a CONTRIBUTING.md file with guidelines.
Who maintains the repository?
The repository is maintained by the Free Ebook Foundation, a 501(c)(3) non-profit organization, together with a community of over 3,000 contributors.