Jason Scott of archive.org has just uploaded Infocom's source code, and keeps adding a bunch of other game source. I've made an easy script to get all the text adventures; if you want Quake or whatever, go grab that yourself. [updated 2019-04-19 for a few gold versions]
#!/bin/zsh for repo in \ abyss \ amfv \ arthur \ ballyhoo \ beyondzork \ borderzone \ bureaucracy \ checkpoint \ colossalcaveadventure \ cutthroats \ deadline \ enchanter \ hitchhikersguide \ hollywoodhijinx \ infidel \ infocom-sampler \ journey \ leathergoddesses \ leathergoddesses-gold \ lurkinghorror \ minizork-1982 \ minizork-1987 \ minizork2-1988 \ moonmist \ nordandbert \ planetfall \ plunderedhearts \ restaurant \ seastalker \ sherlock \ shogun \ softporn \ sorcerer \ spellbreaker \ starcross \ stationfall \ suspect \ suspended \ trinity \ txtelite \ wishbringer \ witness \ zork \ zork-german \ zork1 \ zork2 \ zork3 \ zorkzero \ zork-fortran \ zork-mdl \ zork-1 \ hitchhikersguide-gold \ zork1-gold \ planetfall-gold \ wishbringer-gold \ ; do echo $repo git clone https://github.com/historicalsource/$repo.git done
The ZIL (Z-Machine Implementation Language) code is not too weird a LISP variant, and I expect there to be good compilers or translators to modern Scheme pretty soon; if necessary I'll write one. Many of the others are written in, preposterously, FORTRAN or C, easily two of the worst possible languages to do text-manipulation and abstract data structures in.
As a large database of high-quality, production game source, this is a treasure trove for anyone who makes games. Read these and figure out how to do what they did.
I'm also amused by the icon, The Source came and went from the online services world just as I was getting into BBSing. I had as I recall a free couple months so I didn't have to pay the signup fee, but it was stupidly expensive per hour (Source was maybe $10/hour? Delphi was $20 for 20 hours per month, and not much more for overtime), and then shut down soon after.