This translation may not reflect the changes made since 2014-03-11 in the English original.
Please see the Translations README for information on maintaining translations of this article.
Защо понятието „свободен софтуер“ е по-добро от „отворен код“
„Отвореният код“ пропуска най-важното за свободния софтуер е обновена версия на тази статия.
Въпреки че свободният софтуер под каквото и да е име би ви предоставил същата свобода, има голямо значение какво име използваме — различните думи въплъщават различни идеи.
През 1998 г. някои от хората в общността на свободния софтуер започнаха да използват термина „софтуер с отворен код“ вместо „свободен софтуер“, за да описват какво вършат. Терминът „отворен код“ бързо се обвърза с различен подход, различна философия, различни ценности и дори различен критерий за допустимите лицензи. Движението за свободен софтуер и движението1 за отворен код днес са различни движения с различни възгледи и цели, въпреки че ние можем и работим заедно по някои практически проекти.
Фундаменталната разлика между двете движения е в техните ценности, в начините, по които гледат на света. За движението за софтуер с отворен код, въпросът дали софтуерът би трябвало да бъде с отворен код е практически, а не етичен. Както един човек беше казал: „Отвореният код е методика за разработка, свободният софтуер е социално движение“. За движението за софтуер с отворен код несвободният софтуер е лошо, но приемливо решение. За Движението за свободен софтуер несвободният софтуер е социален проблем и решението му е свободния софтуер.
Връзка между Движението за свободен софтуер и движението за софтуер с отворен код
Движението за свободен софтуер и движението за софтуер с отворен код са като два политически лагера в общността на свободния софтуер.
През 60-те години радикални групи си издействаха репутацията на фракционисти — организациите се разделяха поради различия относно подробности за стратегиите и впоследствие се отнасяха един с друг като с врагове. Или поне такова е впечатлението, което хората имат за тях, независимо дали е вярно или не.
Взаимоотношенията между Движението за свободен софтуер и движението за софтуер с отворен код се намират в точно обратното положение. Ние имаме различия за основните принципи, но малко или много сме съгласни за практическите препоръки. Така че ние можем да работим заедно по много специфични проекти и действително го правим. Ние не мислим за движението за софтуер с отворен код като за враг. Врагът е собственическия софтуер.
Ние не сме против движението за софтуер с отворен код, но не искаме да ни бъркат с тях и да ни слагат под общ знаменател. Ние признаваме, че те са допринесли за нашата общност, но ние сме я създали и искаме хората да знаят това. Искаме хората да свързват нашите постижения с нашите ценности и нашата философия, не с техните. Искаме да бъдем чути, а не замаскирани зад група с различни възгледи. За да не допускаме хората да мислят, че ние сме част от тях, ние правим всичко възможно да избягваме използването на думата „отворен“, за да описваме свободния софтуер, или противоположната „затворен“, когато говорим за несвободен софтуер.
Молим ви, споменавайте Движението за свободен софтуер, когато говорите за работата, която сме свършили и софтуера, който сме разработили — като операционната система GNU/Линукс.
Сравняване на двата термина
Останалата част от статията сравнява двата термина „свободен софтуер“ и „софтуер с отворен код“, като показва защо терминът „отворен код“ не решава никакви проблеми и всъщност създава някои.
Двусмисленост
Терминът „свободен софтуер“ има проблем с двусмислието2 си. На английски език терминът може да значи „софтуер, с който може да се сдобиете на нулева цена“, а може да значи и „софтуер, който предоставя на потребителя определени свободи“, което всъщност е желаното значение. Ние адресираме проблема, като публикуваме по-прецизна дефиниция на свободен софтуер, но това не е идеално решение, то не може да елиминира проблема напълно. Би било по-добре да има недвусмислен термин, ако той нямаше други проблеми.
За съжаление всички алтернативи на английски език имат свои проблеми. Разглеждали сме много варианти, които хората са предлагали, но нито един не е истински „правилен“, за да бъде предпочетен вместо термина „свободен софтуер“. Всяка предложена алтернатива на „свободен софтуер“ има подобен (ако не и по-лош) семантичен проблем, и „софтуер с отворен код“ не прави изключение.
Официалната дефиниция за „софтуер с отворен код“, както е публикувана от Инициативата за отворен код (OSI — Open Source Initiative), е много близка до нашата дефиниция за свободен софтуер, само че е по-хлабава в някои отношения и те са приели някои лицензи, които ние считаме за недопустимо ограничаващи потребителите. Очевидното значение на израза „софтуер с отворен код“ е „Можете да видите изходния код“. Това е доста по-слаб критерий в сравнение със свободния софтуер; той включва свободен софтуер, но и някои собственически програми, като Xv, и „Кю ти“ под оригиналния си лиценз (преди QPL).
Това очевидно значение на „отворен код“ не е значението, което застъпниците му са имали предвид. Резултатът е, че повечето хора разбират погрешно какво пропагандират тези поддръжници. Ето как писателят Нийл Стивънсън определя „отворен код“:
Линукс е „софтуер с отворен код“, което просто означава, че всеки може да се сдобие с копие на файловете с изходен код.
Не мисля, че той нарочно е решил да отхвърли или да оспори „официалната“ дефиниция. Според мен той просто е приложил конвенциите на английския език, за да получи това значение на термина. Щатът Канзас е публикувал подобна дефиниция:
Използване на софтуер с отворен код (СОК). СОК е софтуер, чийто изходен код е безплатен и публично достъпен, въпреки че специфичните лицензионни споразумения варират в зависимост от това какво е позволено да се прави с този код.
Разбира се, хората от кампанията за софтуер с отворен код са се опитали да разрешат проблема, публикувайки точна дефиниция на термина, точно както и ние сме направили за „свободен софтуер“.
Но обяснението за „свободен софтуер“ е просто — човек, който е схванал идеята за „свобода на словото, а не безплатен обяд“3 никога няма да го възприеме по погрешния начин. Няма такъв кратък и ясен начин да се обясни официалното значение на „отворен код“ и да се покаже точно защо естественото определение е грешното.
Страх от свободата
Основният аргумент в полза на термина „софтуер с отворен код“ е, че „свободен софтуер“ кара някои хора да се чувстват неловко. Вярно е — да се говори за свободата, за етични въпроси, за отговорности, както и за удобство, значи да се подканват хората да се замислят за неща, които те навярно биха предпочели да пренебрегнат. Това може да предизвика неудобство и смущение, и някои биха отхвърлили идеята. Но от това не следва, че нашето общество би било по-добро, ако спрем да говорим за тези неща.
Преди години разработчиците на свободен софтуер са забелязали тази реакция на смущение и някои от тях са започнали да търсят начин да я избегнат. Открили са, че ако си мълчат за етиката и свободата, и говорят само за бързите практически ползи на даден свободен софтуер, те биха могли да „продадат“ софтуера по-ефективно на определени потребители, особено от средите на бизнеса. Терминът „отворен код“ е предложен като начин за постигането на тази цел — начин да бъде „по-приемлив за бизнеса“. Възгледите и ценностите на движението за софтуер с отворен код произтичат от това решение.
Този подход се оказа ефективен, по свой собствен начин. Днес много хора мигрират към свободен софтуер изцяло от практически подбуди. Това е добре само по себе си, но съвсем не е всичко, което трябва да правим! Задачата не приключва с привличането на потребители към свободния софтуер, това е само първата стъпка.
Рано или късно тези потребители ще бъдат поканени да се прехвърлят на собственически софтуер заради някакво практическо преимущество. Безброй компании се стремят да предложат такова изкушение, и защо потребителите биха отказали? Биха отказали само при положение, че са се научили да ценят свободата като такава. От нас зависи да разпространим тази идея — а за да го направим, ние трябва да говорим за свободата. Към бизнеса определена доза от подхода „да си мълчим“ може да бъде полезна за общността, но трябва да говорим много и за свободата.
Понастоящем имаме много от „да си мълчим“, но не говорим достатъчно за свободата. Повечето хора, свързвани със свободния софтуер, говорят малко за свободата, обикновено защото се стремят да са „по-приемливи за бизнеса“. Дистрибуторите на софтуер следват предимно този подход. Някои дистрибуции на операционната система GNU/Линукс добавят собственически пакети към основната свободна система, и подканват потребителите да разглеждат това като преимущество, вместо като стъпка назад от свободата.
Ние се проваляме в опита си да поддържаме притока на потребители на свободен софтуер, проваляме се в опитите си да учим хората на свобода и общност с бързината, с която те се включват. Точно заради това несвободния софтуер (какъвто беше „Кю ти“, когато стана популярна), и частично несвободни дистрибуции на операционни системи, намират такава плодотворна почва. Да спрем да използваме думата „свободен“ сега би било грешка; имаме нужда да говорим за свободата повече, а не по-малко.
Ако тези, които използват термина „отворен код“, привличат повече потребители в нашата общност, това е принос, но останалите от нас трябва да работят дори по-усърдно, за да повдигнат въпроса за свободата на вниманието на тези потребители. Днес трябва да казваме по-често и по-гръмко от когато и да е: „Това е свободен софтуер и ви предоставя свобода!“.
Дали търговска марка би помогнала?
Поддръжниците на „софтуера с отворен код“ се опитаха да го направят търговска марка, като казаха, че това би им помогнало да предотвратят злоупотреби с наименованието. Тази инициатива бе изоставена по-късно, понеже терминът е твърде описателен, за да отговаря на изискванията за търговска марка. Така че правното състояние на „отворен код“ е същото, каквото и на „свободен софтуер“ — няма никакво законово ограничение за използването му. Чувал съм за доклади за компании, които наричат софтуерните си пакети „отворен код“, въпреки че не отговарят на официалната дефиниция, виждал съм лично някои примери.
Но дали би имало голяма разлика, ако се използваше термин, който е търговска марка? Не съвсем.
Компаниите правят обявления, които създават впечатлението, че програмата е „софтуер с отворен код“, без да го твърдят изрично. Например, в едно обявление на „Ай Би Ем“ за програма, която не се вмества в официалната дефиниция, се казва това:
Както е присъщо в общността на отворения код, потребителите на … технология също ще могат да си сътрудничат с „Ай Би Ем“ …
Това в действителност не казва, че програмата е с „отворен код“, но много читатели не са забелязали тази подробност. (Трябва да отбележа, че „Ай Би Ем“ искрено се опитваше да направи тази програма свободен софтуер, и по-късно възприе нов лиценз, който я превърна в свободен софтуер и „отворен код“. Но по времето, когато цитираното обявление бе направено, програмата не беше нито едното, нито другото.)
А ето как „Сигнус Солюшънс“, която бе основана като компания за свободен софтуер и впоследствие се преквалифицира (един вид) в собственически софтуер, рекламираше някои собственически продукти:
„Сигнус Солюшънс“ е лидер в пазара за отворен код и вече стартира два продукта за пазара на [GNU/]Линукс.
За разлика от „Ай Би Ем“, „Сигнус“ не са се опитвали да направят тези пакети свободен софтуер, и те дори и минимално не се доближават до условията. Но на практика „Сигнус“ не са казали, че пакетите са „софтуер с отворен код“, а само използвали термина, за да създадат това впечатление у невнимателните читатели.
Тези наблюдения показват, че търговска марка не би предотвратила наистина объркването, което настъпва с термина „отворен код“.
Недоразуменията(?) на „отворения код“
Дефиницията за софтуер с отворен код е достатъчно ясна и е пределно ясно, че типичната несвободна програма не отговаря на условията. Така че бихте си помислили, че „Фирма за софтуер с отворен код“ означава такава, чиито продукти са свободен софтуер (или близко до това), нали така? Уви, много фирми се опитват да придадат различно значение.
На срещата „Ден на разработчиците на софтуер с отворен код“ през август 1998 г., някои от поканените комерсиални разработчици казаха, че възнамеряват да направят само част от тяхната работа свободен софтуер (или „отворен код“). Центърът на техния бизнес е разработването на собственически добавки (софтуер или ръководства), които продават на потребителите на свободен софтуер. Те ни молят да се отнасяме към това като нещо допустимо, като част от нашата общност, понеже част от парите се даряват за разработка на свободен софтуер.
На практика, тези фирми искат да положат одобрителния щемпел „отворен код“ върху своите продукти със собственически софтуер — макар и самите продукти да не са „софтуер с отворен код“ — само защото имат някаква връзка със свободния софтуер или понеже същата фирма поддържа също и някакъв свободен софтуер. (Един основател на фирма каза доста категорично, че те биха вложили в свободния пакет, който поддържат, минимална част от труда си — толкова, колкото е достатъчно за общността.)
През годините много фирми са допринесли за разработката на свободен софтуер. Някои от тях основно са разработвали несвободен софтуер, но двете дейности са били отделни; така ние можехме да пренебрегнем техните несвободни продукти и да работим с тях по проекти за свободен софтуер. Накрая можехме искрено да им благодарим за приноса им към свободния софтуер, без да говорим за останалото, което са направили.
Не можем да направим същото с тези нови фирми, понеже те няма да ни позволят. Те активно приканват обществото да не прави разлика между отделните им дейности. Искат да се отнасяме към несвободния им софтуер като към истински принос, макар и той да не е такъв. Те се представят като „фирми за софтуер с отворен код“, надявайки се да изпитаме топло, замайващо вълнение от това и че ще разсъждаваме също тъй замаяно когато прилагаме критериите си.
Тази манипулативна практика би била също толкова вредна, ако беше направена чрез термина „свободен софтуер“. Но изглежда фирмите не използват термина „свободен софтуер“ по този начин, навярно асоциацията му с идеализма го прави неприложим. Терминът „отворен код“ отвори вратата за злоупотреби от този род.
На едно търговско изложение в края на 1998 г., посветено на операционната система, често наричана „Линукс“, един от лекторите беше ръководно лице на известна софтуерна фирма. Навярно е бил поканен заради решението на фирмата му да „поддържа“ тази система. За жалост, тяхната форма на „поддръжка“ се състои в издаването на несвободен софтуер, който работи със системата — с други думи, използват нашата общност като пазар, без да допринасят за нея.
Той каза: „Няма начин да направим нашия продукт отворен код, но може би ще го направим „вътрешен“ отворен код. Ако позволим на персонала по поддръжката достъп до изходния код, те биха могли да коригират грешки за клиентите, и бихме осигурили по-добър продукт и по-добро обслужване.“ (Това не е точен цитат, понеже не си записах думите му, но предава същината.)
Хора от публиката след това ми казаха: „Той просто не разбира най-важното.“ Но дали е така? Кое точно не е разбрал?
Той не е пропуснал същността на движението за софтуер с отворен код. Това движение не твърди, че потребителите трябва да имат свобода, а само че позволяването на повече хора да погледнат изходния код и да помогнат при подобрението му води до по-бърза и по-добра разработка. Изпълнителният директор е разбрал тази част напълно. Нежелаейки да следва този подход изцяло, включвайки и потребителите, той е обмислял да го внедри частично, в рамките на фирмата.
Това, което той е пропуснал, е въпросът, който „отворен код“ е създаден да не повдига: въпросът, че потребителите заслужават свобода.
Разпространяването на идеята за свобода е голяма задача и има нужда от Вашата подкрепа. Точно заради това в проекта GNU ние се придържаме към термина „свободен софтуер“, за да си помагаме в тази задача. Ако чувствате, че свободата и общността са важни сами по себе си — не заради удобствата, които следват от тях — молим ви, присъединете се към нас в използването на термина „свободен софтуер“.
Докладът за мотивацията на разработчиците на свободен софтуер от Лахани и Улф твърди, че значителна част от тях са мотивирани от възгледа, че софтуерът трябва да е свободен. Това е въпреки факта, че те са изследвали разработчици от SourceForge, сайт, който не поддържа възгледа, че това е етичен въпрос.
Това есе е публикувано в книгата Свободен софтуер, свободно общество: избрани есета от Ричард М. Столман.
- Спорно е дали изобщо може да се нарече движение; по-скоро е кампания или инициатива.
- Английската дума „free“ е многозначна. На български тя може да се предава като свободен, но и като безплатен. За щастие, в българския език това двусмислие не съществува.
- В оригинал „free speech, not free beer“ (англ.) — двете различни значения изпъкват ясно в този израз. На англ. език изразът често се използва от представителите на Движението за свободен софтуер, за да се артикулират тези две значения и да се посочи желаното от тях — свободен, а не безплатен.
- На английски език „Live and let license“, закачка с известната песен „Live and let die“ на Пол Макартни и „Уингс“.