Le code source d’un programme informatique fonctionne en arrière-plan pour afficher des écrans de saisie et traiter des informations. En ce qui concerne les programmes informatiques, il existe deux types de base : les programmes à source ouverte et les programmes à source fermée. Les programmes à source fermée ne fournissent aucun accès aux utilisateurs finaux pour voir ou modifier le code contrôlant le programme. Les programmes open source permettent généralement les deux, donnant à l’utilisateur final la liberté et la flexibilité d’adapter le programme à ses besoins spécifiques. Un protocole libre est un programme open source qui est livré sans aucune restriction de licence sur son utilisation ; l’utilisateur final est libre de prendre, de laisser, d’utiliser, de modifier et de distribuer le programme comme bon lui semble.
L’un des principaux avantages de l’utilisation de programmes de protocole gratuits est que le monde fait partie de l’évolution du programme. Au fil du temps, les utilisateurs innovants du programme isolent les problèmes avec le code source d’origine, les modifiant pour créer des versions meilleures, plus rapides et plus fiables du logiciel d’origine. Au fil du temps, la meilleure « évolution » du programme montera naturellement vers le haut. Le système d’exploitation Linux® en est un exemple ; il existe un certain nombre de versions différentes de Linux®, permettant aux utilisateurs avertis de trouver une version spécifiquement adaptée à leurs besoins individuels.
L’inconvénient correspondant à cette flexibilité inhérente est que l’excès de choix crée une situation « d’analyse par paralysie » pour les utilisateurs avertis. Étant donné que tant de versions différentes d’un programme peuvent apparaître au fil du temps, il peut devenir difficile de savoir laquelle est la meilleure, ce qui entraîne une perte de temps considérable lorsque les utilisateurs finaux délibèrent sur les différentes versions. De plus, cela peut geler les utilisateurs d’ordinateurs moins avertis, car la simple complexité de choisir entre plusieurs versions différentes peut leur faire éviter complètement le choix.
Un deuxième problème majeur avec un programme de protocole libre est son potentiel d’abus. Les utilisateurs peu scrupuleux peuvent modifier le programme aussi facilement que ceux qui ont à cœur des intérêts légitimes. En piratant le code source, des utilisateurs peu scrupuleux peuvent créer des « portes dérobées » dans le système, des passerelles par lesquelles ils peuvent attaquer ou accéder à tout ordinateur exécutant leur version modifiée du logiciel. Il s’agit d’une préoccupation sérieuse qui devrait toujours rester à l’esprit de quiconque utilise une version modifiée d’un programme de protocole libre. Étant donné que la seule façon de savoir si une porte dérobée existe est de lire et de comprendre le code source, cela exclut davantage les utilisateurs occasionnels du programme.