Както вече се досещате, софтуерът може да се раздели на три групи в зависимост от правата за достъп до изходния код на програмата: затворен, отворен и свободен.
Софтуер със затворен изходен код е когато получавате само машинния код (изпълнимия файл, крайната програма). Изходният код остава тайна за потребителите. Повечето от комерсиалните програми се разпространяват по този начин. Друго име на този вид е собственически софтуер.
Софтуер с отворен изходен код е когато получавате достъп до изходния код на програмата при определени условия. Има различни видове лицензи и условия, при които потребителят получава достъп до изходния код. Дори Майкрософт обяви, че отваря кода на някои от продуктите си за някои техни клиенти. Нека да разгледаме случая с Българското правителство и Майкрософт. Копие от текста на споразумението може да бъде намерен тук.
Преди да продължим с разглеждането на споразумението, трябва да направим уговорката, че изходният код е отворен само за някои потребители, а не за всички. По този начин, изходния код на Уиндоус е затворен за мен и за Вас, но в някаква степен може да бъде отворен за Българското правителство (ако се постигне споразумение). Ето и частта от споразумението описваща правата на потребителя:
2.1 Обвързване. „Обвързаното лицензиране“ позволява на Правителството на Република България да използва Източниковия Код като средство за информация; във форма която позволява само четене; за целите посочени в Оправомощаването. Компетентният орган може да използва Източниковия Код в цифров или разпечатан вид, както е доставен от Майкрософт. Компетентният орган може да го разглежда и с помощта на търсачка на програмни грешки.
2.2 Валидиране и изпробване на Източниковия Код. „Валидирането“ позволява на персонала да работи с персонала на Майкрософт върху Източниковия Код в помещенията на развойните отдели на Майкрософт в САЩ или други държави в рамките на взаимно договорен проект, както е описано и съгласувано в Оправомощаването.
Малко по-надолу е описано, че споразумението се отнася за три години, разбира се. Както се вижда дори и при такива ограничения, все пак отвореният код е малко по-добър от затворения код. От текста се вижда, че може само да четете кода, но не и да го транслирате и валидирате[4]. Както е описано, валидирането може да се извършва само в помещения на Майкрософт при сътрудничество на служители на Майкрософт. От текста не става ясно, дали може да си вземете изходния код и Уиндоус с Вас от къщи или там ще Ви дадат други, за които предварително е сигурно, че се валидират без проблеми. Но за сметка от това от текста става ясно, че преди това трябва да имате „взаимно договорен проект, както е описано и съгласувано в Оправомощаването“. С две думи, не е ясно може ли изобщо да проверите изходния код или не може.
Разбира се, има различни видове лицензи за разпространение на софтуер с отворен код. В никакъв случай понятието „отворен изходен код“ не бива да се ограничава до Майкрософт и тяхната лицензионна политика.
Висшата форма от всички тези е софтуерът със свободен изходен код или наричан за кратко „Свободен софтуер“. В този случай потребителят получава изходния код на програмата и свободата да прави каквото си поиска с изходния код и програмата.
Дефиницията на свободен софтуер е описана най-добре на сайта на Фондацията за Свободен софуер. Самият текст се намира на следния адрес http://www.fsf.org/philosophy/free-sw.html. Понеже сайтът е на английски, тук е даден преводът на дефиницията за свободен софтуер[5].
И така, един софтуер е свободен тогава, когато потребителят получава следните права:
Свободата да изпълнява програмата за каквато и да е цел.
Свободата да изучава как работи програмата и да я променя за своите нужди.
Свободата да разпространява копия на програмата.
Свободата да подобрява програмата и да публикува промените, така че цялото общество да има полза.
Точките 2 и 4 предполагат наличието на достъп до изходния код на програмата.
[4] Валидиране означава да транслирате (компилирате) изходния код на Уиндоус и да го проверите след това, дали съответства на това, което сте си закупили. В световен мащаб Майкрософт отнесоха много критики, че оставят задни вратички в Уиндоус и в последствие могат да изтеглят чрез тях информацията, която съхранявате. Отговорът на Майкрософт към тези критики, е точно тази програма за отваряне на кода на големи клиенти, чието споразумение разглеждаме.
[5] В оригинала правата (свободите) се броят от нула. Това е така, защото програмистите имат навика да броят от нула, докато нормалният човек, обикновено, започва да брои от едно.