English [en]   العربية [ar]   български [bg]   Deutsch [de]   ελληνικά [el]   español [es]   فارسی [fa]   français [fr]   hrvatski [hr]   italiano [it]   日本語 [ja]   മലയാളം [ml]   Nederlands [nl]   polski [pl]   português do Brasil [pt-br]   română [ro]   русский [ru]   Shqip [sq]   தமிழ் [ta]   Türkçe [tr]   українська [uk]   简体中文 [zh-cn]  

Це переклад оригінальної сторінки з англійської мови.

Чому відкритий вихідний код не передає поняття вільна програма

Річард Столмен

Коли ми називаємо програму “вільною”, ми маємо на увазі, що вона поважає основні свободи користувачів: свободу виконувати її, вивчати і змінювати її, а також поширювати із змінами або без них. Це питання свободи, а не ціни, тому уявляйте собі “вільну мову”, а не “безкоштовне пиво”.

Ці свободи життєво важливі. Вони мають значення не тільки для окремих користувачів, але і для всього суспільства в цілому, тому що вони сприяють розвитку суспільної солідарності — тобто обміну співробітництва. Вони стають ще важливіші тому, що цифрова техніка все більше входить в нашу культуру і життєдіяльність. У світі цифрових звуків, зображень і слів вільні програми стають все більш важливими для свободи взагалі.

Десятки мільйонів людей по всьому світу використовують сьогодні вільні програми: громадські школи деяких штатів Індії і провінцій Іспанії тепер викладають всім учням роботу у вільній операційній системі GNU/Linux. Однак більшість цих користувачів ніколи не чули про етичні причини, за якими ми розробили цю систему і побудували громаду вільного програмного забезпечення, тому що сьогодні про цю систему і спільноту говорять як про “відкритий вихідний код”, співвідносячи їх з іншою філософією, в якій ці свободи ледь згадуються.

Рух за вільне програмне забезпечення боровся за свободу користувачів з 1983 року. У 1984 році ми дали старт розробці вільної операційної системи GNU, щоб ми могли обходитися без вільних операційних систем, які відмовляють своїм користувачам у свободі. За вісімдесяті роки XX століття ми розробили більшість основних компонентів такої системи і склали Загальну громадську ліцензію GNU (GNU GPL), щоб випускати їх під цією ліцензією,— ліцензію, створену спеціально для того, щоб захистити свободу всіх користувачів програми.

Не всі користувачі і розробники вільних програм співчували цілям руху за вільне програмне забезпечення. В 1998 році частина спільноти вільного програмного забезпечення відкололася і почала кампанію під іменем “відкритого вихідного коду”. Цей термін спочатку було запропоновано, щоб уникнути можливого неправильного тлумачення терміна “вільна програма”, але дуже скоро він почав асоціюватися з філософськими поглядами, абсолютно відмінними від поглядів руху за вільне програмне забезпечення.

Одні прихильники відкритого вихідного тексту розглядали цей термін як “рекламну кампанію за вільне програмне забезпечення”, яка привернула б увагу підприємців, підкреслюючи практичні вигоди, пов'язані з цими програмами, не зачіпаючи в той же час питань добра і зла, про які вони, можливо, не хотіли слухати. Інші прихильники просто відкидали етичні і соціальні цінності руху за вільне програмне забезпечення. Якими б не були їхні погляди, коли вони ратували за відкритий вихідний код, вони не згадували і не захищали ці цінності. Термін “відкритий вихідний код” швидко став асоціюватися з ідеями і аргументами, заснованими на практичних цінностях, таких, як створення і володіння ефективними надійними програмами. Згодом до цього прийшло більшість прихильників відкритого вихідного коду, і вони асоціюються з тим же.

Ці два терміни описують майже одну і ту ж категорію програм, але вони відповідають поглядам, заснованим на принципово різних цінностях. Відкритий вихідний текст — це методика розробки; вільні програми — це суспільний рух. Для руху за вільне програмне забезпечення вільні програми — це етичний імператив — повага свободи користувачів. Натомість філософія відкритого вихідного коду розглядає проблеми з точки зору того, як зробити програми “кращими” — тільки в практичному сенсі. Згідно з цією філософією, невільна програма — це незадовільне рішення поставленої практичної задачі. У більшості обговорень “ відкритого вихідного коду” увага приділяється тільки популярності і успіху, а не справедливості і несправедливості; типовий приклад можна знайти в LinuxInsider.

Проте для руху за вільне програмне забезпечення невільні програми — це соціальна проблема, і рішення якої повне припинення користуватися ними і перехід на вільні програми.

“Вільна програма”. “Відкритий вихідний код”. Якщо це одні і ті ж програми (або майже одні і ті ж), хіба має значення, яким з двох назв ви користуєтеся? Має, бо різні слова передають різні поняття. Хоча вільна програма під будь-якою іншою назвою дасть вам ту ж свободу сьогодні, встановлення свободи на постійній основі залежить насамперед від того, чи будуть привчати людей цінувати свободу. Якщо ви хочете допомогти цьому, важливо говорити про “вільні програми”.

Ми, учасники руху за вільне програмне забезпечення, не думаємо про табір відкритого вихідного коду як про ворога: противник - невільні програми. Але ми хочемо, щоб люди знали, що ми стоїмо за свободу, тому ми не допускаємо невірного віднесення нас до прихильників відкритого вихідного коду.

Практичні відмінності між вільними програмами і відкритим вихідним кодом

На практиці відкритий вихідний текст означає трохи слабші критерії, чим критерії вільних програм. Наскільки ми знаємо, всі існуючі вільні програми можна було б розцінювати як програми з відкритим вихідним кодом. Майже всі програми з відкритим вихідним кодом вільні, але є винятки. По-перше, деякі ліцензії відкритого вихідного коду занадто жорсткі, тому вони не можуть вважатися ліцензіями вільних програм. На щастя, ці ліцензії не застосовуються в багатьох програмах.

І друге, важливіше, - багато продуктів, що містять комп'ютери (у тому числі багато пристроїв на базі Android), поставляються з виконуваними файлами програм, які відповідають вихідному коду вільних програм, але ці пристрої не дозволяють користувачеві встановлювати змінені версії цих файлів, тільки одна особлива компанія володіє правом змінювати їх. Ми називаємо ці пристрої “тиранами”, а практика називається “тівоїзація” за назвою продукту, в якому ми вперше це побачили. Ці виконувані файли не є вільними програмами, незважаючи на те, що їх вихідний код являє собою вільні програми. Критерії відкритого вихідного код не визнають цю проблему; вони розглядають виключно ліцензування вихідного коду.

Поширені помилки щодо “вільних програм” та “відкритого вихідного коду”

Термін “вільна програма” схильний до невірного тлумачення: ненавмисне значення “програма, яку ви можете отримати за нульовою ціною” підходить під цей термін разом із тлумаченням, що це “ програма, яка дає користувачеві певні свободи”. Ми вирішуємо цю проблему, публікуючи визначення вільних програм і кажучи: “Думайте про ‘вільну промову’, а не про ‘безкоштовне пиво’”. Це не ідеальне рішення; воно не може повністю усунути проблему. Однозначний і коректний термін був би кращим, якби він не містив у собі інших проблем.

На жаль, у всіх альтернатив в англійській мові є свої проблеми. Ми розглянули багато чого з того, що нам пропонували, але ніщо не було так явно “правильно”, щоб перехід на це слово було б гарною ідеєю. (Наприклад, у деяких контекстах французьке та іспанське слово “ libre” добре підходить, але в Індії люди з ним зовсім не знайомі). У кожній запропонованій заміні терміну “вільна програма” єта чи інша семантична проблема   у тому числі і у “ відкритого вихідного коду”.

Офіційне визначення “ програми з відкритим вихідним кодом” (яке опубліковано Ініціативною групою відкритого вихідного тексту і занадто довге, щоб наводити його тут) було виведене (опосередковано) із наших критеріїв вільних програм. Це не одне і теж, воно трохи ширше в деяких аспектах. Тим не менше їх визначення узгоджується з нашим у більшості випадків.

Проте очевидне значення виразу “програма з відкритим вихідним кодом” — “ви можете переглядати джерельний код”,— і більшість людей, вірогідно, думають, що воно й справді це означає. Цей критерій набагато слабший за визначення вільної програми, а також набагато слабший за офіційне визначення відкритого вихідного коду. Йому відповідає багато програм, які не є вільними програмами, а ні програмами з відкритим вихідним кодом.

Оскільки наївне тлумачення “відкритого вихідного коду” не означає того, що передбачають його захисники, це призводить до того, що більшість людей неправильно розуміють термін. За письменником Нілом Стефенсоном “Linux — це програма з ‘відкритим вихідним текстом’, тобто кожен може отримати копії файлів вихідного коду”. Я не думаю, що він навмисно прагнув спростувати чи заперечити офіційне визначення. Я вважаю, що він просто застосував правила англійської мови, щоб отримати суть терміну. Штат Канзас опублікував подібне визначення: “Застосування програм з відкритим вихідним кодом (ЗПВВК або OSS). OSS  — це програма, вихідний код якої вільно і публічно доступний, хоча різні ліцензійні угоди по-різному визначають, що дозволено робити з цим вихідним кодом”.

Нью-Йорк Таймс надрукувала статтю, яка поширює значення цього поняття на попереднє тестування користувачами  — передачу невеликому числу користувачів на пробу ранньої версії програми і отримання конфіденційних відгуків   що практикувалося розробниками невільних програм десятиліттями.

Прихильники відкритого вихідного коду намагаються боротися з цим, вказуючи на своє офіційне визначення, але для них цей коригуючий підхід менш ефективний, ніж для нас. У терміні “вільна програма” є два природних значення, одне з яких ми маємо на увазі, тому людина, який вхопила ідею “вільна мова, а не безкоштовне пиво”, ніколи більше не зрозуміє його неправильно. Термін “відкритий вихідний код” має тільки одне природне значення, і воно відмінне від значення, яке мають на увазі його прихильники. Тому немає чіткого способу пояснити і виправдати його офіційне визначення. Це призводить до ще більшої плутанини.

Ще одна омана щодо “відкритого вихідного коду ”   думка, що воно “не використовує GNU GPL”. Ця думка має тенденцію поєднуватися з іншою помилкою,  що “ вільна програма” “програма під GPL”. Ні те, ні інше не вірно, бо GNU GPL задовольняє критеріям відкритого вихідного коду, і більшість ліцензій програм з відкритим вихідним кодом можна визнати ліцензіями вільних програм. Ось тут багато ліцензій вільних програм відмінних від GNU GPL.

Поняття “відкритий вихідний код” згодом було перенесене на іншу діяльність, наприклад, державну, освітню, наукову, де такого поняття, як “вихідний код”, не існує, і де критерії ліцензування програм просто безглузді. Єдине, що об'єднує ці види діяльності — це те, що вони тим чи іншим чином запрошують людей до участі. Вони розтягнули це поняття до того, що воно означає тільки участь з боку, прозорість або навіть менше. У найгірших випадках воно стає порожнім модним слівцем.

Різні цінності можуть вести до подібних висновків… але не завжди

Радикальні групи шістдесятих років XX століття були відомі своєю схильністю до розколів: організації розбивалися через незгоди в деталях стратегії, і дві дочірні групи вважали один одного ворогами, незважаючи на те, що основні цілі та цінності у них були схожі. Праве крило всіляко роздувало це і користувалося цим для критики лівих взагалі.

Деякі намагаються применшити рух за вільне програмне забезпечення, порівнюючи наші розбіжності з “відкритим вихідним кодом” з розбіжностями між тими радикальними групами. Вони перевертають все з ніг на голову. Ми не згодні з табором відкритого вихідного тексту в основних цілях та цінностях, але їхні та наші погляди призводять у багатьох випадках до одної і тої ж практичної поведінки   такої, як розробка вільних програм.

В результаті люди з руху за вільне програмне забезпечення та з табору відкритого вихідного коду часто працюють разом над практичними проектами   такими, як розробка програм. Чудово, що такі різні філософські погляди можуть так часто мотивувати різних людей на участь в одних і тих же проектах. Проте є ситуації, в яких ці принципово різні погляди ведуть до абсолютно різних дій.

Ідея відкритого вихідного коду полягає в тому, що дозвіл користувачам змінювати і поширювати програми зробить їх ефективнішими і надійнішими. Але це не гарантовано. Розробники невільних програм не обов'язково некомпетентні. Іноді вони випускають програму, яка ефективна і надійна, хоча вона і не поважає свободу користувачів. Активісти вільного програмного забезпечення та ентузіасти відкритого вихідного коду реагують на це дуже по-різному.

Чистий ентузіаст відкритого вихідного коду   той, хто зовсім не схильний до впливу ідеалів вільного програмного забезпечення, скаже: “Я не думав, що ви зумієте змусити програму працювати так добре без застосування нашої моделі розробки, але ви це зробили. Як мені отримати копію?” Таке ставлення буде заохочувати схеми, які забирають у нас свободу, і призведе до її втрати.

Активіст вільного програмного забезпечення скаже: “Ваша програма дуже приваблива, але не варто моєї волі. Так що я обійдуся без неї. Замість цього я підтримаю проект, який розвиває вільну альтернативу вашій програмі”. Оскільки ми цінуємо свою свободу, ми повинні діяти, щоб підтримати і захистити її.

Ефективна надійна програма може бути поганою

Думка, ніби ми хочемо, щоб програми були ефективні і надійні, випливає з припущення, що вони створюються, щоб служити своїм користувачам. Якщо програма ефективна і надійна, це означає, що вона служить їм краще.

Але говорити, що програма служить своїм користувачам, можна тільки тоді, коли вона поважає свободу. Що, якщо програма розробляється для того, щоб закувати користувачів в кайдани? Тоді ефективність означає, що ланцюги тиснуть сильніше, а надійність   що їх важче скинути. Шкідливі функції на кшталт стеження за користувачами, обмеження користувачів, лазівки і примусові оновлення звичайні для невільних програм, і деякі прихильники відкритого вихідного коду намагаються реалізувати їх у програмах з відкритим вихідним кодом.

Під тиском компаній відео - і звукозапису програми для особистого користування розробляються все більшою мірою спеціально для того, щоб обмежити користувачів. Ця зловмисна риса відома як DRM, або “цифрове керування обмеженнями” (див. DefectiveByDesign.org). Ці дії суперечать духу свободи, яку вільні програми прагнуть надати. І не тільки духові: адже мета DRM полягає в тому, щоб розтоптати вашу свободу, розробники DRM намагаються ускладнити, зробити неможливим або навіть протизаконним для вас внесення змін в програму, яка реалізує DRM.

І все ж деякі прихильники відкритого вихідного коду запропонували програми з “DRM з відкритим вихідним кодом”. Їхня ідея    у тому, що, публікуючи вихідний код програм, розроблених для обмеження доступу до шифрованих носіїв, і дозволяючи іншим правити його, вони зроблять ефективніші та надійніші програми для обмеження користувачів   на кшталт вас. А потім така програма була б доставлена вам в пристроях, які не дозволяють вам змінювати її.

Ця програма могла б бути програмою з відкритим вихідним кодом і застосовувати цю модель розробки, але вона не буде вільною, бо вона не буде поважати свободу користувачів, які насправді працюють з нею. Якщо ця модель розробки дозволить програмі ефективніше і надійніше обмежувати вас, то це зробить її ще гіршою.

Страх свободи

Головна первісна мотивація тих, хто відокремився в табір відкритого вихідного коду, полягає в тому, що етичні ідеї “вільних програм” відлякують деяких людей. Це правда: піднімати такі етичні питання, як свобода, говорити про відповідальність, а не тільки про зручність, значить просити людей думати про речі, які вони, можливо, воліли б ігнорувати, наприклад, чи етичний їх спосіб життя. Це може викликати дискомфорт, і деякі можуть просто відвернутися від цього. Але з цього не випливає, що ми повинні перестати говорити про ці проблеми.

Саме це вирішили зробити лідери відкритого вихідного коду. Вони зрозуміли, що замовчуючи про етику та свободи і говорячи тільки про негайні практичні вигоди визначених вільних програм, вони могли б ефективніше “пропонувати” ці програми певним користувачам, особливо підприємцям.

Цей підхід виявився ефективним з його власної точки зору. Гасла відкритого вихідного коду переконали багато підприємств і приватних осіб використовувати і навіть розвивати вільні програми, що розсунуло рамки нашої спільноти, але тільки на поверхневому, практичному рівні. Філософія відкритого вихідного коду з її чисто практичними цінностями перешкоджає розумінню глибоких ідей вільного програмного забезпечення; вона приводить багатьох людей в нашу громаду, але не вчить їх захищати його. Це само по собі добре, але цього не достатньо, щоб забезпечити свободу. Залучення користувачів до вільних програм відкриває їм лише частину шляху, на якому вони стають захисниками своєї власної свободи.

Рано чи пізно цих користувачів запросять повернутися назад до невільних програм заради якої-небудь практичної вигоди. Незліченні компанії прагнуть запропонувати таку спокуса, деякі навіть пропонують безкоштовні копії. В якому випадку користувачі будуть відмовлятися? Тільки якщо вони навчилися цінувати свободу, яку їм дають вільні програми,— цінувати свободу як таку, а не технічні і практичні зручності конкретної вільної програми. Щоб донести цю думку, нам необхідно говорити про свободу. Підхід “замовчування” по відношенню до підприємців певною мірою може бути корисний для спільноти, але це небезпечно, якщо стає настільки звичним, що любов до свободи починають вважати ексцентричністю.

Ця небезпечна ситуація   є те, що ми маємо. Більшість людей, що займаються вільними програмами, особливо постачальники, мало говорять про свободу   зазвичай через прагнення бути “ прийнятнішими для ділових кіл”. Майже всі дистрибутиви операційної системи GNU/Linux додають невільні пакети програм до основної вільної системи, і вони запрошують користувачів розглядати це як перевагу, а не недолік.

Невільні додаткові програми і частково невільні дистрибутиви операційної системи GNU/Linux знаходять благодатний ґрунт тому, що більшість учасників у нашій громаді не наполягають на свободі своїх програм. Це не випадково. Більшість користувачів GNU/Linux познайомилося з системою через обговорення “відкритого вихідного коду”, в ході якого не говориться, що свобода — це мета. Підходи, які не відстоюють свободу, і слова, які не говорять про свободу, йдуть пліч-о-пліч, підтримуючи один одного. Щоб подолати цю тенденцію, нам потрібно більше, а не менше, говорити про свободу.

“FLOSS” та “FOSS”

Вирази “FLOSS” і “FOSS” використовуються, щоб зберігати нейтралітет між вільними програми і відкритим вихідним кодом. Якщо ваша мета - нейтралітет, то “FLOSS” досягає цього краще, ніж “FOSS”, бо він справді нейтральний. Але якщо ви хочете відстоювати свободу, то ці нейтральні вирази вам не підійдуть. У цьому випадку вам потрібно показувати людям, що ви виступаєте за підтримку свободи.

Висновок

Коли прихильники відкритого вихідного коду втягують нових користувачів у нашу громаду, ми, активісти вільного програмного забезпечення, повинні взяти на свої плечі завдання залучення їх уваги до питання свободи. Частіше і голосніше, ніж коли-небудь, ми повинні говорити: “Це вільна програма, вона дає вам свободу!” Щоразу, коли ви говорите “вільна програма”, а не “відкритий вихідний код”, ви допомагаєте нашій кампанії.

Примітки

Робота Лакхані і Вольфа про мотивації розробників вільного програмного забезпечення говорить, що для значної їх частини мотивом були погляди, згідно яких програми повинні бути вільними. І це незважаючи на те, що вони опитували розробників на SourceForge   сайті, який не поділяє думки про те, що це   питання етики.

[логотип ФВПЗ]“Наша місія    збереження, захист та підтримка свободи використання, вивчення, модифікації, копіювання і розповсюдження комп'ютерних програм, а також захист прав користувачів вільних програм”.

Фонд вільного програмного забезпечення - це провідна організація, відповідальна за розробку операційної системи GNU. Підтримайте GNU і ФВПЗ покупкою посібників і інших товарів, приєднанням до ФВПЗ в якості члена-партнера або пожертвуваннями прямо у фонд чи черезFlattr.

перейти на початок