Não existe o "local correto" que cabe ao administrador decidir. É verdade que, tradicionalmente, os administradores do Linux colocam arquivos de origem em /usr/local/src e você é livre para fazer isso. Você também pode colocá-los no seu $HOME , o que você preferir.
Agora, se você estiver compilando / instalando software, você é o administrador. Portanto, não há motivo para você não alternar para root para ter acesso a /usr/local/src . Não há absolutamente nenhuma razão pela qual você não deve compilar como root , que é o que cada sysadmin que eu já conheci faz, é por isso que o usuário root existe, para executar tarefas administrativas. Isso inclui a compilação e instalação de software.
Portanto, se você estiver desenvolvendo software, faça isso em $HOME , se estiver instalando software de outras pessoas a partir do código-fonte, faça isso como root em /usr/local/src se você desejar. Pessoalmente, eu compilo os programas em $HOME/Setups porque meu $HOME está em uma partição separada e isso facilita a atualização / reinstalação do sistema. Essa é apenas uma escolha pessoal, e os administradores de sistemas apropriados compilarão em /usr/local/src as root .