I'm trying to amass a list of programming books with opensource licenses, like Creative Commons, GPL, etc. The books can be about a particular programming language or about computers in general.

What are some freely available programming books on the internet?

+6  A: 

Here is a PDF of the book On Lisp by Paul Graham that I've been reading lately.

+10  A: 

I'm going to start a list of tutorial/books here:

Jon Works
+10  A:

That is an amazing resource, not all of the links work, but about 95% which is still awesome

+27  A: 

This link was listed on digg:

+29  A: 

MIT has their open course ware for computer science.

Stephen Pellicer
+40  A: 

You can check out my free ebook, Foundations of Programming. (Karl Seguin)

Karl Seguin
I thought you did some great work with that little book Karl. +1
Paul Batum
I took the liberty of including the name of the book here. Thanks to Karl Seguin for providing the ebook. I'm definitely going to investigate it!
Ola Eldøy
This is a great book Karl. I just came to this question to recommend it.
John Nolan
Thank you for sharing Karl.
A great book indeed
Dmitri Nesteruk
Thanks, great book. (also the size is just right)
Liran Orevi
+10  A: 

As long as we're on the subject of Lisp, Practical Common Lisp by Peter Seibel is available for free online.

+14  A: 

Bruce Eckel has free books on several topics here.

Dive Into Python is a nice free Python book. Check out Thinking in Java and Thinking in C++ as well.

+10  A: 

If you haven't read it yet, I recommend the free PDF download Think Python. It is a great book.

Nick Masao
+20  A: 

This may sound silly, but have you tried your local library? I work in a college library and we have access to a lot of ebooks through the Safari service (O'Reilly, Prentice Hall, Addison-Wesley, Microsoft Press, Sams and Que just to name a few). Many college libraries especially community colleges allow members of the community to become patrons, whether or not they allow off-campus access to online resources for these patrons varies school to school.

I don't understand how a library makes sense, from a moral perspective, now that you have ebooks. Can you and I share an ebook if we promise not to read it at the same time? No, that's illegal. Why are libraries okay... but they are. Good suggestion!
All of our services require you to be signed in to read the book. It's web-only and cannot be downloaded/stored/cached. The Safari service doesn't care how many people read a book at once, however the NetLibrary service limits it to one viewer at a time.
Actually, my $0.02 is that reading a text book is simply a better experience than an ebook. But libraries - seriously, university libraries lag by about ~5 years (in UK anyway). In Russia, they lag by ~10-20 years (no, I'm not kidding).
Dmitri Nesteruk
I think you will find that you have better luck at a University library, especially one that has a decent CS program.
+5  A: 

For those interested in reading about Smalltalk:

has an extensive collection of out-of-print smalltalk books available as PDF files.

Alan Hecht
+5  A:

+82  A: 

Here what's on my bookmarks:

All of these are available online (free and legal).

Ah, the graphics programming black book... I borrowed that from my school library in grade 11 and 'accidentally' forgot to return it. :D
graphics programming black book link is broken.
Neil N
its now fixed. thanks
+11  A: 

The Foundations of Programming E-Book from is a worthwhile read for beginners.

+30  A: 

It's not an ebook, but every programmer should probably watch it.

MIT's - Structure and Interpretation of Computer Programs, Video Lectures

Also, Berkley have their lectures posted online

Here's the book accompanying the SICP video lectures:
Stanford also has lectures of many courses online at the SEE project.
+5  A: 

Don't forget the classic, Programming Pearls:

not downloadable!
He asked for free, not downloadable.
This only contains 3 of the 15 chapters from the book, plus 7 chapter summaries. The other 5 chapters are just missing.
Bill the Lizard
+5  A: 

Thinking Forth and a review of it


Maybe you can try searching bookmarking services like and with keywords like "free" and "ebook" (books, ebook, book, etc.)?

Thats would ruin the point of this site.
+2  A: 

If you don't feel like reading take a look at You can find a large collection of tech video on a large number of subjects.

Andrei Savu
+5  A: 

Patterns of Software: Tales from the Software Community by Richard P. Gabriel.

Not so much a programming book as a series of essays on various topics, but definitely worth a read. Richard made it available for free on-line after it went out of print.

Adrian Mouat
+5  A: 

Have a look at

+5  A: 

Have a look at

+2  A: 

I recommend

I got some great computer science related books, papers, etc. here.

Abhishek Mishra
+2  A: 

Learn to Program, by Chris Pine.

Bill Turner
+5  A: 
+5  A: 

Programming Languages: Application and Interpretation if you want something more advanced.

+51  A: 

The SVN Book, Creative Commons license.

+1 I'm reading this right now
+26  A: 

The Django Book, GNU Free Document License

+13  A: 

Practical PHP Programming, Creative Commons license

Firas Assaad
As I commented up on the question (:), the new URL the author recommends is
Lucas Jones
+70  A: 

Why's (Poignant) Guide to Ruby, Creative Commons license

Firas Assaad
Such a weird book—"poignant" is the proper description of it. If I could buy a printed copy, I would lay down that stack of cash without hesitation!
This one is a beautiful piece! Well written and a hell lot of fun!
petr k.
I'd vote this up a thousand times if I could. Worth the read even if you aren't a programmer.
You can buy a copy off of lulu:
This is seriously amazing!
+13  A: 

Bruce Perens' Open Source Series, several books on different Open Source projects.

Adriano Varoli Piazza
Some of the books can be donwloaded. For others only a sample chapter is available for download.
Peter Mortensen
+20  A: 

It's not a proper book, but one of Wikipedia's spinoffs is Wikibooks, which has quite a lot of books in different stages of development.

+29  A: 
+30  A: 

The Art of Unix Programming, Creative Commons license.

+6  A: 

Have a look at

Federico Ramponi
+18  A: 

Vi IMproved -- Vim, Open Publication License.

+21  A: 

Linux Device Drivers, Third Edition, Creative Commons Attribution-ShareAlike 2.0 license

+14  A: 

Building Skills

  • Building Skills in Python
  • Building Skills in Programming
  • Building Skills in Object-Oriented Design
+35  A: 

The little book of semaphores.

Great Book .. !
+10  A: 

PC Assembly Language, free as long as you don't sell it

Firas Assaad
+18  A: 

Programming from the Ground Up

This is an introductory book to programming and computer science using assembly language. It assumes the reader has never programmed before, and introduces the concepts of variables, functions, and flow control. The reason for using assembly language is to get the reader thinking in terms of how the computer actually works underneath. Knowing how the computer works from a "bare-metal" standpoint is often the difference between top-level programmers and programmers who can never quite master their art.

Thats a really nice book, I worked through the first few chapters, finally understood what a call stack is!
+12  A: 

Some great links for download open source books:

Greetings from Spain.

+45  A: 

Practical Common Lisp

This is not a Creative Commons nor Open Source book, but the author has decided to give the content away for free online for everyone to read without charge, so I think it is worth mentioning.

Besides that, it is the best book on Lisp for beginners I have read, and is very up to date also (published July 2008).

Strongly recommended for anyone interested in learning Lisp:

Peter Seibel's Practical Common Lisp

Sergio Acosta
Is it better than ANSI Common Lisp?
Honestly I read only the first few chapters of ANSI Common Lisp, and the difference IMO is that Seibel's book is more up to date and more newbie friendly. Although I admire Paul Graham, I feel like he is all the time showing off how clever he is.
Sergio Acosta
+125  A: 

Book: Structure and Interpretation of computer programs (Table of contents)
Lectures are here, smaller re-encoded versions from MIT OpenCourseWare are here.

the lecture videos are available for this too man find them at
My God, those are *huge* DivXs. The MPEGs are just unreasonable.
Lucas Jones
Re-encoded ones:
Lucas Jones
There is a Berkeley OpenCourseWare project (CS 61A, the first of the Cal 3 part lower division curriculum) using the same text with video lectures available here:
+8  A: 

Not Creative Commons but FREE to download.

Excellent book for beginning Grails.

+10  A: 
Chris Young
+5  A: 
+2  A: 

Python Bibliotheca Includes books like 'How to Think Like a Computer Scientist'.

+2  A: 

What about Wikibooks? I've noticed quite a few programming-related books on there.

Ogre Psalm33
+6  A: 

I'm a fan of Eloquent Javascript.

Dan Monego
+10  A: 
+4  A: 

Essential Skills for Agile Development (alternate link).

alt text

License: We are making the online version of the book for free for you to download. This version is licensed for your personal viewing only. You are also allowed to redistribute it as long as this license is retained. It is NOT licensed for printing or for commercial use. If you’d like to print it, please order the hard copy from us at

Link is broken.
Oh Danny Boy
+2  A: 

There is one ultimate source of free programming!

Try the following query

intitle:index.of + "pdf" + "name" -htm -html

This is useful when you know the name of the book.

Warning: You might get books that are not "free". Download at your own risk.

+2  A: 

Wow, I figured would be on here by now.

+6  A: 
+5  A: 

Most of the content of O'Reilly's PHP in a Nutshell by Paul Hudson is available in Wiki format from The Practical PHP Programming site.

+5  A: 

"Programming Ruby - The pragmatic programmers guide"

It's quite good, I used it to learn ruby. However when it comes to reading/learning, quality comes first IMHO and books like "The Art Of Computer Programming, by Donald Knuth" are not free.

I can also recommend the Algorithm book by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani, which is mentioned above.

+7  A: 

man perl :-)

+7  A: 

Scrum and XP from the trenches.

Registration and login is required to download this book.

Cristian Libardo
+10  A: 

Perl framework:

the mason book: Embedding Perl in HTML with Mason

Open source development essays:

and the bazaar and cathedral book:

GUI Design:

User Interface Design for Programmers by joel

Advanced Perl:

Higher-Order Perl

Buy the print version of User Interface Design for Programmers - lots of really good pictures!
Andy Dent
+36  A: 

Some Linux related books:

  1. The Art of Unix Programming

  2. Advanced Linux Programming by CodeSourcery LLC

  3. Java Application Development on Linux by Carl Albing and Michael Schwarz(PDF)

  4. Writing GNOME Applications

  5. Advanced Linux Programming

  6. Secure Programming for Linux and Unix

  7. The Art of Unix Programming (valid link, but dupe of #1)

  8. The Linux Development Platform

  9. Secure Programming for Linux and Unix HOWTO

  10. C++ GUI Programming With Qt 3

  11. Linux Kernel Module Programming Guide by Ori Pomerantz

  12. KDE 2.0 Development

  13. GTK+/Gnome Application Development

  14. GNU Autoconf, Automake and Libtool

  15. The Linux Kernel Module Programming Guide

  16. PHP Essentials

  17. JavaScript Essentials

  18. Visual Basic Essentials


How is VB essentials linux related?
Probably - just to check if someone reads whole list.
Arnis L.
lol @Arnis. Good thinking.
KDE 2.0 !!!!!!!
The art of unix programming is duplicated (#1 and #7). Yes, more than a year after.
@Tom, now noted in the answer. Yes, an additional two and a half months after.
Lord Torgamus
+2  A: 

.NET Book Zero by Charles Petzold

John D. Cook
+5  A: 

"the topic of programming' and the range of eBooks about various aspects of 'programming' is pretty darn vast .. i just downloaded a book on how to program Ogre3D .. does this qualify? .. Maybe you could isolate your interests?

and i've found almost everything i need via the bittorrents ( and the like)

Scott Evernden
+46  A: 
I don't know what someone found offensive about this. Care to explain?
I agree. Maybe the question could be presented better, but why mark it or this answer offensive?
Adam Bellaire
maybe they are hip to my trolling ways and down vote anything i ask regardless of it being valid or not? /me reaches for tinfoil
there is a new version under
+10  A: has a pretty useful collection of Cheat Sheets:

Gordon Bell
+28  A: 

37 Signals' book "Getting Real" is free to read online.

matt b
sweet, this book seems really relevant, especially in todays landscape. good find
+11  A: 

Threading In C# - been pretty invaluable to me

George Mauer
+2  A: 

I haven't updated the list in a while... but here is the comp sci section of a hobby site I maintain:

Book Gold Mine

Giovanni Galbo
+2  A: 

Not a book, but you might want to check out Donald Knuth's Computer Musings, a series of lectures that he gives at Stanford. His web site can be found here.

+41  A: 

At the risk of being downvoted, all books are free at the library, and you can find any of the books listed on other threads where people have already asked this question. I know you can't keep them, but if they're really great, you can buy a copy then, and save yourself the cost of buying the books that you'll only read once anyway.

Though they'll likely not carry the latest programming books, there are plenty of books that will lay the foundation for being a great programmer, like "The Mythical Man Month", among others.

you can also rent anime dvds from the library as well. that doesnt stop you from using torrents, does it?
Hmmm...many of the computer books I need are not available at the library. I long ago concluded that what I need in a timely manner, I have to buy; I'll wait a long time for the library to have the funds to buy them.
Jonathan Leffler
sorry for my first comment. Jonathan rephrased it better. My library has a lot of antiquated reference books.. (java 1.2, red hat 4)
I realize that libraries may not have _everything_; however, I wouldn't discount them entirely as I've found the Ottawa Public Library to have a surprisingly complete collection. I can even place holds online and have the book delivered the branch a block and a half from my apartment.
Aaron Maenpaa
What? The library? What library are you going to? My library has no interest in stocking the latest or even the oldest programming books, and they are a very big library with tons of money. Go figure. Maybe a university library.
My library is very small, with very little money, and very few computer books. And I LOVE it. Just saying.
Jay Bazuzi
While I'd agree that many libraries are sorely out of date on their programming materials, I'd argue that many books that would make you a better programmer aren't exclusively "programming" books (like, for example, "The Mythical Man Month", which I guarantee your library has in stock).
Ask your librarian about inter library loans (ILL), almost all libraries offer this service. They can search books from libraries all over the country and borrow books from them. I'd bet you could find any book you need via ILL.
Chris Blackwell
one time i rented the o'reilly openssh book from my library and lost it. i had to pay 40 bucks.. that sucks
Touche, but you can get a copy at the Huntingdon College library, 12 miles away.
Not a bad answer.
George Stocker
Also, for those who aren't aware: Programming books tend to be in demand, which means that you'll check it out for the two- or three-week period, you don't finish with it, and then you can't renew it due to requests. *However*, if you ask, some libraries will let you check it out from the start for the full period (including renewals), meaning you get it for a full eight or nine weeks instead of two or three.
+2  A: 

One online resource I use frequently is the POSIX standard - not quite a book, but still very useful. If I remember rightly, you are supposed to register the first time, but there's no cost involved.

Jonathan Leffler
+7  A: 

Digital Signal Processing: A Practical Guide for Engineers and Scientists.

Actually, a practical guide for a programmer looking to get into DSP in general. It's a fun read if you're already interested in the field, and completely free to download!

And Steve Smith has a blog over on, which is also interesting!
Peter K.
+12  A: 

This is a great read. Quick and choc full of great ideas.

Foundations of Programming by Karl Seguin of

Chris Conway
glad you added this. Karl's FOP is a great read. +1
+43  A: 

Structure and Interpretation of Computer Programs is one of the "classic" computer science texts, and is free at MIT's web site.

Jonathan Schuster
+2  A: 

Security Engineering, Ross Anderson. While not about programming directly, there are a lot of concepts that can be useful when trying to design a secure distributed (or non-distributed) system. I used this book (hard copy) as a text for one of my university courses and found that it was quite interesting to read. I would often read sections that weren't even part of the course, simply because they were so interesting.

+7  A: 

Charles Petzold's .Net Book 0 is available on his website for free.

Here's the link if anybody needs it:
+18  A: 

Bruce Eckel offers several books including Thinking in Java

Daniel Auger
+12  A: 

Practical Common Lisp is a very good book for Lisp beginnners.

On Lisp covers advanced Lisp techniques.

jothiram selvam
+10  A: 

Higher-Order Perl is now available for free

also Perl the hard way.

+11  A: 

You can find a number of links at FreeTechBooks

+2  A: 

How about Programming Ruby. I use it all the time. It's a good start if you want to play around with a new language and a great resource if you are already doing Ruby programming.

+5  A: 

Not quite free books, but O'Reilly and other publishers usually offer one free chapter of each book. This could be a good way to tell if you'd like to buy a copy.

+2  A: 

This was one of the books in the list that mmyers posted, but I wanted to bring more attention to The Cathedral and the Bazaar. To me, it (and the other essays included in the book) serve as a good intro to the world of open source software.

Jonathan Schuster
+5  A: 

Entity Framework learning guide - free, 514 pages

I also recommend pdf files search: Pdfgeni

If you are looking for academic stuff it's always worth to search at MIT OCW

+2  A: 

Foundations of Programming Ebook by Karl Seguin

+2  A: 

There's a good free C# ebook at ProgrammersHeaven

+2  A: 

ProgrammingGroundUp - nice programming introduction in assembler

+2  A: 

Why's (Poignant) Guide to Ruby is a good choice if you want to learn Ruby and laugh at the same time.

+2  A: 

Extreme Perl, it's basically extreme programming with perl. So if you're just into learning the basic of extreme programming principles you can use this as well.

I use it mainly for the part on TDD :P

+582  A: 

List of Free Programming books (compiled):


Graphics Programming

Language Agnostic:


Assembly Language:




  • See .NET below













.NET (C#)



Oracle Server

Oracle PL/SQL

Parrot / Perl 6












SQL (Implementation agnostic)


George Stocker
Outstanding work! - Thank you!
It would be good to see this integrated into the question text, it's gotten upvotes but I still had to scroll down to see it. Maybe we can get theman's blessing? (Tho I think Gortok has the rep to edit it anyway, might be nice to ask first. :)
Adam Bellaire
@Adam Bellaire: I was trying to get theman to mark it as the answer so it'd be right under the question. I can move it up there at any time, however.
George Stocker
Please keep the list in alphabetical order. Meta, then Language Agnostic, then alphabetized list (unless you can argue a better method).
George Stocker
Move along, there's nothing to C (but I just edited my post and added "Thinking in C++ 2nd Ed."). Nice list btw! :)
Added "Thinking in C++" to the list.
George Stocker
what about Erlang?
Updated with all answers in the merged threads.
George Stocker
Holy Crud. Who knew! Thanks!
Frank V
I've tried really hard to keep duplicates out. If you see any duplicates in my list, feel free to edit them out.
George Stocker
I don't want to remove it without confirmation, but it really looks like the Free Ebooks at GoNullYourself (added in Rev 14, on Jun 11) are pirated. I recognize many of the titles in the "Perl" section and I don't think they are supposed to be freely available.
Adam Bellaire
@Adam Bellaire When I originally grabbed that from one of the other answers, I thought maybe that was the case; but didn't have confirmation. I was hoping someone 'in the know' would visit this thread and let us know.
George Stocker
removed. Thanks Adam.
George Stocker
+1 for Learn You a Haskell. That is a great site/book. Oh, and don't forget Red Bean's subversion book.
Justin Johnson
Thank you for posting this great resource!
John at CashCommons
Near-duplicate of this question at and at
Peter Mortensen
Added Link I missed from one of the pages. Trying to keep this up to date and not missing any of the 4 pages is sometimes hard.
George Stocker
Added the Scribd Mirror since _why has dropped off of the digital planet.
George Stocker
Why is *Pragmatic Thinking and Learning* on the list? It's not free (except for some samples).
This is great resource. Thank you...
Add :Exploring Lift (Scala) avaliable at as master.pdfHadoop / Mapreduce book avaliable at
Is ANSI Common Lisp really available for free? The link to PG's site only has the first two chapters.
FreeBooksClub.Net link not working..
NASA Software Measurement Handbook is not available for free in the link you have provided.
Daniel Goldberg
I get virus warning on the second link "25 Free Computer Science Ebooks", my AVG blocks with the message "MDAC ActiveX Code Execution (type 168)"
+2  A: 

Byte Of Python

+4  A: 

I'm not sure if it qualifies as a book, but WikiBooks has plenty of material on programming.

Rishabh Mishra
not anymore it doesn't
Matt Ellen
There we go. I replaced the link with one that works now.
Rishabh Mishra
+2  A:

+2  A: 

Free and useful Cheat sheets, mostly in the Java world.

+2  A: 

NVidia has some free literature on graphics programming:

GPU Gems 1

GPU Gems 2

GPU Gems 3 (partially)

+2  A: 

How to Design Programs An Introduction to Computing and Programming

It uses scheme as SCIP, but it takes a lighter aproach.

+2  A: 

I think WikiBooks is hands-down one of the best free resources out there. It also looks like Scribd has some programming books available, though I'm not sure if they're meant to be free or not... :)

+1  A: 

Lots of books are free with a paid safari subscription.

That sort of negates the purpose of 'free', doesn't it?
George Stocker
+2  A: 

Free hard copy of Best Kept Secrets of Peer Code Review from Smart Bear.

Any recommendations on this ? Forget it, cant ship the book here :(
+2  A: 

I found this book on C, however I'm as yet undecided as to whether or not it is "good":

The C Book, second edition by Mike Banahan, Declan Brady and Mark Doran

too much php
+3  A: 

Heres a list of some off CodePlex:

+25  A: 

Mercurial (Distributed Version Control Software):

Mercurial (Hg) book by Bryan O'Sullivan.

+6  A: 

The Objective-C 2.0 Programming Language. Not open source licence, but freely available.

+4  A: lots of e-books on stack.

+4  A: 
+3  A: 

Check out GNY

Has free e-books for:

  • C++
  • C
  • Assembly
  • Cryptography
  • Windows
  • Linux
  • Perl
  • PHP and MySQL
  • PostgreSQL
  • Python
  • Ruby
  • etc
the link 404s..
Matt Ellen
+3  A: 

Here's a list of the free e-books referred to in Code Complete with their descriptions from the book. StackOverflow votes Code Complete as the single most influential book every programmer should read, so this is a good recommendation for these books, right?

  • Raymond, Eric. The Art of Unix Programming. This is a well-researched look at software design through Unix-colored glasses. Section 1.6 is an especially concise 12-page explanation of 17 key Unix design principles. HTML

  • Abran, Alain, et al. Swebok: Guide to the Software Engineering Body of Knowledge, IEEE Computer Society Press, 2001. This contains a detailed description of the "body of software knowledge" compiled by IEEE - it's an overview of software engineering. PDF.

  • SPMN. Little Book of Configuration Management. Software Program Managers Network, 1998. This pamphlet is an introduction to configuration management activities (version control, change control). Zipped PDF available here.

  • NASA Software Engineering Laboratory. Software Measurement Guidebook, 1995. This guidebook of about 100 pages is probably the best source of practical information on how to setup and run a measurement program to improve software processes. Download a PDF using menu option on this page.

  • NASA Manager's Handbook for Software Development. PDF.

+3  A: 

I haven't used it yet, but Why's (Poignant) Guide to Ruby is great. It'll definitely be first on my list when I learn Ruby.

+1  A: 

THANKS! This has been a very valuable resource considering the economic situation we're all faced with these days. Savings, of any amount, is wonderfully welcomed!

Optimal Solutions
+4  A: 

The C++ Annotations by Frank B. Brokken (GPL-licensed).

According to the website:

The Annotations are intended for people with a good knowledge of C who want to make the transition to C++.

+2  A: 

Temple Of Quantum Computing:

The link to the book is here.

+2  A: 

The Maven book:

Nathan Feger
Apache Maven is a software tool for Java project management and build automation - .
Peter Mortensen
+8  A: 

How to Design Programs - Learn the skill of designing programs using a Scheme-like language.

Programming Languages: Application and Interpretation - A textbook on programming language theory.

Barry Brown
+4  A: 

E-Books for free online viewing and/or download @ Free Programming Books

The books cover all major programming languages: Ada, Assembly, Basic, C, C#, C++, CGI, JavaScript, Perl, Delphi, Pascal, Haskell, Java, Lisp, PHP, Prolog, Python, Ruby, as well as some other languages, game programming, and software engineering.

+3  A: 

Here is one on Applying Design Patterns

Introducing software design patterns to you in a simple, human readable, and funny (?) way - in the context of designing a soccer engine - By discussing the thought process behind applying design patterns

+8  A: 

The Art of Assembly Language Programming

Full title is: "The Art of Assembly Language Programming". By Randall Hyde. 2003. For x86. Published by No Starch Press (San Francisco). Second edition due November 2009.
Peter Mortensen
+3  A: 

The Wikibooks Computer Science department has quite a few useful editable, commmunity-written books.

Lucas Jones
+8  A: 

Illustrated C# 2008

Great book for anybody new to programming that wants to start with C#
+3  A: 

A bunch of free books can be found on Galileo Computing - <openbook> (Only in German)

+6  A: 
+3  A: 

Mr Neighborly's humble little ruby book

This is the book I used to learn Ruby. It is really wonderful. And throws some humor into the mix as well.
Mark Szymanski
+6  A: 

I would like to add the following free online books for the Forth programming language.

First the classics:

  1. Leo Brodie's Starting FORTH — online edition

  2. Leo Brodie's Thinking Forth. PDF version - is not a direct link to the PDF; needs to go through the pesky SourceForge download process.


  1. Stephen Pelc's Programming Forth (PDF).

  2. Stack Computers: the new wave. By Philip J. Koopman. For offline reading. Includes a study of Forth instruction frequencies.

  3. Tim Hendtlass's Real Time Forth (PDF).

Peter Mortensen
+12  A: 

Learn You a Haskell for Great Good, Creative Commons-licensed.

Meredith L. Patterson
+3  A: 

Foundations of Programming eBook by Karl Seguin was a pretty good read. That link also includes a sample application he references in the book. Good stuff about a lot of essential programming concepts.

+1  A: 

Very good resource - [dead link/exploit page]


Languages C C++ XML/XSL UML Perl Python Tcl/Tk Ada Lisp Assembly Fortran Prolog Ruby Cobol Basic Scheme Misc Programming uages More ...

Java/J2EE Core Java Advanced Jakarta Struts Servlet/JSP Spring/Hibernate J2EE/EJB Enterprise Security Distributed Computing GUI Multimedia J2ME More ...

Unix/Linux Core Unix Core Linux FreeBSD Security Shell Programming Networking Unix/Linux Programming System Administration GUI/X Windows Text Editing More ...

Computer Science Data Structure/Algorithms How to Program Languages Compiler OS Numerical AI/Logic Prog Functional OOD/OOP Computation Misc Architecture More ...

Databases Systems SQL Oracle DB2 Sybase MySQL PostgreSQL Misc More ...

Web PHP Programming JavaScript, AJAX DHTML/CSS Site Design Publishing More ...

Networking General Networks TCP/IP Management Programming Internet More ...

Advanced Topics Software Engineering Security Version Control Game LDAP Certificates Signal Processing Bioinformatics Cryptography Reference TeX/LateX Statistics Graphics Hardware & PC Science Mainframe Open Source Information Math Human More ...

I don't think this link is relevant anymore - it seems to go to one of this rubbish search engine pages
Matt Ellen
+3  A: 

Patterns of Software, Richard P. Gabriel

Rob Lourens
+4  A: 

Learn You a Haskell for Great Good! - Seems to still be a work in progress, but it's great. Along a similar style to Why's (Poignant) Guide to Ruby.

Duplicate of
+3  A: 


Alex Gaynor
+3  A: 


It's licensed under the GNU Free Documentation License.

+3  A: 

Beginning Perl, by Simon Cozens.

+6  A: 
+3  A: 

Producing Open Source Software by Karl Fogel

+3  A: 

Basics of Compiler Design by Toben Morgensen.

+3  A: 

John English- Ada 95: The Craft of Object-Oriented Programming.

+6  A: 

Functional programming (with OCAML) :

A list of free english, French, Dutch, Italian books can be found here

+1  A: 

Free Online Version of Second Edition Core Servlets and JavaServer Pages by Marty Hall and Larry Brown

Nir Levy
+7  A: 

Eloquent JavaScript

It even has a web console so you can test the code in the browser as you read along.

+10  A: 
+3  A: 

Part I of the Erlang book

  • Debugging with GDB: The GNU Source-Level Debugger
  • GNU Make Version 3.81
  • The Bison Manual, v. 1.875
  • Using GCC: The GNU Compiler Collection Reference Manual, v. 3.3
  • An Introduction to Emacs Lisp, 3rd Edition
  • GNU Emacs Manual, 16th Edition, v. 22
  • GNU C Library Application Fundamentals
  • GNU C Library System & Network Applications
  • GNU MDK, Revised First Edition.
  • GNU Radius Reference Manual
  • Introduction to the Command Line
  • Using GCC: The GNU Compiler Collection Reference Manual, v. 3.3
And where are the links again?
+8  A: 

Basics of Compiler Design

+12  A: is, AFAIK, the first open source book that specifically covers Python 3 (other than the official Python documentation and tutorial, of course).

Mark Pilgrim
Mark Pilgrim! Thanks for your outstanding books! A lot of browsers out there and possibly power plants are going to wish I'd never read your html5 book and gotten exited about scripting canvas elements. Thank you 1000 times, for that and all your other contributions.
+6  A: 

Matters Computational (formerly Algorithms for Programmers) is a book about high performance algorithms that includes formal as well as source descriptions. The included source is licensed under the GPL version 3.

+1  A: 

Very good read about the history/development of WordPerfect by Pete Peterson: (PDF file available inline introduction)

Edit: Sorry, looks like this thread is exclusively for programming. This book isn't a programming book, but should still interest the same audience. Recommended.

+3  A: 

Adobe has a copy of Getting Started with Flex for free as part of their Learn Flex in a week initiative.

+2  A: is a free search engine for all kinds of PDFs.

+2  A: 

This came to me in an email from RedGate software's .Net Simple-Talk reflector newsletter. There is no specific license and I guess it should qualify as a free ebook

O'Reilly, "C# 3.0 Poket Reference", by Joseph and Ben Albahari.

Also coming in top google search result for the book

I am not posting the direct link.

"C# 3.0 Poket Reference" - "The page requested is currently unavailable." Looks like the URL you did post is for an Ants Performance Profiler...
+3  A: 

Struts survival guide

+4  A: 

Free and Legal books on reddit.

+3  A: 

Ada The Big Online Book of Linux Ada Programming

Ada Distilled

Rationale for Ada 2005

Also and

+17  A: 

Getting Real by 37signals

Designing Interfaces by Jenifer Tidwell

I did not know that Jenifer Tidwell's book was freely available online.... Thanks a lot!!
+6  A: 

Project management tool / build tool:

Pascal Thivent
+6  A: 

The e-books search engine @ Free Book -s.

nice little crawler, thanks.
Anonymous Type
+2  A: 

This one is a must-have for any Perl web programmer:

Perl & LWP.

For offline reading: Direct download URL (632 KB, ZIP file with the set of HTML documents.)

It explains everything that has to do with web automation, tokenizing, HTML processing, automated POSTing, GETing, etc. using the Perl module LWP.

Great question, BTW.

+4  A: 

Image at

97 Things Every Software Architect Should Know available under a creative commons license via wiki or Amazon.

its moved:
Adam Butler
+4  A: 

At we have several complete books, and more are coming!

+3  A: 

This is a free online version of the book we use in my university's algorithms course.

Graphics Noob
+1  A: 

All books are free at the library! :)

a) you have to drive there b) you have to remember to return it!
+1 because I like the library. But they don't always have a huge depth in technical books.
Greg Harman
also there books aren't always of the highest quality... too much sams etc.
There's a little secret at most libraries, Inter-Library Loan. At my city's local library, I've been able to get any technical book I wanted (mostly borrowed from universities). I can order it through the library's website and get an email when it arrives.
+2  A: 

Writing Solid Code (PDF, 11.5 MB)

+4  A: 


Derek Mahar
+3  A: 

This is a good 1000-word summary of JavaScript:


Both of these books are good, though.

These are not free..?
No, but the picture is.
Funny that "the good parts" has a butterfly vs the original rhino. I wonder if that's meant to reflect their relative weight.
Nathan Long
+1  A: 

Basics of Compiler Design is available as free ebook, or as a fairly cheap printed version.

Sune Rievers
+8  A: 

Planning Algorithms

+3  A: 

This is a big list: the IBM Redbooks. Although many are about IBM technologies (like Mainframes, DB2, etc) there are also some about non-IBM technologies like TCP/IP, LDAP.

+3  A: 

A nicely compiled list 100's of open books on computer science, electrical engineering and mathematics at

+3  A: 

Some books about secure programming available for free download.

+2  A: 

Feel like some real OOP? Here's a list of freely available Smalltalk books:

Ole Voß
+2  A: 

Programming Mac OS X with Cocoa for beginners

+2  A: 

Here's a free book entitled The Definitive Guide to Building Code Quality by Don Jones. You can check it out here. It shows you how to debug, test and prepare code. Let me know what you think. Found it quite helpful!

+2  A: 

Learning Forth:

+2  A: 

Programming Windows Phone 7 Series (DRAFT Preview) Preview version released by Microsoft.

+2  A: 

Ruby Best Practices

+2  A: 

You can find many free books, University Lectures and Presentations on jQuery at

Vimal Das
+2  A: 

Visual Prolog 7.2 This book gives hand-on experience to program in a statically typed Prolog environment, certainly a good read with practical examples in the field of artificial intelligence.

Sebastian Godelet
+4  A: 

Domain Driven Design Quickly - based on Eric Evans's book.

Registration and login is required to download this book.

+2  A: 

C++ GUI Programming with Qt 4, First Edition

Found it on Nokia's Qt Documentation website "First Steps with Qt": Looks like a pretty good book.

Jake Petroules
+4  A: 

If you want to learn a whole lot more about the strongly-typed, functional view of the world, I highly recommend two of Prof. Bob Harper's free books.

The first, on programming in Standard ML:

And the second, a type-centric introduction to programming languages:

Nels Beckman
+7  A: 

Here's a list of books that I haven't seen in the suggestions so far:

Common Lisp books:

Scheme books:

Programming languages (using Scheme):

+12  A: 

Collection of Free Programming and Technology Related Books

This post contains the list of sites offering Programming, Information Technology and Computer books which are provided by Publishers and Authors legally and free.

Ray Vega
+1 Incredible collection!
+4  A: 

Learn Python The Hard Way by Zed A. Shaw and get the latest version of book here.

+2  A: 

The Scheme Programming Language, Edition 4 (tspl4).

Covers r6rs, and is implementation-agnostic for the most part. Great reference.

+4  A: 

There are a lot of excellent rudimentary resources at the Stanford computer science website:

Pointers And Memory

Linked List Basics

Essential C

Essential Perl

Tree List Recursion

Binary Trees

Linked List Problems

In addition following these links will get you most of the handouts for the Stanford CS courses.

Programming Methodology

cs106x Programming Abstractions

If you scout around enough on these sites you can find many many resources.

On top of this you can find full video lectures from UC Berkeley:

Berkley Lectures

+2  A: 

You can find a lot of really good books about software architecture and design at InfoQ bookshelf:

  1. Composite Software Construction - very good one! Strongly recommended.
  2. Domain Driven Design Quickly
  3. Enterprise SOA Adoption Strategies
  4. Java Transaction Design Strategies
  5. etc.
Vasil Remeniuk
+8  A: 

jQuery Fundamentals by Rebecca Murphey. Licensed by Creative Commons Attribution-Share Alike 3.0 United States license.

Raul Agrait
+2  A: 

PNG book

+2  A: 

Don't forget Structure and Interpretation of Computer Programming (SICP) for learning Scheme Lisp, which can be found at for free.

+2  A: 

The Seaside web framework for Smalltalk!;_k=1BSti5te&amp;_n&amp;11

This book is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 license.

+2  A: 

Learn to Program - An introduction to programming, using the Ruby language

Simone Carletti
+2  A: 

RELAX NG by Eric van der Vlist

XForms Essentials by Micah Dubinko

Max Toro
+2  A: 

Semantics with Applications: A Formal Introduction (covers both operational & denotational semantics)

The Implementation of Functional Programming Languages (by Simon Peyton-Jones, who went on to create GHC. Fascinating theoretical/principled approach)

How to Design Programs (introductory programming book intended as a modernized and somewhat more accessible, e.g. assumes less math/science/engineering background, alternative to 'Structure and Interpretation ...'. Like that book, uses Scheme and takes a functional/compositional approach.)

Max Strini
+2  A: 

Freely available, but not open source: The Practice of Parallel Programming by SERGEY A. BABKIN.

+8  A: 

Introduction to Information Retrieval is great book and full content (PDF format as well as HTML per chapter) is located here

David Filip
I agree highly with this recommendation. The author has written other works that have received high praise (cf. Foundations of Statistical Natural Language Processing).The fact it's available for free is quite stunning.
+6  A: 

The NerdDinner tutorial is a great way to start with ASP.NET MVC.

Marius Schulz
nice one. I actually committed to reading that tutorial cover-to-cover
Peter Perháč
+6  A: 

Hg Init: a Mercurial tutorial:

+4  A: 

I haven't seen "Learn You Some Erlang for Great Good!" mentioned yet.

Alex B
+2  A: 


jQuery Fundamentals

Omar Colocci
Already on the list:
+2  A: 

jQuery Fundamentals, by Rebecca Murphey

I am not sure where the boundary lies between website and book, but this one was an unpublished paper book before it went online, and is formatted for nice printing.

Already on the list:
Also at
Peter Mortensen
+3  A: 

CG tutorial

+4  A: 

Cote's 'JAAS in action' heard about on the podcast

+4  A: 

Foundations of Computer Science Al Aho and Jeff Ullman.

Ben Gartner
+3  A: 

If the book is in PDF format and is consistently formatted, it's not too difficult to bind it and make a real dead-tree book. All you need is a laser printer, some basic office equipment and supplies, and a way to build a general-purpose jig. You can find instructions here and there on the Internet, or just figure it out from scratch, which is what I did.

I made a perfect-bound copy of Siebel's "Practical Common Lisp" (500 pages) that I've been using heavily for three years now; rebound it once (it was my first try). Bound with white glue, medium stock cover. I also made a copy of "Linux Device Drivers" (600 pages) which currently just takes up space on the shelf ;)

Paul Richter
Well, my unstated assumption is that you use the laser printer at the office ;)
Paul Richter
+6  A: 

Maíra Wenzel's Blog

MSDN Library is now featuring 44 chapters from 13 O’Reilly books on subjects such as C# 3.0, Visual Basic 2008, ADO.NET 3.5, .NET 3.5, the ADO.NET Entity Framework, WCF Services, and ASP.NET 3.5.

And here’s the list of the books that have some of their chapters featured on the library:


  • Building a Web 2.0 Portal with ASP.NET 3.5: Learn How to Build a State-of-the-Art Ajax Start Page Using ASP.NET, .NET 3.5, LINQ, Windows WF, and More
  • Learning ASP.NET 3.5, Second Edition: Build Web Applications with ASP.NET 3.5, AJAX, LINQ, and More
  • Programming ASP.NET 3.5, Fourth Edition

Visual Studio 2008:

  • C# 3.0 Cookbook, Third Edition: More than 250 solutions for C# 3.0 programmers
  • C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems
  • C# 3.0 in a Nutshell, Third Edition: A Desktop Quick Reference
  • Learning C# 3.0: Master the fundamentals of C# 3.0
  • Programming Visual Basic 2008: Build .NET 3.5 Applications with Microsoft's RAD Tool for Business

.NET Development:

  • ADO.NET 3.5 Cookbook, Second Edition
  • Programming .NET 3.5: Build N-Tier Applications with WPF, AJAX, Silverlight, LINQ, WCF, and More
  • Programming Entity Framework: Building Data Centric Apps with the ADO.NET Entity Framework
  • Programming WCF Services, Second Edition: Building Service Oriented Applications with Windows Communication Foundation
  • RESTful .NET: Build and Consume RESTful Web Services with .NET 3.5
looks like someone is desperately clutching at straws in a losing battle for market. I wondered when would MS eventually start taking these steps.
Peter Perháč
@Peter: Hmm, what makes you say this ?
@Peter Perháč: I agree with "the rebooter", you comments seems out of context.
+6  A: 

Scrum and XP from the Trenches by Henrik Kniberg. More methodology oriented though.

Pascal Thivent
Login is required for downloading this book. You need to fill in a form and give out an email address to register. Size of the PDF file is 9.8 MB.
Peter Mortensen
+6  A: 

An Introduction to GCC - covers basic use of GCC, makefiles, the preprocessor, etc.

Justin Hamilton
+7  A: 
Wow, just nice. I was looking for some information on J2EE
+57  A: 


jQuery: Novice To Ninja is now free for 24 hours.

Expect this to finish around 8:45 PM UTC / 9:45 PM BST on 12th July 2010.
This may even continue until the end of the day, but try it and see.

Thank you. Glad I marked this thread as favorite.
Same here, thanks for the heads up !!!
Wow, and i just downloaded it for free becose Spain win the cup! LOL
Wow, a full book for free just because Spain won the world cup, and it is also on JQuery, VIVA ESPANA...............
Night Shade
ha yep i had this on my phone's to-do list when i found out about it last week.
I made it too, before the 24-hour runs out. Thanks.
Even though (as a Dutchie) I'm not too happy right now, this download is pretty nice :)
Ruben Steins
This is the only good thing to come out of the world cup in my opinion :)
Neil Aitken
Glad I could help everyone! But don't thank me, really, thank the guys at SitePoint. I've had lots of free stuff from them in the past, especially at Microsoft events where they give huge discounts on books from a stall in the lobby. Great guys!
Here's an "enye" for you to copy paste and properly spell "ESPAÑA!!!" on that VIVA!!!
+21  A: 

Dive into HTML 5

An excellent book by Mark Pilgrim on all this great new web stuff including the canvas, video, geolocation, etc., APIs.

+6  A: 

Communicating Sequential Processes by Tony Hoare. Check copyright as it cannot be freely distributed in certain countries.

david a.
+8  A: 

Targeted at children, but it looks entertaining:

Invent Your Own Computer Games With Python: (free online read)

Peter Ajtai
+8  A: 

Programming Scala seems to be the first free book on Scala, available online.

There is also:

Very true. I just edited the main list of books to add your reference.
+6  A: 

SQL: Developing Time-Oriented Database Applications in SQL by Richard T. Snodgrass. PDF version: most pages (5 MB) and pages 30-31 (0.4 MB).

alt text

+4  A: 

Programming Scala

+11  A: 

The TCP/IP Guide. The online version is free, but a fee is required to get the off-line version. A hardcover book is also available.

+11  A: 

97 things every programmer should know

I read it a few "things" per day over several months. Some of the "things" contradict some other "things" but they are worth reading. If you are interested here is an interview with the editor Kevlin Henney:

Adam Butler
Looks great! ....
Great stuff! I loved The Boy Scout Rule especially :)
Hard Work Does not Pay Off: If you are trying to be focused and 'productive' for more than 30 hours a week you are probably working too hard. You should consider reducing the workload to become more effective and get more done. - Try communicating that one to your boss. :-)
Oh Danny Boy
+6  A: 

Learn Python The Hard Way, a book about Python.

+8  A: 

ACM Classic Book Series is a treasure trove.

+3  A: 

The web2py book, available under artistic license:

David Watson
+12  A: 

I'm taking a class on Information Retrieval. We're using this excellent book which is available online:

Introduction to Information Retrieval

Tristan St-Cyr
Information Retrieval ? That sounds far too much like a quote from Brazil ( I would be scared ...
+12  A: 

Use The Index, Luke! - A Guide to Database Performance for Developers

license: CC-BY-NC-ND

Markus Winand
+8  A: 

Here is a list of 7 free E-Books, some of which may have already been posted here.

The list includes

  • Foundations Of Programming
  • Microsoft Application Architecture Guide, 2nd Edition
  • Rob Miles C# Yellow Book 2010
  • Threading in C#
  • Improving .NET Application Performance and Scalability
  • Applying Design Patterns
  • RefCardz from DZone
Watch out for the last 2 on that list. RefCards is free but requires registration and the link is sent to your email address. Applying Design Patterns is on Scribd, but after 4 weeks the author of the list, and the author of this document on Scribd, finally posted a registration-free link to a PDF.
Thanks Pratik this was an awesome mini list. Really appreciate these sources.
Anonymous Type
+8  A: 

Threading in C# by Joseph Albahari.
Very useful.

+6  A: 

C++ in 21 days. Very well-written book

Looks like a decent structure, but "Learn X in N days/hours" makes me intrinsically skeptical. Particularly when X is something as complex as C++ (where does this book teach RAII?). See
Michael E
+2  A: 


jQuery Fundamentals by Rebecca Murphey.

There is a PDF version and epub version as well

Already listed 3 times: [Original](, [duplicate 1]( and [duplicate 2](
Peter Mortensen
+10  A: 

I am putting up a Wiki to house all of this wonderful material on available books:

(The list was just begging for categorization for ease-of-reference).'s_Reference_Wiki

Come over and edit it (see Style Guide first)!

I'm not really experienced at "wiki-fu," so I'll need some help with templates, site design, etc.

EDIT: I just noticed the categorized list in the top answer, and it looks good. However, I would like to flesh it out with more info (licenses), and then add compiler and libary information, so I think this might still be relevant.

What do you think?

+6  A: 

Oracle RDBMS Server - Oracle Guides and Manuals

+6  A: 

"Natural Language Processing with Python --- Analyzing Text with the Natural Language Toolkit" Steven Bird, Ewan Klein, and Edward Loper

Creative Commons Creative Commons Attribution Noncommercial No Derivative Works 3.0 US License Above link points to online / downloadable version. O'Reilly also publish a print version.

Very good book on learning the NLTK toolkit and learning Natural Language techniques.

+3  A: 

Moving To Microsoft Visual Studio 2010 from Microsoft Press.
This book is for professional developers who are working with previous versions of Visual Studio and are looking to make the move to Visual Studio 2010 Professional.

+2  A: 

"Seamsless object oriented software architecture" by Kim Valden and Jean-Marc Nerson

+3  A: 

alt text Learn You a Haskell for Great Good!

Marco Mariani
I am not a big FP fan but this book is awesome! I'd like to support this book by at least upvoting this post :-)
Peter Perháč