Дали дадена програма е с отворен код или не, не е от значение само за разработчиците, то в крайна сметка е от значение и за потребителите. Софтуерните лицензи с отворен код дават на потребителите свобода, която няма да имат.
Определението за отворен код
Ако дадена програма е с отворен код, нейният изходен код е свободно достъпен за потребителите си. Неговите потребители - и всеки друг - имат възможността да приемат този изходен код, да го променят и да разпространяват собствените си версии на програмата. Потребителите също така имат възможност да разпространяват толкова копия на оригиналната програма, колкото искат. Всеки може да използва програмата за всяка цел; няма лицензионни такси или други ограничения върху софтуера. OSI има по-подробно определение за "отворен код" на своя уебсайт.
Например, Ubuntu Linux е операционна система с отворен код. Можете да изтеглите Ubuntu, да създадете толкова копия, колкото искате, и да ги дадете на вашите приятели. Можете да инсталирате Ubuntu на неограничен брой компютри. Можете да създавате ремикси на инсталационния диск на Ubuntu и да ги разпространявате. Ако сте били особено мотивирани, можете да изтеглите изходния код за дадена програма в Ubuntu и да я промените, като създадете своя персонализирана версия на тази програма - или самата Ubuntu. Лицензите с отворен код ви позволяват да направите това, докато лицензите с ограничен източник ви налагат ограничения.
Firefox, Chrome, OpenOffice, Linux и Android са популярни примери за софтуер с отворен код, докато Microsoft Windows е може би най-популярният софтуер от затворен код.
Отворен код срещу безплатен софтуер
Приложенията с отворен код обикновено са свободно достъпни - въпреки че няма нищо, което да спира разработчика да зарежда копия на софтуера, ако позволи преразпределение на приложението и неговия източник след това.
Това обаче не се отнася до "свободния софтуер". Свободният софтуерен лагер, ръководен от Ричард Столман и Фондацията за свободен софтуер, се фокусира върху етиката и морала на използването на софтуер, който може да бъде използван като свободен софтуер, контролирани и модифицирани от потребителя. С други думи, свободният софтуерен лагер се фокусира върху свободите на потребителите.
Ричард Столман. Изображение от Fripog на Flickr.
Софтуерното движение с отворен код е създадено, за да се съсредоточи върху по-прагматични причини за избора на този тип софтуер. Застъпниците с отворен код искаха да се съсредоточат върху практическите ползи от използването на софтуер с отворен код, който би бил по-скоро полезен за бизнеса, отколкото за етиката и морала.
В крайна сметка както защитниците на отворен код, така и свободните софтуерни програми развиват същия тип софтуер, но те не са съгласни с изпращането на съобщения.
Видове лицензи
Има много различни лицензи, използвани от проекти с отворен код, в зависимост от това, кои предпочитат програмистите за тяхната програма.
Общият публичен лиценз на GPL или GNU се използва широко от много проекти с отворен код, като Linux. В допълнение към всички горепосочени дефиниции на отворен код, термините на GPL уточняват, че ако някой коригира програма с отворен код и разпространява производна работа, те също трябва да разпространяват изходния код за своята производна работа. С други думи, никой не може да използва код с отворен код и да създаде програма от затворен код - те трябва да освободят промените си обратно в общността. Microsoft посочи GPL като "вирусен" по тази причина, тъй като принуждава програми, които включват код GPL, да пускат свой собствен код. Разбира се, разработчиците на програмата могат да изберат да не използват GPL код, ако това е проблем.
Ползи за потребителите
Това не е всичко сухо, маловажно нещо, което има значение само за разработчиците. Най-очевидната полза от софтуера с отворен код е, че може да се получи безплатно. Примерът на Ubuntu Linux по-горе прави това ясно - за разлика от Windows, можете да инсталирате или разпространявате колкото се може повече копия на Ubuntu, колкото искате, без ограничения. Това може да са особено полезни сървъри - ако настройвате сървър, можете просто да инсталирате Linux върху него. ако настройвате виртуализиран клъстер от сървъри, лесно можете да дублирате един сървър на Ubuntu. Не е нужно да се притеснявате за лицензирането и колко копия на Linux можете да изпълнявате.
Програмата с отворен код също е по-гъвкава.Например, новият интерфейс на Windows 8 разочарова много дългогодишни потребители на Windows за настолни компютри. Тъй като Windows е затворен източник, никой потребител на Windows не може да използва интерфейса на Windows 7, да го променя и да работи правилно на Windows 8. (Някои потребители на Windows се опитват, но това е мащабен процес на обратно инженерство и модифициране на двоични файлове. )
Софтуерът с отворен код позволява на разработчиците да "стоят на раменете на гиганти" и да създават собствен софтуер. Свидетели на Android и Chrome OS, които са операционни системи, изградени върху Linux и друг софтуер с отворен код. Ядрото на OS X на Apple - и за него iOS - бе построено и върху код с отворен код. Valve работи с яростно пренасяне на платформата си за игри на Steam на Linux, тъй като това ще им позволи да създадат свой собствен хардуер и да контролират собствената си съдба по начин, който не е възможен в Windows на Microsoft.
Това не е изчерпателно описание - на тази тема са написани цели книги, но сега би трябвало да имате по-добра представа за това, какъв софтуер с отворен код действително е и защо е полезен за вас.