explaingit

ebookfoundation/free-programming-books

387,808PythonAudience · generalComplexity · 1/5License

TLDR

A massive community-curated list of free programming books and learning resources in dozens of languages, organized by topic and language.

Mindmap

mindmap
  root((repo))
    What it does
      Free book directory
      Multiple languages
      Searchable index
    Organization
      By programming language
      By subject area
      Translated versions
    Use cases
      Learning new languages
      Teaching others
      Finding native language resources
    Community
      Open contributions
      Code of Conduct
      Hacktoberfest friendly

Things people build with this

USE CASE 1

Find free programming books to learn a new language without spending money.

USE CASE 2

Discover learning resources in your native language for any programming topic.

USE CASE 3

Build a reading list for teaching a programming course or mentoring others.

USE CASE 4

Search for books by author or topic using the external search site.

Tech stack

MarkdownGitHub Pages
Use and share freely for any purpose, including commercial, as long as you give credit to the original creators.

In plain English

This repository is a large, community-maintained list of free learning resources for programming, available in many human languages. The README explains that the list was originally a clone of a Stack Overflow thread titled "List of Freely Available Programming Books," credited to early contributors Karan Bhangui and George Stocker. It was later moved to GitHub by Victor Felder for collaborative updating, and is now administered by the Free Ebook Foundation, a not-for-profit organization devoted to promoting the creation, distribution, archiving, and sustainability of free ebooks. Donations to the Foundation are tax-deductible in the US.

The way it works is that the repository is essentially a structured directory of pointers. Books are grouped by genre into separate index files: one for English by programming language, one for English by subject, and many additional files for other languages. The README lists translations including Arabic, Armenian, Azerbaijani, Bengali, Bulgarian, Burmese, Chinese, Czech, and many more. There is also an external search site, hosted at ebookfoundation.github.io, where readers can look up books and authors. The repository includes a CONTRIBUTING guide and a HOWTO file for newcomers, plus a Code of Conduct adapted from the Contributor Covenant. Hacktoberfest participation is also indicated by a status badge.

Someone would use this when they want to learn a new programming language or topic without paying for material, when teaching others, or when looking for free reading in their native language. The repository's primary language label is Python, but the actual content of this repo is Markdown lists, not executable software. The project is published under the CC BY 4.0 license. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
I want to learn Rust but don't want to buy books. Show me how to browse the free-programming-books repo to find Rust resources.
Prompt 2
How do I contribute a free programming book I found to the free-programming-books repository?
Prompt 3
I'm teaching a Python class and need free resources in Spanish. How do I find them in this repo?
Prompt 4
Show me how to use the ebookfoundation.github.io search site to find free books on web development.
Prompt 5
I found a broken link in the free-programming-books list. What's the process to report or fix it?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.