Вільне програмне забезпечення ще важливішим зараз

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

Суттєво відредагована версія статті була опублікована у Ваєред.

Чим ви можете допомогти руху за вільні програми.

Із 1983 рух за вільне програмне забезпечення проводив кампанія за свободу комп'ютерних користувачів — щоби користувачі управляли програмами, якими вони користуються, а не навпаки. Коли програма поважає свободу користувачів та громади, то вона називається “вільною програмою.”

Ми також називаємо такі програми “вільними” підкреслюючи, що ми говоримо про свободу, а не вартість. Деякі невільні програми, такі як Photoshop, дуже дорогі; інші, такі як Flash Player, доступні безкоштовно — у будь-якому випадку вони підпорядковують своїх користувачів владі власника програми, а цієї влади ніхто не повинен мати.

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

Із вільним програмним забезпеченням користувачі контролюють програму, як окремо, так і гуртом. Тому вони контролюють, що їхні комп'ютери чинять (передбачається, що ці комп'ютери лояльні і працюють згідно із вказівок програм користувача).

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

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

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

Для того, щоб користувачі контролювали програму, потрібні чотири найважливіших свободи.

(0) Свобода виконувати програму як вам завгодно, в будь-яких цілях.

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

(2) Свобода копіювати і поширювати вільні копії коли вам завгодно. (Це не обов'язок; ви робите це на власний вибір. Якщо програма вільна, це не означає, що хтось зобов'язаний пропонувати вам копію або що ви зобов'язані пропонувати йому копію. Поширення серед користувачів програми без свободи несправедливо по відношенню до них; проте рішення не поширювати програму   користуватися нею приватним порядком — не пов'язане з несправедливістю у відношенні кого-небудь.)

(3) Свобода копіювати і поширювати свої змінені версії, коли вам завгодно.

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

Для практичної діяльності застосовуються також інші види робіт, у тому числі рецепти приготування страв, такі освітні роботи, як підручники, такі довідкові роботи, як словники та енциклопедії, а також шрифти для відображення абзаців тексту, електричні схеми, за якими люди роблять апаратуру, взірці для виготовлення прикладних (не тільки декоративних) об'єктів на тривимірному принтері. Оскільки це не програми, рух за вільні програми, строго кажучи, на них не поширюється; однак до них застосовні ті ж самі міркування, які приводять до того ж самому висновку: ці твори повинні нести ті ж чотири свободи.

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

Несправедливість закритих програм

Якщо користувачі не контролюють програму, програма контролює користувачів. Якщо програма невільна, то існує якась особа, “власник” програми, яка контролює програму — і таким чином здійснює владу над її користувачами. Невільна програма   ярмо, знаряддя несправедливої влади.

У обурливих випадках (хоча такі випадки стали цілком звичайними) невільні програми складають так, щоб вони шпигували за користувачами, обмежували їх, піддавали цензурі і зловживали ними. Наприклад, операційна система Apple iThings робить все це, як і Windows на мобільних пристроях з процесорами ARM. У Windows, вбудованих програмах мобільних телефонів і Google Chrome для Windows є універсальний чорний хід, який дозволяє деякій компанії віддалено змінювати програми, не питаючи дозволу. У Amazon Kindle є чорний хід для видалення книг.

Застосування невільних програм в “Інтернеті речей” перетворило б його на “Інтернет телеторговців”, а також на “Інтернет вивідувачів”.

З метою покінчити з несправедливістю невільних програм рух за вільні програми розробляє вільні програми з тим, щоб користувачі могли звільнити себе. Ми приступили до цього в 1984 році, розробляючи вільну операційну систему GNU. Сьогодні GNU працює на мільйонах комп'ютерів, головним чином у вигляді комбінації GNU/Linux.

Передача програми користувачам без свободи несправедлива по відношенню до ним; проте рішення не поширювати програму не пов'язане з несправедливістю у відношенні до кого-небудь. Якщо ви пишете програму і користуєтеся нею приватним чином, то це не робить іншим нічого поганого (ви втрачаєте можливість зробити добро, але це не те ж саме, що робити зло). Таким чином, коли ми говоримо, що всі програми повинні бути вільні, ми маємо на увазі, що кожна копія повинна приходити з чотирма свободами, але не маємо на увазі, що у когсь є обов'язок пропонувати вам копію.

Невільні програми і послуга підміни програм

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

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

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

Первинні і вторинні несправедливості

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

Відомі випадки, коли користування невільними програмами надає прямий тиск, який змушує інших робити те ж саме. Характерний приклад — Skype: коли одна людина користується невільною програмою-клієнтом Skype, від іншої людини теж потрібно користуватися цією програмою — таким чином обидва поступаються своєю свободу (ця ж проблема є у Google Hangouts). Користуватися такими програмами не можна навіть пропонувати. Ми повинні відмовлятися від користування такими програмами навіть на короткий термін, навіть на чужому комп'ютері.

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

Усі форми непрямої шкоди посилюються, коли користувач представляє собою громадську установу чи навчальний заклад.

Вільні програми і держава

Громадські органи існують для народу, а не самі для себе. Коли вони проводять обчислення, вони роблять це для народу. Їхній обов'язок — підтримувати повний контроль над цими обчисленнями, щоб вони могли гарантувати, що вони проводяться для народу належним чином (в цьому полягає обчислювальний суверенітет держави). Вони ніколи не повинні допускати, щоб контроль над державними обчисленнями потрапив у приватні руки.

Щоб підтримувати контроль над народними обчисленнями, громадські органи не повинні робити це за допомогою невільних програм (програм, контрольованих ще кимось, крім держави). І вони не повинні довіряти обчислення службам, запрограмованим і керованим кимось, відмінним від держави, позаяк це була б послуга-підміни програми.

В одному життєво важливому випадку у невільної програми немає взагалі ніякого захисту — при захисті від її розробника. А розробник може допомагати іншим обходити заходи безпеки. Microsoft показує помилки в Windows АНБ (державному агентству цифрового шпигунства США), перед тим як їх виправити. Ми не знаємо, чи так само чинить Apple, але ця компанія знаходиться під таким же тиском держави, як і Microsoft. Якщо уряд будь-якої іншої країни користується такими програмами, то це ставить під загрозу національну безпеку. Ви хочете, щоб АНБ зламала комп'ютери вашого уряду?Див. наші рекомендації щодо державної політики із підтримки вільних програм.

Вільні програми і освіта

Школи (тобто вся освітня діяльність) впливають на майбутнє суспільства за допомогою того, чого вони навчають. Вони повинні навчати виключно вільним програмам, щоб використовувати свій вплив на благо. Навчати невільної програми — все одно що прищеплювати залежність, а це йде врозріз із завданнями освіти. Навчаючи користуватися вільними програмами, школи будуть спрямовувати суспільство до вільного майбутнього і допомагати талановитим програмістам опанувати цією майстерністю.

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

Розробники невільних програм хотіли б, щоб ми карали учнів, у яких в душі досить добра, щоб обмінюватися програмами і припиняти дії тих, хто досить цікавий і хоче змінити програми. Це погана освіта. Докладніше про застосування вільних програм у школах йдеться на http://www.gnu.org/education/.

Вільні програми: не просто “переваги”

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

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

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

Висновок

Ми заслуговуємо контролю над своїми власними обчисленнями; як нам завоювати цей контроль? Відмовою від невільних програм на комп'ютерах, якими ми володіємо або регулярно користуємося, і відмовою від послуг підміни програм. Розробкою вільних програм (для тих з нас, хто вміє програмувати). Відмовою розвивати невільні програми або послуги підміни програм, а також сприяти їм. Поширенням цих ідей у суспільстві.

Разом з тисячами користувачів ми робимо це з 1984 року, і саме тому у нас тепер є вільна операційна система GNU/Linux, якою може користуватися кожен — і програміст, і непрограміст. Вступайте в наші ряди в якості програміста або активіста. Зробимо вільними всіх користувачів комп'ютерів!