Bir bilgisayar programının kaynak kodu, giriş ekranlarını görüntülemek ve bilgileri işlemek için sahne arkasında çalışır. Bilgisayar programlarına gelince, iki temel tür vardır: açık ve kapalı kaynak programları. Kapalı kaynak programları, son kullanıcılara programı kontrol eden kodu görmeleri veya değiştirmeleri için erişim sağlamaz. Açık kaynaklı programlar genellikle her ikisine de izin vererek, son kullanıcıya özgürlüğü ve programı kendi ihtiyaçlarına göre uyarlama esnekliği verir. Ücretsiz bir protokol, kullanımıyla ilgili herhangi bir lisans kısıtlaması olmadan gelen açık kaynaklı bir programdır; Son kullanıcı programı uygun gördüğü şekilde almak, bırakmak, kullanmak, değiştirmek ve dağıtmakta serbesttir.
Ücretsiz protokol programlarını kullanmanın birincil avantajı, dünyanın programın evriminin bir parçası haline gelmesidir. Zaman içinde programın yenilikçi kullanıcıları, orijinal yazılımın daha iyi, daha hızlı ve daha güvenilir sürümlerini oluşturacak şekilde değiştirerek özgün kaynak koduyla ilgili sorunları ayırır. Zamanla, programın en iyi "evrimi" doğal olarak zirveye çıkacaktır. Linux® işletim sistemi buna bir örnektir; Bilgili kullanıcıların kişisel gereksinimlerine göre özel olarak tasarlanmış bir sürüm bulmalarını sağlayan birçok farklı Linux® çeşidi vardır.
Bu içsel esnekliğe karşılık gelen dezavantajı, seçim fazlalığının, bilgili kullanıcılar için bir "felçle analiz" durumu yaratmasıdır. Bir programın birçok farklı sürümü zaman içinde kırpılabildiğinden, hangisinin en iyisi olduğunu bilmek zorlaşabilir ve bu sayede son kullanıcılar farklı sürümlere göre kasıtlı olarak boşa harcanır. Ek olarak, bu, daha az bilgili olan bilgisayar kullanıcılarını dondurabilir, çünkü birden fazla farklı sürüm arasında seçim yapmanın karmaşıklığı, seçimden tamamen kaçınmalarını sağlayabilir.
Ücretsiz bir protokol programındaki ikinci büyük problem kötüye kullanma potansiyelidir. Hatalı kullanıcılar, programı meşru çıkarları olduğu gibi kolayca değiştirebilir. Kaynak kodunu kırarak, ahlaksız kullanıcılar kendilerini yazılımın değiştirilmiş sürümünü çalıştıran herhangi bir bilgisayara saldırabilecekleri veya erişebilecekleri ağ geçitlerini sisteme "arka kapılardan" yazabilirler. Bu, ücretsiz bir protokol programının değiştirilmiş bir versiyonunu kullanırken her zaman birinin aklının arkasında kalması gereken ciddi bir sorundur. Bir arka kapının var olup olmadığını bilmenin tek yolu kaynak kodunu okumak ve anlamak olduğundan, bu daha programın sıradan kullanıcılarını dışlamaktadır.


