Lorsqu'il s'agit de licences logicielles, les deux termes sont largement interchangeables, car ils utilisent (à quelques exceptions près) les mêmes licences logicielles sous-jacentes.
Cependant... il existe des différences dans les valeurs sous-jacentes.
Le "logiciel libre" - tel que décrit par Richard Stallman signifie un logiciel qui vous donne (le destinataire/utilisateur du logiciel) la liberté. Ceci est exprimé dans la licence publique générale GNU qui empêche la source d'être "verrouillée", et donc d'affecter la liberté des futurs utilisateurs.
L'accent est mis sur la liberté de l'utilisateur, et de permettre à la liberté de se propager. Le code n'est pas l'élément principal. Ceci est exprimé dans les libertés de la GNU GPL : Non seulement l'utilisateur a le droit d'accéder pleinement au code source, mais (il) est autorisé à le modifier et à le redistribuer - à condition que le destinataire reçoive les mêmes droits. La liberté peut se répandre !
L'Open Source est sans doute une dilution du concept de logiciel libre : Le mouvement Open Source adopte une attitude (largement) pragmatique face aux choses : La licence du logiciel encourage la coopération, permettant à tout le monde d'en bénéficier, sans se focaliser sur la liberté de l'utilisateur. Ces types ont tendance à se concentrer sur le logiciel.
Donc c'est le logiciel qui est "ouvert". Pas l'utilisateur qui est "libre". Subtile différence d'accentuation.
Le projet GNU décrit cela bien mieux que je ne pourrais le faire.
La différence entre logiciel libre et open source est également visible dans les licences : La La licence BSD à 3 clauses est considérée comme une licence Open Source. Mais il n'y a aucun moyen qu'elle soit considérée comme appropriée par les gens du logiciel libre : Il n'y a aucune obligation de "transmettre" le code source : Les utilisateurs ne sont pas mieux lotis que s'ils utilisaient un logiciel propriétaire.
Il se trouve que c'est exactement le genre d'Open Source que les entreprises aiment - cela leur permet d'incorporer des logiciels sous licence BSD dans leurs produits (comme obtenir des choses gratuitement !) - par exemple, la pile TCP de Windows a commencé comme une copie de la pile TCP BSD Unix - qui se trouve être sous licence BSD.
Microsoft n'aurait pas pu faire cela si la pile TCP était sous licence GNU GPL : Ils seraient alors tenus d'obéir à cette licence - et publier le code source de windows serait impensable. Ils ont donc choisi celui sous licence BSD à la place.
Disclaimer : j'ai peut-être un peu généralisé dans ce qui précède, mais j'espère que cela fait passer le message sur les différences subtiles.
La pile TCP n'a pas de licence GNU GPL.