Resposta curta: a internet.
Resposta mais longa: a Internet fornece um método de comunicação barato, rápido, internacional, pesquisável e bem conhecido. A internet existia tecnicamente nos anos 70, e só nos anos 90 se tornou realmente conhecida.
É difícil para um grupo de pessoas que desejam se reunir e escrever um compilador (ou intérprete) gratuito e de alta qualidade para se comunicar por meio de listagens de programas impressas ou disquetes enviadas por correio tradicional. Também é mais difícil para as pessoas interessadas em fazer coisas assim se encontrarem usando técnicas de comunicação comuns dos anos 70: claro, você pode postar coisas como anúncios de desejo no jornal, mas se eu colocar um anúncio no jornal na Califórnia em algum lugar, e você lê seu jornal na Flórida, permanece inconsciente da minha existência.
Mesmo com um mecanismo de pesquisa ruim, digitar "compilador gratuito" ou "linguagem de programação" provavelmente obterá resultados que podem levar pessoas assim a se encontrarem. A capacidade de pesquisa faz uma enorme diferença - eu encontrei uma série de coisas interessantes on-line das quais provavelmente nunca teria ouvido falar sem a Internet, e duvido que seja incomum dessa maneira.
Então, quando as pessoas começaram a escrever ferramentas de programação on-line e distribuí-las gratuitamente a todos os interessados, começaram a usá-las, e algumas delas também ajudaram a melhorá-las. As linguagens de programação também são algo que muitos programadores acham interessante, portanto esse efeito seria mais forte nas linguagens de programação do que em alguns outros tipos de software.
Economia básica: você pode exigir um preço mais alto por algo que as pessoas querem se for mais difícil de encontrar. Depois que a Internet decolou, as linguagens de programação ficaram mais fáceis de obter de outra empresa que não uma empresa, e o preço de graça é muito baixo.