Ние поддържаме следната дефиниция на понятието „свободен софтуер“, та ясно да покажем какви характеристики трябва да притежава една софтуерна програма, за да се счита за свободен софтуер.
„Свободният софтуер“ е израз на свободата, а не на цената. За да разберете концепцията, мислете си за „свобода на словото“, а не „безплатен обяд“1.
Свободният софтуер е въпрос на свободата на потребителите да го изпълняват, копират, изучават и подобряват. По-точно, свободният софтуер гарантира четири вида свободи на потребителите си:
Една програма е свободен софтуер, ако потребителите имат всичките четири свободи. По такъв начин, вие трябва да сте свободни да разпространявате копия, идентични с оригинала или променени, безплатно или срещу заплащане на всеки и навсякъде. Освен всичко друго, това, че програмата е свободна, означава, че не трябва да се молите или да плащате, за да упражните тези свободи.
Също така, вие трябва да разполагате със свободата да правите промени и да ги ползвате самостоятелно в работата си или ако просто си играете, без дори да споменавате за тяхното съществуване. Ако публикувате промените си, от вас не трябва да се изисква да уведомявате някого за това по какъвто и да е начин.
Свободата да изпълняваш програмата означава свобода за изпълнение от всеки индивид или организация, върху всяка компютърна система, за каквато и да е работа и цел, без да се изисква да съобщите за това на разработчика или на което и да е друго лице. За тази свобода е важна гледната точка на потребителя, a не на разработчика. Вие като потребител сте свободни да използвате софтуера за вашите си цели, а ако разпространите програмата към другиго, той ще е свободен да използва програмата за своите си цели, но вие нямате право да налагате своите цели на другия.
Свободата да разпространяваш копия трябва да се отнася както за двоичните или изпълнимите форми на програмата, така и за формите в изходен код, както за оригиналните, така и за променените версии. (Разпространението на програми в изпълнима форма е необходимо за удобно инсталиране на свободни операционни системи.) Нормално е за някои програми да няма начин за създаването на представяне в двоичен или изпълним вид (понеже някои езици не поддържат тази възможност), но вие трябва да имате свободата да разпространявате такива форми, ако намерите начин да ги създавате.
За да може свободите да правите промени и да публикувате променени версии, да означават нещо реално, вие трябва да имате достъп до изходния код на програмата. Затова достъпът до изходния код е необходимо условие, за да бъде една програма свободен софтуер.
Един важен начин за промяната на една програма е чрез сливането на съществуващи свободни подпрограми и модули. Ако лицензът на програмата твърди, че не може да добавите съществуващ модул, като например да изисква вие да сте носителят на авторските права на всеки код, който добавяте, то лицензът е прекалено ограничаващ, за да бъде наречен свободен.
За да бъдат тези свободи реални, се изисква те да са неотменими, стига вие да не сте направили нищо лошо. Ако разработчикът на софтуера има властта да отмени лиценза, без вие да сте направили нищо, за да предизвикате това, то софтуерът не е свободен.
Все пак, някои правила за начина на разпространение на свободния софтуер са приемливи, когато не противоречат на основните свободи. Например „copyleft“ (да го кажем по прост начин) е правилото, че когато разпространявате програмата, не можете да добавяте ограничения, за да откажете на другите хора основните свободи. Това правило не противоречи на основните свободи — то ги защитава.
Може да сте платили пари, за да се сдобиете с копие на свободен софтуер, може да сте го получили безплатно. Независимо от начина, по който сте придобили копията си, вие винаги сте свободни да копирате и променяте софтуера, дори да продавате копия.
„Свободен“ за софтуер не означава „некомерсиален“. Една свободна програма трябва да е достъпна за комерсиално ползване, комерсиална разработка и комерсиално разпространение. Комерсиалната разработка на свободен софтуер вече не е нещо необичайно. Този свободен, комерсиален софтуер е много важен.
Правила за начина на пакетиране на променена версия са приемливи, стига по същество да не пречат на свободата ви да я разпространявате или да използвате версии, които сте променили самостоятелно. Правила, че „ако направите версията си достъпна по този начин, трябва да я направите достъпна и по този начин“, може да са приемливи при същото условие. (Имайте предвид, че такова правило трябва да ви оставя избора дали въобще да разпространявате своята си версия.) Правила, които изискват да публикувате изходния код на версии, които сте направили достъпни за публично ползване, също са допустими. Допустимо е лицензът да изисква, ако разпространявате променена версия и някой от предишните разработчици ви поиска нейно копие, да трябва да му го пратите, както и изискването да обозначите промените си.
В проекта GNU ползваме „copyleft“, за да защитаваме по легален начин тези свободи за всички, но също така съществува и свободен софтуер без тази защита. Ние вярваме, че има важни причини да е по-добре да се ползва защитата copyleft. Все пак ако програмата ви е свободна, но без тази защита, ние пак можем да я употребяваме.
Прегледайте статията „Видове свободен софтуер“ за описанието как категориите „свободен софтуер“, „софтуер със защита copyleft“ и другите видове се съотнасят един с друг.
Понякога наложените от правителства външнотърговски режими и търговски санкции могат да ограничат свободата ви да разпространявате копия на програмата в чужбина. Разработчиците на софтуер не притежават властта да премахнат или да заобиколят тези ограничения, но програмистите могат да отказват да ги налагат като условия за ползване на програмата. По този начин ограниченията няма да засегнат дейностите и хората извън юридическата власт на тези правителства.
Повечето софтуерни лицензи са базирани на авторското право и има граници за това какви изисквания могат да се налагат чрез него. Ако един софтуерен лиценз, който е основан на авторското право, спазва свободите по начините описани по-горе, малко вероятно е да възникне някакъв друг вид проблем, който да не сме очаквали (все пак, от време на време и това се случва). Има обаче и такива лицензи за свободен софтуер, които се базират на договорното право, а чрез договорите могат да се налагат значително по-голям спектър от ограничения. Това означава, че има много възможности подобни лицензи да се окажат неприемливо ограничаващи и следователно — да не са лицензи на свободен софтуер.
Нямаме възможност да изброим всички начини, по които това може да стане. Ако базираните на договорното право уговорки в един лиценз ограничават потребителя по необичаен начин, който е невъзможен за лиценз базиран на авторското право, и ако ограничението не е изброено тук като допустимо, ще трябва да помислим върху него и е вероятно да заключим, че лицензът не е свободен.
Когато говорите за свободен софтуер, най-добре е да избягвате изрази като „без пари“ или „безплатен“, защото тези термини подсказват, че проблемът е цената, а не свободата. Някои често употребявани термини като „пиратство“ въплъщават в себе си тези, които се надяваме, че не споделяте. Погледнете статията Объркващи думи и фрази, които е добре да се избягват за обяснение на тези термини. Направен е и списък с преводите на „свободен софтуер“ на различни езици.
Най-накрая, забележете, че критериите, които са изброени в тази дефиниция за понятието „свободен софтуер“, изискват внимателно размишление при интерпретирането им. За да решим дали един конкретен софтуерен лиценз покрива критериите да е лиценз на свободен софтуер, ние го преценяваме на базата на горните критерии, за да отсъдим дали съответства на тях по дух и по буква. Ако лицензът съдържа прекомерни ограничения, ние го отхвърляме, дори и ако не сме предусетили проблема в горните критерии. Понякога изискване, което е вписано в лиценз, повдига проблем, който изисква задълбочено размишление, включително и обсъждане с адвокат, преди да решим дали то е приемливо. Когато стигнем до решението на новия проблем, ние често обновяваме горните критерии, за да бъде по-ясно защо определени лицензи се определят или не като свободни.
Ако се интересувате дали определен, конкретен лиценз се явява лиценз за свободен софтуер, погледнете списъка ни на лицензи. Ако лицензът, който ви интересува, не е изброен там, можете да ни питате за него чрез е-поща на адрес <licensing@gnu.org>.
Ако възнамерявате да напишете нов лиценз, моля обърнете се към ФСС, като напишете е-писмо на горния адрес. Умножаването на различните свободни софтуерни лицензи означава повече работа за потребителите, за да ги разберат. Възможно е да сме в състояние да ви помогнем, като намерим съществуващ лиценз на свободен софтуер, който отговаря на нуждите ви.
Ако това е невъзможно, ако наистина се нуждаете от нов лиценз, с наша помощ ще сте сигурни, че лицензът наистина е лиценз на свободен софтуер и ще можете да прескочите някои практически проблеми.
Една друга група започна да използва термина „отворен код“, за да обозначи нещо близко (но не идентично) със „свободния софтуер“. Ние предпочитаме понятието „свободен софтуер“, защото веднъж като чуете, че се отнася за свободата, а не за цената, то извиква в съзнанието — „свобода“ . Думата „отворен“ просто не прави това.