As respostas acima perdem algumas razões práticas que freqüentemente surgem na computação gráfica (a área em que o artigo mencionado pelo autor foi publicado). A liberação de código varia muito entre os campos no CS - por exemplo, no Machine Learning, o código geralmente é publicado. Na interação humano-computador, o código quase nunca é publicado.
Lancei bastante código em Computação Gráfica e, embora eu ache que os autores devam liberar seu código, há muitas razões simples, não relacionadas à conspiração, para que eles não o façam . Por exemplo
1) A maioria dos projetos de pesquisa em computação gráfica envolve a colaboração entre vários pesquisadores, geralmente em instituições diferentes, cada um fornecendo alguma peça do quebra-cabeça (por exemplo, algoritmos, bibliotecas, etc.). Para liberar o código de trabalho, todos os pesquisadores precisam concordar. Raramente é uma discussão simples e geralmente é mais fácil evitar o problema.
2) Geralmente, o código de um único artigo é incorporado em uma base de código maior, desenvolvida em laboratório. Essa base de código conterá outro trabalho não publicado. Separar o código para um único projeto é muito trabalhoso, geralmente sem benefícios imediatos para as pessoas que precisam fazer esse trabalho (consulte o incentivo abaixo).
3) As universidades geralmente têm direitos de IP no código. Portanto, é necessário entrar em contato com um "escritório de inovações" que tornará sua vida infinitamente difícil, desejando que você documente a "invenção" para que ela possa patenteá-la, etc., antes de você abrir a fonte. Em alguns casos, a universidade pode até negar a permissão para liberar a fonte (isso varia entre as instituições e é muito complicado por (1))
4) Muitas pesquisas em computação gráfica são realizadas por empresas. Nesse caso, os autores também não possuem o código e precisam obter permissão dos Advogados para liberá-lo. Os advogados têm pouco ou nenhum incentivo para dizer que sim.
5) Não há incentivo para publicar código. A maioria dos códigos de pesquisa de computação gráfica nunca é usada por mais ninguém. Mesmo que seja, para o código de uso geral você geralmente recebe um reconhecimento (sem valor em termos de seu currículo). Se você tiver sorte, receberá uma citação. Os comitês de contratação e as agências de concessão geralmente não se importam nem um pouco se você lançou seu código. Portanto, o tempo gasto na preparação do código para liberação é um desperdício de tempo que poderia ter sido gasto em outro artigo. (Existem pessoas tentando ativamente mudar isso na computação gráfica).
6) Existem incentivos para não publicar código. Às vezes, o código pode se transformar em empresas iniciantes, ser licenciado para empresas existentes etc. Isso financia pesquisas futuras. Todos nós temos que comer.