Software livre é o software que concede liberdade ao usuário para executar, acessar e modificar o código fonte, e redistribuir cópias com ou sem modificações.
Sua definição é estabelecida pela Free Software Foundation em conjunto com o projeto GNU. Segundo a definição, criada por Richard Stallman, fundador da FSF, software livre é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído sem nenhuma restrição.
É permitido vender software livre, entretanto as mesmas liberdades são válidas para o comprador.
Embora sejam frequentemente usados como sinônimos, há distinções entre os termos software livre e software de código aberto.
A definição de software livre envolve aspecto filosóficos e políticos, já a definição de software de código aberto, estabelecida pela Open Source Initiative, tem uma visão mais pragmática.
Assim, todo software livre é de código aberto, mas nem todo software de código aberto é um software livre.
Cabe ressaltar que software livre não corresponde a software gratuito. Esta distinção é importante sobretudo para anglófonos, língua em que o termo usado é free software (free = livre ou grátis, em inglês).
Há uma conhecida citação de Richard Stallman que exemplifica tal ideia de forma cômica, dizendo que o software é "livre" (free) como em "liberdade de expressão" (free speech), e não como em "cerveja grátis" (free beer).
As duas principais organizações internacionais responsáveis pela proteção e promoção do software livre, a Free Software Foundation (FSF) e a Open Source Initiative (OSI), atuam para garantir que os termos Free Software e Open Source sejam utilizados de forma correta.
Definição de software livre da Free Software Foundation (FSF)
A FSF considera um software livre quando atende a quatro tipos de liberdade para os usuários:
Definição de código aberto da Open Source Initiative (OSI)
A OSI optou pelo termo Open Source para afastar-se do estigma filosófico e político do termo "software livre". A disponibilidade do código-fonte não é condição suficiente para que o software seja considerado de código aberto. É necessário satisfazer dez critérios, inspirados na Definição Debian de Software Livre: