This translation may not reflect the changes made since 2010-01-31 in the English original.
Please see the Translations README for information on maintaining translations of this article.
Защо отвореният код пропуска най-важното за свободния софтуер
от Ричард Столман
Когато наричаме даден софтуер „свободен“, имаме предвид, че той уважава съществените свободи на потребителите — свободата да го изпълняват, да го изучават и променят, както и да разпространяват променени или непроменени копия. Това е въпрос на свобода, не на цена, така че мислете за „свобода на словото“, а не за „безплатен обяд“1.
Тези свободи са жизненоважни. Те са съществени не просто заради индивидуалните потребители, но и за обществото като цяло, защото поощряват социална солидарност — споделяне и сътрудничество. Те стават все по-важни, тъй като нашата култура и ежедневие все повече се цифровизират. В един свят с цифрови звуци, изображения и думи, свободният софтуер с все по-голяма сила се превръща в крайно необходим за свободата като общо понятие.
Днес десетки милиони души по света използват свободен софтуер — училищата от райони на Индия и Испания вече учат учениците си да използват свободната операционна система GNU/Линукс. Но повечето от тези потребители никога не са чували за етичните причини, поради които разработихме тази система и изградихме общността на свободния софтуер, защото днес за тази система и общност по-често се говори като „отворен код“. Приписват се и на различна философия, в която тези свободи почти не се споменават.
Движението за свободен софтуер се е борило за свободата на компютърните потребители от 1983 г. насам. През 1984 г. започнахме разработката на свободната операционна система GNU, за да можем да избегнем несвободните операционни системи, които отнемат свободата на потребителите си. През 80-те години разработихме повечето от съществените компоненти на системата и създадохме GNU General Public License (GNU GPL), под който да ги издадем — лиценз, създаден точно за да защитава свободата на всички потребители на дадена програма.
Не всички потребители и разработчици на свободен софтуер бяха съгласни с целите на Движението за свободен софтуер. През 1998 г., част от общността на свободния софтуер се отцепи и започна кампания в името на „отворения код“. Първоначално терминът бе предложен, за да се избегне евентуално погрешно тълкуване на термина „свободен софтуер“, но скоро бе обвързан с философски възгледи, твърде различни от тези на Движението за свободен софтуер.
Някои от привържениците на отворения код смятаха термина за „маркетингова кампания за свободен софтуер“, която да привлича хора с позиции в бизнеса чрез изтъкване на практическите ползи, като същевременно се премълчават идеите за „добро“ и „лошо“, които те не биха искали да чуят. Други привърженици решително отхвърлиха етичните и социални ценности на Движението за свободен софтуер. Каквито и да са били възгледите им, при воденето на кампания за отворен код те нито са цитирали, нито заставали зад тези ценности. Терминът „отворен код“ бързо се обвърза с идеи и аргументи, базирани само на практически ценности, като писането или притежаването на мощен и надежден софтуер. Повечето от поддръжниците на отворения код още оттогава имат това предвид и правят същата асоциация.
Почти всеки софтуер с отворен код е свободен софтуер. Двете понятия описват почти една и съща категория софтуер, но те стоят зад възгледи, базирани на коренно различни в основата си ценности. Отвореният код е методика за разработка; свободният софтуер е социално движение. За Движението за свободен софтуер, свободният софтуер е етически императив, защото само свободният софтуер зачита свободата на потребителите. За разлика от него, философията на отворения код разглежда въпросите в светлината на правенето на „по-добър“ софтуер — само от практическа гледна точка. В нея се твърди, че несвободният софтуер е лошо, но приемливо решение за определената практическа задача.
За Движението за свободен софтуер, обаче, несвободният софтуер е социален проблем и решението е да спре употребата му, да се мигрира към свободен софтуер.
„Свободен софтуер“, софтуер с „отворен код“. Ако това е един и същ софтуер, има ли значение какво име използвате? Да, защото различните думи въплъщават различни идеи. Докато една свободна програма под каквото и да е име би ви предоставила същата свобода днес, затвърждаването на свободата в дългосрочен план зависи преди всичко от това — хората да се научат да ценят свободата. Ако искате да ни помогнете да направим това, крайно необходимо е да говорите за „свободен софтуер“.
Ние в Движението за свободен софтуер не мислим за лагера на софтуера с отворен код като за враг — врагът е собственическия софтуер. Но искаме хората да знаят, че държим на свободата, така че не приемаме да бъдем идентифицирани погрешно като поддръжници на „отворения код“.
Широко разпространено погрешно тълкуване на „свободен софтуер“ и „отворен код“
Терминът „свободен софтуер“ има склонност да се разбира погрешно2 си. На английски език терминът може да значи „софтуер, с който може да се сдобиете на нулева цена“, а може да значи и „софтуер, който предоставя на потребителя определени свободи“, което всъщност е желаното значение. Ние адресираме проблема, като публикуваме дефиницията за свободен софтуер, и като казваме „Мислете за «свобода на словото», не за «безплатен обяд»“. Това не е идеално решение и не може да елиминира проблема напълно. Би било по-добре да има недвусмислен термин, ако той нямаше други проблеми.
За съжаление всички алтернативи на английски език имат свои проблеми. Разглеждали сме много варианти, които хората са предлагали, но нито един не е истински „правилен“, за да бъде предпочетен вместо термина „свободен софтуер“. (Например, в някои случаи думата „libre“ на френски и испански език е подходяща, но тя не говори нищо на хората от Индия.) Всяка предложена алтернатива на „свободен софтуер“ има подобен семантичен проблем, в това число и „софтуер с отворен код“.
Официалната дефиниция за „софтуер с отворен код“ (която е публикувана от Инициативата за отворен код и е твърде дълга, за да я включим тук), произхожда непряко от нашите критерии за свободен софтуер. Не е същата, по-хлабава е в някои отношения — поддръжниците на отворения код са приели някои лицензи, които ние считаме за недопустимо ограничаващи потребителите. Въпреки това, на практика тя е доста близка до нашата дефиниция.
Но очевидното значение на израза „софтуер с отворен код“ е „може да погледнете изходния код“ и повечето хора изглежда мислят, че това е значението. Този критерий е много по-слаб от дефиницията за свободния софтуер, също и по-слаб от официалната дефиниция за отворен код. Това определение включва много програми, които не са нито свободен софтуер, нито софтуер с отворен код.
Тъй като очевидното значение на „отворен код“ не е значението, което поддръжниците му имат предвид, налице е факта, че повечето хора разбират погрешно понятието. Според писателя Нийл Стивънсън „Линукс е софтуер с отворен код, което просто означава, че всеки може да се сдобие с копия на файловете с изходния код“. Не мисля, че той нарочно е решил да отхвърли или обори официалната дефиниция. Според мен той просто е приложил конвенциите на английския език, за да си обясни термина. Щатът Канзас е публикувал подобно определение: „Използване на софтуер с отворен код (СОК). СОК е софтуер, чийто изходен код е безплатен и публично достъпен, въпреки че специфичните лицензионни споразумения варират в зависимост от това какво е позволено да се прави с този код.“
„Ню Йорк Таймс“ публикуват статия, която извращава термина да означава тестване на „бета“ версии от потребителите — позволяването на някои потребители да пробват ранна версия на програмата и да осигурят поверителна обратна връзка. Това се практикува от разработчиците на собственически софтуер вече десетилетия.
Поддръжниците на кампанията за софтуер с отворен код се опитват да разрешат проблема, посочвайки тяхната официална дефиниция, но този корективен подход не е толкова ефективен, колкото нашия. Терминът „свободен софтуер“ има две естествени значения, едното от които е желаното. Човек, който е схванал идеята за „свобода на словото, а не безплатен обяд“ никога няма да го възприеме по погрешния начин. Но терминът „отворен код“ има само едно естествено значение, което е различно от желаното от поддръжниците на кампанията. Няма кратък и ясен начин да се обясни официалното му значение. Това води до задълбочаване на объркването.
Друго недоразумение на „отворен код“ е идеята, че означава „да не се ползва GNU GPL“. Изглежда това съпровожда друго погрешно разбиране, че „свободен софтуер“, означава „софтуер под GPL“. Те са еднакво погрешни, понеже GNU GPL е приет като лиценз за софтуер с отворен код, както и повечето от лицензите за отворен код отговарят на изиксванията за лицензи за свободен софтуер.
Различните ценности могат да доведат до почти едни и същи изводи…но не винаги
През 60-те години радикални групи си издействаха репутацията на фракционисти. Някои организации се разделяха поради различия относно подробности за стратегиите и впоследствие двете дъщерни групи се отнасяха един с друг като с врагове, въпреки сходните основни цели и ценности. Десните често правеха това и критикуваха цялото ляво пространство за тази практика.
Някои се опитват да очернят Движението за свободен софтуер, като сравняват нашите различия с лагера на отворения код с различията на онези радикални групи. Ситуацията е точно обратната. Ние имаме различия с лагера на отворения код относно основните цели и ценности, но техните и нашите възгледи в много случаи водят до едно и също поведение на практика, като разработката на свободен софтуер.
В резултат на това, хора от Движението за свободен софтуер и от лагера на отворения код работят заедно по практически проекти като разработка на софтуер. Забележително е, че толкова различни философски възгледи могат толкова често да мотивират различни хора да участват в едни и същи проекти. Въпреки това, има ситуации, където тези различни в основата си възгледи водят до много различни действия.
Идеята на отворения код е, че като се позволява на потребителите да променят и разпространяват софтуера, това ще го направи по-мощен и по-надежден. Но това не винаги е гарантирано. Разработчиците на собственически софтуер не винаги са некомпетентни. Понякога те разработват програма, която е мощна и надеждна, дори и да не зачита свободата на потребителите. Активисти на Движението за свободен софтуер и ентусиасти на отворения код ще реагират коренно различно на това.
Един същински ентусиаст на отворения код, който изобщо не е повлиян от идеалите на свободния софтуер, би казал: „Изненадан съм, че сте успели да направите програмата да работи така добре, без да използвате нашия модел за разработка. Но сте го направили. Как мога да се сдобия с копие?“ Такова отношение би било в полза на схеми, които отнемат свободата ни и водят до пълната ѝ загуба.
Активистът на Движението за свободен софтуер би казал: „Вашата програма е много привлекателна, но аз ценя свободата си повече. Така че отхвърлям прогамата ви. Вместо това ще поддържам проект за разработката на свободен заместител.“ Ако ценим свободата си, може да я поддържаме и защитаваме.
Мощният, надежден софтуер може да бъде лошо нещо
Идеята, че искаме софтуерът да е мощен и надежден, следва от предположението, че софтуера би трябвало да служи на потребителите. Ако е мощен и надежден, той им служи по-добре.
Но може да се каже, че софтуерът служи на потребителите, само ако зачита тяхната свобода. Ами ако софтуерът е проектиран, за да слага окови на потребителите? Тогава мощността означава, че оковите са още по-здрави и стегнати, а надеждността просто означава, че е по-трудно те да бъдат премахнати. Злонамерени функционалности като шпиониране на потребителите, ограничаването им, задни врати и принудителна актуализация са често срещани сред собственическия софтуер, и някои от поддръжниците на отворения код искат да ги реализират и в софтуер с отворен код.
Под натиска на филмови и звукозаписни компании, софтуерът все по-често се проектира специално за да ограничава правата на ползващите го. Тази злонамерена технология е позната като „цифрово управление на ограниченията“ (DRM) (вижте DefectiveByDesign.org), и по дух е антитезата на свободата, която свободния софтуер се стреми да осигури. И не само по дух — понеже целта на DRM е да погази свободата ви, разработчиците на DRM се опитват да направят трудно, невъзможно и дори незаконно за вас да променяте софтуера, който реализира DRM.
Въпреки това някои поддръжници на отворения код предложиха софтуер с „DRM с отворен код“. Идеята им е, че чрез публикуването на изходния код на програмите, създадени да ограничават достъпа ви до шифрирани носители, и позволявайки на другите да го променят, те ще могат да създадат по-мощен и надежден софтуер за ограничаването на потребители като вас. После софтуерът би бил предоставен на вас в устройства, които не ви позволяват да го променяте.
Този софтуер може и да е с отворен код и да се използва модела за разработка на отворения код, но той няма да бъде свободен софтуер, понеже няма да зачита свободата на потребителите, които в действителност го използват. Ако моделът за разработка на отворения код успее да направи този софтуер по-мощен и надежден в ограничаването ви, това ще го превърне в още по-лош.
Страх от свободата
Основната първоначална мотивация на тези, които отцепват лагера на отворения код от Движението за свободен софтуер бе, че етичните идеи на „свободен софтуер“ карат някои хора да се чувстват неловко. Вярно е — повдигането на етични въпроси като този за свободата, говоренето за отговорности, както и за удобство, значи да се подканват хората да се замислят за неща, които те навярно биха предпочели да пренебрегнат — например дали поведението им е етично. Това може да предизвика неудобство и смущение, и някои хора просто биха отхвърлили идеята. Но от това не следва, че би трябвало да спрем да говорим за тях.
Само че точно това са решили да направят предводителите на отворения код. Открили са, че ако си мълчат за етиката и свободата, и говорят само за бързите практически ползи на даден свободен софтуер, те биха могли да „продадат“ софтуера по-ефективно на определени потребители, особено от средите на бизнеса.
Този подход се оказа ефективен, по свой собствен начин. Реториката на отворения код е убедила много хора и бизнес потребители да използват и дори да разработват свободен софтуер. Това е разширило нашата общност, но само повърхностно, на практическо ниво. Философията на отворения код с нейните чисто практически ценности възпрепятства разбирането на дълбоките идеи на свободния софтуер — тя води много хора в нашата общност, но не ги учи как да я защитават. Това е добре само по себе си, но не е достатъчно, за да си осигурим свободата. Привличането на потребители към свободния софтуер ги отвежда само до част от пътя да станат защитници на собствената си свобода.
Рано или късно тези потребители ще бъдат поканени да се прехвърлят на собственически софтуер заради някакво практическо преимущество. Безброй компании се стремят да предложат такова изкушение, някои дори предлагат безплатни копия. Защо биха отказали потребителите? Само ако те са научили да оценяват свободата, която свободният софтуер им предоставя, да оценяват свободата сама по себе си, вместо техническото и практическо удобство на даден свободен софтуер. За да разпространяваме тази идея, трябва да говорим за свободата. Определена доза от подхода „да си мълчим“ към бизнеса може да бъде полезна за общността, но е опасно ако стане толкова често срещан, че любовта към свободата да изглежда като ексцентричност.
Точно в такава опасна ситуация се намираме в момента. Повечето хора, свързвани със свободния софтуер, особено дистрибуторите, говорят малко за свободата — обикновено защото се стремят да са „по-приемливи за бизнеса“. Почти всички дистрибуции на операционната система GNU/Линукс добавят собственически пакети към основната свободна система, и подканват потребителите да разглеждат това като преимущество, вместо като недостатък.
Добавеният собственически софтуер и частично несвободните дистрибуции на GNU/Линукс намират плодотворна почва, защото по-голямата част от нашата общност не изисква софтуера да е свободен. Това не е случайно. Повечето потребители на GNU/Линукс са се запознали със системата чрез обсъждания за „отворен код“, където не се говори, че свободата е цел. Практиките, които не поддържат свободата и думите, които не говорят за свободата, вървят ръка за ръка — всяка насърчава другата. За да превъзмогнем тази тенденция, е нужно да говорим повече, а не по-малко за свободата.
Заключение
Докато застъпниците на отворения код привличат нови потребители в нашата общност, ние, активистите на свободния софтуер, трябва да работим дори по-усърдно, за да повдигнем въпроса за свободата на вниманието на тези нови потребители. Трябва да казваме „Това е свободен софтуер и ви предоставя свобода!“ повече и по-гръмко от когато и да е. Всеки път, когато вие казвате „свободен софтуер“ вместо „софтуер с отворен код“, вие помагате на нашето начинание.
Бележки
Докладът за мотивацията на разработчиците на свободен софтуер от Лахани и Улф твърди, че значителна част от тях са мотивирани от възгледа, че софтуерът трябва да е свободен. Това е въпреки факта, че те са изследвали разработчици от SourceForge, сайт, който не поддържа възгледа, че това е етичен въпрос.
- В оригинал „free speech, not free beer“ (англ.) — двете различни значения изпъкват ясно в този израз. На англ. език изразът често се използва от представителите на Движението за свободен софтуер, за да се артикулират тези две значения и да се посочи желаното от тях — свободен, а не безплатен.
- Английската дума „free“ е многозначна. На български тя може да се предава като свободен, но и като безплатен. За щастие, в българския език това двусмислие не съществува.
- На английски език „Live and let license“, закачка с известната песен „Live and let die“ на Пол Макартни и „Уингс“.