explaingit

ebookfoundation/free-programming-books

387,808PythonAudience · generalComplexity · 1/5LicenseSetup · easy

TLDR

A massive, community-maintained index of free programming books, online courses, and tutorials covering virtually every programming topic across dozens of human languages, one of GitHub's most-starred repos, now run by the Free Ebook Foundation.

Mindmap

mindmap
  root((repo))
    Content types
      Books
      Online courses
      Interactive tutorials
    Languages
      English by topic
      English by language
      Dozens of translations
    Topics
      Programming languages
      Computer science
      Data and AI
    Access
      Markdown files
      Companion search site
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Find a free textbook on any programming language or computer science topic without paying anything.

USE CASE 2

Discover learning materials in your native language, the list covers dozens of languages beyond English.

USE CASE 3

Use the companion search site to quickly find free books by title or author without scrolling through Markdown files.

USE CASE 4

Curate a reading list for a subject area like machine learning or databases from already-vetted free resources.

Tech stack

PythonMarkdown

Getting it running

Difficulty · easy Time to first run · 5min
Free to use, share, and adapt for any purpose as long as you give appropriate credit, licensed under Creative Commons BY 4.0.

In plain English

This repository is a long-running, community-curated list of freely available programming and learning resources, books, online courses, interactive tutorials, and other material. The list spans many human languages and many programming languages, so it's not just an English-only catalogue. The README explains how the project started as a clone of a Stack Overflow answer titled "List of Freely Available Programming Books," with early contributions from Karan Bhangui and George Stocker. Victor Felder moved the list onto GitHub for easier collaborative maintenance, and it eventually became one of GitHub's most popular repositories. The Free Ebook Foundation, a not-for-profit dedicated to the creation, distribution, archiving, and sustainability of free ebooks, now administers it, donations are tax-deductible in the US. Content is licensed under Creative Commons BY 4.0. Inside, resources are split into sections. Books are organised as "English by programming language", "English by subject", and translations in many other languages, Arabic, Armenian, Azerbaijani, Bengali, Bulgarian, Burmese, Chinese, Czech and many more. Beyond books, the project also lists other free learning material grouped by genre. A companion search site lets you look up entries by book or author without scrolling through Markdown files. You would use this when you want to learn a new language or topic without paying for a textbook, or when you need material in a specific human language. The repo itself is mostly Markdown, the small amount of Python listed as the primary language is project tooling rather than the books themselves.

Copy-paste prompts

Prompt 1
I want to learn [programming language] from scratch using only free resources. Find the best books for it in the free-programming-books list and give me a one-sentence description of each.
Prompt 2
I need free learning material on [topic] in Spanish. Summarize what the Spanish section of free-programming-books offers for that topic.
Prompt 3
Help me contribute a new free book to the ebookfoundation/free-programming-books repo, what format does each entry use and how do I submit a pull request?
Prompt 4
I'm teaching a web development course on zero budget. Pull the best free books on HTML, CSS, and JavaScript from this list and build me a 12-week reading plan.
Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub ebookfoundation on gitmyhub

Verify against the repo before relying on details.