A massive, community-maintained collection of free programming books, courses, and learning resources in many languages.
Free Programming Books is a massive, community-maintained repository that curates and lists freely available educational resources for software development. It solves the problem of finding high-quality, legitimate free learning materials by providing a centralized, multilingual directory of books, courses, cheat sheets, and tutorials. The project is one of GitHub's most popular repositories and is administered by the non-profit Free Ebook Foundation.
Self-taught programmers, computer science students, educators, and professional developers seeking free, high-quality learning materials in their native language or on specific technical topics.
Developers choose this resource because it offers an unparalleled, vetted collection of free materials in dozens of languages, all in one place. Its community-driven nature ensures the list stays current and comprehensive, making it the definitive starting point for free programming education.
:books: Freely available programming books
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Lists resources in over 50 languages, including less-common ones like Armenian and Sinhala, as shown in the extensive book and course sections, making it globally accessible.
Includes books, courses, cheat sheets, podcasts, and interactive tutorials, catering to various learning preferences, with dedicated Markdown files for each category in the README.
Maintained by thousands of contributors with clear contribution guidelines and Hacktoberfest participation, as evidenced by badges and issue labels, ensuring continuous updates.
Offers both static Markdown listings and a dynamic search website for easy navigation, linked directly in the README with working badges.
Resources are submitted by the community without formal review processes, so users must independently verify the accuracy and relevance of materials, leading to potential inconsistencies.
The repository relies on manual updates, so some links may be broken or point to obsolete content, with no automated link checking mentioned in the README.
With thousands of entries, beginners may struggle to find appropriate starting points due to the lack of curated learning paths or difficulty ratings.