
O código-fonte (ou source code) consiste em um conjunto de instruções de uma aplicação computacional, escrita em linguagem de programação. Seu papel é de definir o comportamento e funções de seu respectivo software.
Os códigos abertos (ou open source) são tipos de código-fonte disponibilizados ao público, para visualização, estudos ou criação de novos projetos. Há também os códigos fechados (ou códigos proprietários), que só são acessíveis pelo dono do código e pessoas autorizadas.
Vale destacar que o código-fonte está presente em qualquer tipo de software (de aplicativos a sistemas operacionais), incluindo serviços baseados em computação em nuvem e páginas da web.
A seguir, saiba o que é e para que serve o código-fonte, e confira como esse tipo de código funciona.
Índice
- O que é código-fonte?
- Para que serve o código-fonte?
- Quais são os tipos de código-fonte?
- Como funciona o código-fonte
- Quais aplicações usam código-fonte?
- É possível modificar um código-fonte?
- Qual é a importância do código-fonte na programação?
- Qual é a diferença entre código-fonte e código-objeto?
- Qual é a diferença entre código-fonte e código-executável?
O que é código-fonte?
Código-fonte ou source code é um conjunto de instruções escrito em linguagem de programação que define um software. Em outras palavras, trata-se do código estrutural de um programa de computação que pode ser interpretado ou compilado por uma máquina para o funcionamento da aplicação.
Para que serve o código-fonte?
O código-fonte serve para a execução e o funcionamento correto de uma aplicação computacional. Isso porque, além de definir como o software vai se comportar, o código será compilado (transformado em código de máquina) ou lido por um interpretador para que a máquina consiga rodar o programa.
Além disso, o código-fonte tem a função de habilitar a edição das instruções: o programador com acesso ao source code pode alterar as linhas de programação para modificar comportamentos, corrigir erros ou vulnerabilidades, bem como otimizar sua estrutura para melhor desempenho.
Quais são os tipos de código-fonte?
O código-fonte costuma ser classificado de acordo com questões de acessibilidade, e é divido em dois tipos: códigos abertos e códigos fechados.
Código-fonte aberto (também chamado de código aberto ou código aberto) é um tipo de código que fica disponível ao público para visualização, estudos e modificações. Esse tipo de código-fonte permite colaborações externas para aprimoramento do código, e habilita outros projetos baseados no código.
O sistema operacional Linux é um dos maiores exemplos de software de código-fonte aberto. Disponível ao público, o código pode ser modificado, e serviu como base para outras distribuições como Ubuntu, Debian e Fedora, por exemplo.

Já o código-fonte fechado (conhecido como código fechado ou código proprietário) trata-se de um código privado, pertencente a uma empresa ou desenvolvedor. Por conta da restrição no acesso, códigos fechados só podem ser modificados pelos responsáveis legais.
Um exemplo de software de código-fonte fechado é o Windows: um sistema operacional de propriedade da Microsoft, que só pode ser acessado e modificado por pessoas autorizados pela empresa.

É possível acessar um código-fonte fechado?
Sim. Você pode entrar em contato com a proprietária legal do código-fonte e solicitar acesso ao código. Não há garantias de que seu acesso será liberado, mas a proprietária poderá fazer a aprovação mediante licença paga ou algum outro tipo de parceria, dependendo da finalidade.
A engenharia reversa também é uma prática que pode desbloquear o código-fonte de um software. No entanto, o processo pode ser extremamente complexo (dependendo da estrutura do código), e também pode ser considerado ilegal, de acordo com a finalidade e com as legislações locais.
Como funciona o código-fonte
O código-fonte funciona com base em instruções escritas em linguagens de programação. Essas informações então são traduzidas para que a máquina possa interpretar as regras e executar o software.
Tudo começa com a criação do código-fonte: programadores humanos ou sistemas de inteligência artificial estruturam linhas de código que contêm instruções para o funcionamento do programa. Para isso, é necessário que as regras sejam escritas em linguagem de programação (como C, Python ou Java, por exemplo).
Posteriormente, a máquina roda um compilador que transforma o texto do código-fonte para o código de máquina, representado por sequências binárias formadas por 0 e 1. Esse processo dá luz ao código-objeto, que é uma versão do código-fonte específica para a leitura por máquinas.
Feito isso, outro programa, chamado linker, integra o código-objeto a outros elementos necessários para o funcionamento do software (como bibliotecas ou outos códigos-objeto). O resultado desse processo é o código-executável, que é a versão final a ser executada para rodar o programa ou app criado.
Quais aplicações usam código-fonte?
O código-fonte está presente em qualquer todos os tipos de programas (softwares), incluindo:
- Softwares de aplicação: source code de softwares estipulam todo o funcionamento da aplicação, incluindo os comportamentos diante das ações do usuário;
- Sistemas operacionais: o código-fonte de sistemas operacionais gerencia o funcionamento dos hardwares da máquina, e a execução de outros softwares;
- Serviços em nuvem: o source-code dos serviços em nuvem tem o mesmo papel dos softwares de aplicação, mas inclui instruções para o funcionamento baseado em cloud computing;
- Páginas da web: sites e páginas da web possuem código-fonte baseado em linguagem de marcaçãoque definem instruções para exibição e comportamento no navegador.
Onde o código-fonte é armazenado?
Códigos-fonte fechados são alocados internamente em repositórios, bibliotecas ou servidores privados do dono do código, guardados a sete chaves. Isso significa que o código-fonte não é armazenado em seu dispositivo quando você instala o software: você aloca apenas o código-objeto e o código-executável.
Já códigos-fonte abertos costumam ser armazenados em repositórios públicos, como GitHub ou GitLab. Em alguns casos, o dono do source code também disponibiliza o código-fonte no arquivo de download do software, permitindo que ele seja alocado nos diretórios de armazenamento do dispositivo.
É possível modificar um código-fonte?
Sim. O código-fonte tem uma estrutura que permite edições para alterações e otimização do código. Logo, é possível fazer modificações nas linhas de programação do código-fonte para aprimorar sua estrutura, mudar o comportamento, adicionar novas funções ou implementar uma atualização do software.
Tratando-se de códigos abertos, qualquer pessoa pode modificar o código-fonte para adaptá-lo às suas necessidades ou criar seus próprios projetos. Mas tratando-se de códigos fechados, apenas pessoas autorizadas pelo dono do código-fonte têm direito a realizar modificações.

Qual é a importância do código-fonte na programação?
O código-fonte é essencial para a programação, já que define a estrutura e o comportamento de uma aplicação. Em outras palavras, é o source code que modela a criação de um software, e estipula as regras de funcionamento do programa.
E como o código-fonte funciona como a base estrutural de um software, ele é necessário para a tradução da linguagem de programação para linguagem de máquina: sem o source code, não existiria código-objeto e executável, e a máquina não teria base suficiente para criar e executar a aplicação.
Em suma, os códigos-fonte habilitam a criação e funcionamento de softwares (incluindo sistemas operacionais). E sem ele, os dispositivos computacionais não teriam utilidade, já que não teriam como funcionar e nem o que rodar.
Qual é a diferença entre código-fonte e código-objeto?
Código-fonte é o conjunto estrutural de instruções de um software, escrito em linguagem de programaçãode maneira legível por humanos. Trata-se da versão inicial do source code, no estado anterior ao processo de compilação.
Já o código-objeto é a versão compilada do código-fonte para linguagem de máquina. Em outras palavras, o código-objeto é a versão binária (formada por 0 e 1) do código-fonte, que antecede a versão final (executável).
Qual é a diferença entre código-fonte e código-executável?
O código-fonte é a versão original do código que reúne as instruções de um programa. Em outras palavras, o código-fonte é a estrutura primária de um software escrita em linguagem de programação por um desenvolvedor, que não pode ser lida por máquinas.
Já o código-executável é a versão final do código-fonte já adaptada para leitura das máquinas, que permite a execução da aplicação. O código-executável é fruto da ligação do código-objeto com as bibliotecas necessárias para que o software seja executado no sistema.
O que é código-fonte? Entenda a função e os tipos de source code