O código fonte é o arquivo escrito em uma linguagem de alto nível, ou seja, uma linguagem de programação que pode ser facilmente compreendida por um programador. Como se tem acesso a este arquivo, é possível alterar o funcionamento do programa.
Software livre caracteriza-se por ter o código é aberto, ou seja, qualquer pessoa tem acesso ao código fonte do sistema, e é de livre distribuição, o que significa que qualquer pessoa pode obter o software gratuitamente, copiá-lo e distribuí-lo.
Assim sendo, de fato, o acesso ao código fonte de um software livre permite que o software seja modificado. Como software livre é de livre distribuição, pode ter cópias distribuídas livremente (seja para propósitos domésticos ou comerciais - Q857613).
Código aberto é a mesma coisa que open source: trata-se de um software que permite o acesso ao código fonte do programa; este acesso permite que o código seja estudado e modificado, para se adequar às necessidades de um usuário. Esta é uma característica dos programas denominados software livre, ou seja, se um programa for software livre, o seu código fonte estará disponível, como é o caso do Linux, por exemplo.
A GPL é a licença com maior utilização por parte de projetos de software livre, em grande parte devido à sua adoção para o Linux. Em termos gerais, a GPL baseia-se em 4 liberdades: (sem restrição de propósito de uso - Q857615).
A liberdade de executar o programa, para qualquer propósito (liberdade nº 0). Significa que software livre pode ser usado domestica ou comercialmente, sem restrições.
A liberdade de estudar como o programa funciona e adaptá-lo às suas necessidades (liberdade nº 1). O acesso ao código-fonte é um pré-requisito para esta liberdade.
A liberdade de redistribuir cópias de modo que o usuário possa ajudar ao seu próximo (liberdade nº 2).
A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie deles (liberdade nº 3). O acesso ao código-fonte é um pré-requisito para esta liberdade.
Professor Maurício Bueno (ADAPTADO).