This translation may not reflect the changes made since 2008-12-09 in the English original.
Please see the Translations README for information on maintaining translations of this article.
Определение на свободен софтуер
Ние поддържаме следната дефиниция на понятието „свободен софтуер“, та ясно да покажем какви характеристики трябва да притежава една софтуерна програма, за да се счита за свободен софтуер.
„Свободният софтуер“ е израз на свободата, а не на цената. За да разберете концепцията, мислете си за „свобода на словото“, а не „безплатен обяд“1.
Свободният софтуер е въпрос на свободата на потребителите да го изпълняват, копират, изучават и подобряват. По-точно, свободният софтуер гарантира четири вида свободи на потребителите си:
- Свободата да изпълняваш програмата както желаете — за всякакви цели (свобода №0)2.
- Свободата да изучаваш как работи програмата и да я изменяш, за да отговаря на нуждите ти (свобода №1). Достъпът до изходния код е необходимо условие за това.
- Свободата да разпространяваш копия, за да помагаш на ближния си (свобода №2).
- Свободата да подобряваш програмата и да споделяш подобренията си с всички, за да може цялата общност да се възползва (свобода №3). Достъпът до изходния код е необходимо условие за това.
Една програма е свободен софтуер, ако потребителите имат всичките четири свободи. По такъв начин, вие трябва да сте свободни да разпространявате копия, идентични с оригинала или променени, безплатно или срещу заплащане на всеки и навсякъде. Освен всичко друго, това, че програмата е свободна, означава, че не трябва да се молите или да плащате, за да упражните тези свободи.
Свободата да изпълняваш програмата означава свобода за изпълнение от всеки индивид или организация, върху всяка компютърна система, за каквато и да е работа и цел, без да се изисква да съобщите за това на разработчика или на което и да е друго лице. За тази свобода е важна гледната точка на потребителя, a не на разработчика. Вие като потребител сте свободни да използвате софтуера за вашите си цели, а ако разпространите програмата към другиго, той ще е свободен да използва програмата за своите си цели, но вие нямате право да налагате своите цели на другия.
Също така, вие трябва да разполагате със свободата да правите промени и да ги ползвате самостоятелно в работата си или ако просто си играете, без дори да споменавате за тяхното съществуване. Ако публикувате промените си, от вас не трябва да се изисква да уведомявате някого за това по какъвто и да е начин.
Свободата да разпространяваш копия трябва да се отнася както за двоичните или изпълнимите форми на програмата, така и за формите в изходен код, както за оригиналните, така и за променените версии. (Разпространението на програми в изпълнима форма е необходимо за удобно инсталиране на свободни операционни системи.) Нормално е за някои програми да няма начин за създаването на представяне в двоичен или изпълним вид (понеже някои езици не поддържат тази възможност), но вие трябва да имате свободата да разпространявате такива форми, ако намерите или изобретите начин да ги създавате.
За да може свободите да правите промени и да публикувате променени версии, да означават нещо реално, вие трябва да имате достъп до изходния код на програмата. Затова достъпът до изходния код е необходимо условие, за да бъде една програма свободен софтуер.
Един важен начин за промяната на една програма е чрез сливането на съществуващи свободни подпрограми и модули. Ако лицензът на програмата твърди, че не може да добавите съществуващ модул, като например да изисква вие да сте носителят на авторските права на всеки код, който добавяте, то лицензът е прекалено ограничаващ, за да бъде наречен свободен.
За да бъдат тези свободи реални, се изисква те да са неотменими, стига вие да не сте направили нищо лошо. Ако разработчикът на софтуера има властта да отмени лиценза, без вие да сте направили нищо, за да предизвикате това, то софтуерът не е свободен.
Все пак, някои правила за начина на разпространение на свободния софтуер са приемливи, когато не противоречат на основните свободи. Например „copyleft“ (да го кажем по прост начин) е правилото, че когато разпространявате програмата, не можете да добавяте ограничения, за да откажете на другите хора основните свободи. Това правило не противоречи на основните свободи — то ги защитава.
В проекта GNU ползваме copyleft, за да защитаваме по легален начин тези свободи за всички, но също така съществува и свободен софтуер без тази защита. Ние вярваме, че има важни причини да е по-добре да се ползва защитата copyleft. Все пак ако програмата ви е свободна, но без тази защита, ние пак можем да я употребяваме. Прегледайте статията „Видове свободен софтуер“ за описанието как категориите „свободен софтуер“, „софтуер със защита copyleft“ и другите видове се съотнасят един с друг.
„Свободен“ за софтуер не означава „некомерсиален“. Една свободна програма трябва да е достъпна за комерсиално ползване, комерсиална разработка и комерсиално разпространение. Комерсиалната разработка на свободен софтуер вече не е нещо необичайно. Този свободен, комерсиален софтуер е много важен. Може да сте платили пари, за да се сдобиете с копие на свободен софтуер, може да сте го получили безплатно. Независимо от начина, по който сте придобили копията си, вие винаги сте свободни да копирате и променяте софтуера, дори да продавате копия.
Правила за начина на пакетиране на променена версия са приемливи, стига по същество да не пречат на свободата ви да я разпространявате или да използвате версии, които сте променили самостоятелно. Правила, че „ако направите версията си достъпна по този начин, трябва да я направите достъпна и по този начин“, може да са приемливи при същото условие. (Имайте предвид, че такова правило трябва да ви оставя избора дали въобще да разпространявате своята си версия.) Правила, които изискват да публикувате изходния код на версии, които сте направили достъпни за публично ползване, също са допустими. Допустимо е лицензът да изисква, ако разпространявате променена версия и някой от предишните разработчици ви поиска нейно копие, да трябва да му го пратите, както и изискването да обозначите промените си.
Понякога наложените от правителства външнотърговски режими и търговски санкции могат да ограничат свободата ви да разпространявате копия на програмата в чужбина. Разработчиците на софтуер не притежават властта да премахнат или да заобиколят тези ограничения, но програмистите могат и трябва да отказват да ги налагат като условия за ползване на програмата. По този начин ограниченията няма да засегнат дейностите и хората извън юридическата власт на тези правителства.
Повечето софтуерни лицензи са базирани на авторското право и има граници за това какви изисквания могат да се налагат чрез него. Ако един софтуерен лиценз, който е основан на авторското право, спазва свободите по начините описани по-горе, малко вероятно е да възникне някакъв друг вид проблем, който да не сме очаквали (все пак, от време на време и това се случва). Има обаче и такива лицензи за свободен софтуер, които се базират на договорното право, а чрез договорите могат да се налагат значително по-голям спектър от ограничения. Това означава, че има много възможности подобни лицензи да се окажат неприемливо ограничаващи и следователно — да не са лицензи на свободен софтуер.
Нямаме възможност да изброим всички начини, по които това може да стане. Ако базираните на договорното право уговорки в един лиценз ограничават потребителя по необичаен начин, който е невъзможен за лиценз базиран на авторското право, и ако ограничението не е изброено тук като допустимо, ще трябва да помислим върху него и е вероятно да заключим, че лицензът не е свободен.
Когато говорите за свободен софтуер, най-добре е да избягвате изрази като „без пари“ или „безплатен“, защото тези термини подсказват, че проблемът е цената, а не свободата. Някои често употребявани термини като „пиратство“ въплъщават в себе си тези, които се надяваме, че не споделяте. Погледнете статията Объркващи думи и фрази, които е добре да се избягват за обяснение на тези термини. Направен е и списък с преводите на „свободен софтуер“ на различни езици.
Най-накрая, забележете, че критериите, които са изброени в тази дефиниция за понятието „свободен софтуер“, изискват внимателно размишление при интерпретирането им. За да решим дали един конкретен софтуерен лиценз покрива критериите да е лиценз на свободен софтуер, ние го преценяваме на базата на горните критерии, за да отсъдим дали съответства на тях по дух и по буква. Ако лицензът съдържа прекомерни ограничения, ние го отхвърляме, дори и ако не сме предусетили проблема в горните критерии. Понякога изискване, което е вписано в лиценз, повдига проблем, който изисква задълбочено размишление, включително и обсъждане с адвокат, преди да решим дали то е приемливо. Когато стигнем до решението на новия проблем, ние често обновяваме горните критерии, за да бъде по-ясно защо определени лицензи се определят или не като свободни.
Ако се интересувате дали определен, конкретен лиценз се явява лиценз за свободен софтуер, погледнете списъка ни на лицензи. Ако лицензът, който ви интересува, не е изброен там, можете да ни питате за него чрез е-поща на адрес <[email protected]>.
Ако възнамерявате да напишете нов лиценз, моля обърнете се към ФСС, като напишете е-писмо на горния адрес. Умножаването на различните свободни софтуерни лицензи означава повече работа за потребителите, за да ги разберат. Възможно е да сме в състояние да ви помогнем, като намерим съществуващ лиценз на свободен софтуер, който отговаря на нуждите ви.
Ако това е невъзможно, ако наистина се нуждаете от нов лиценз, с наша помощ ще сте сигурни, че лицензът наистина е лиценз на свободен софтуер и ще можете да прескочите някои практически проблеми.
Отвъд софтуера
Ръководствата за софтуер трябва да са свободни поради същите причини, поради които и софтуерът трябва да е свободен, и понеже ръководствата в известна степен са част от софтуера.
Същите аргументи имат смисъл и за други видове произведения от практическо естество — с други думи, произведения, които включват в себе си полезни знания, като образователни и справочни материали. Уикипедия е най-известният пример.
Всеки вид прозиведение може да бъде свободно, и определението за свободен софтуер може да бъде разширено до определение за свободни произведения на културата, приложимо за всякакъв вид творби.
Отворен код?
Една друга група започна да използва термина „отворен код“, за да обозначи нещо близко (но не идентично) със „свободния софтуер“. Ние предпочитаме понятието „свободен софтуер“, защото веднъж като чуете, че се отнася за свободата, а не за цената, то извиква в съзнанието — „свобода“. Думата „отворен“ просто не прави това.
- Английската дума „free“ е многозначна. На български тя може да се предава като свободен, но и като безплатен. В рамките на проекта GNU тя винаги се използва в значението си свободен. Контрастирането на свободата на словото с безплатния обяд е възможно най-близкото до българския език предаване на мотото «„free“ as in „free speech“, not as in „free beer“». На български това двусмислие не съществува.
- Независимо, че последната свобода е с номер 3, общият им брой е 4. Номерирането отразява както историята на постепенното им оформяне и еволюция (първо свободи 1 и 2, след това 3 и накрая 0), така е и препратка към начина на броене в някои езици за програмиране и математиката.