At their core, open source licenses are legal contracts between code contributors and code consumers. In exchange for me waiving my right to sue you if something goes wrong, you grant me the right to use and modify your code. The difference between open source licenses, and other intellectual property grants, like say, an author’s license to a book publisher, however, is that open source licenses are heavily standardised, with about a dozen mainstream licenses and three primary licenses representing the vast majority of open source projects. This contract standardisation creates important non-legal externalities.
Most developers take automatic garbage collection for granted. It’s just another amazing feature provided by our language run-times to make our jobs easier, but if you try to peek inside a modern garbage collector, it’s tough to see how they work. In oldie but goodie from 2004, Ken Fox demonstrates several algorithms using visual animations.