Como mencionado em outras respostas, a palavra em inglês free é ambígua, porque pode representar dois conceitos diferentes.
A questão do prefeito em misturar os dois conceitos é que você pode ter um sem o outro. E o mais importante, nenhuma pessoa sã escolheria um sobre o outro .
Pense nisso assim: Aceitar minha cerveja grátis é um acordo contratual entre nós que você doa sua liberdade , e você será meu escravo. Na verdade, dependendo da sua definição pessoal de liberdade e escravidão, isso pode ser apenas o caso de sistemas operacionais proprietários, drivers e o JavaScript não-livre em execução em seus navegadores. Muitas vezes você até paga por tal contrato (por isso mesmo a cerveja não era "grátis"), ou pior ainda, você se sente privilegiado por poder fazê-lo.
"Knowledge is freedom, Ignorance is slavery"
- Miles Davis
"Emancipate yourselves from mental slavery"
- Bob Marley
Isso não é menos verdadeiro no software. Se eu e eu temos o código-fonte de um programa, então eu e eu podemos estudá-lo. Se eu e eu podemos mudá-lo, então eu e eu podemos fugir de qualquer algema que ele tente colocar em nós. Se eu e eu pudermos compartilhar o software corrigido com outros humanos, ninguém usaria o malicioso. Portanto, nem valeria a pena o esforço a longo prazo, tentar criar um malicioso em primeiro lugar.
Richard Stallman frequentemente usa as palavras libre e gratis , que em espanhol / francês (origem latina) representam corretamente os dois conceitos separados. Pelas mesmas razões, em vez do acrônimo FOSS , usar o FLOSS é altamente recomendado . De fato, se você se lembrar disso diariamente, melhorará sua saúde dental.