Цей переклад може не відображати змін, внесених із 2021-07-21 у англійський оригінал.
Ви можете поглянути на ці зміни. Будь-ласка перегляньте файл README стосовно перекладів для того, щоб отримати інформацію про координування перекладів цієї статті.
Копілефт: прагматична принциповість
Кожне рішення, яке приймає особистість, виникає з цінностей і цілейцієї особистості. У людей може бути багато різних цілей і цінностей; слава,прибуток, любов, виживання, розвага і свобода — ось тількидеякі з цілей, які можуть бути у доброчесної людини. Колимета є справою принципу, ми називаємо це принциповістю.
Моя робота над вільними програмами мотивується ідеалістичною метою розширенням свободи і співпраці. Я хочу сприяти поширенню вільних програм, замінюючи невільні програми, які забороняють співпрацю, і таким чином покращувати наше суспільство.
У цьому полягає основна причина, по якій Загальна громадська ліцензія GNU написана так, як вона написана — як реалізація копілефту. Всі вихідні коди, додані до програми під GPL, повинні бути вільними програмами, навіть якщо їх розміщують в окремому файлі. Я роблю так, що мої тексти доступні для застосування у вільних програмах, але не для застосування в невільних програмах, щоб заохочувати інших людей, які пишуть програми, теж робити їх вільними. Я розумію, що оскільки розробники невільних програм застосовують авторське право, щоб не давати нам обмінюватися, то ми, співпрацюючи з іншими, можемо застосовувати авторське право, щоб дати їм перевагу як людям, які співпрацюють з нами: вони можуть користуватися нашими вихідними кодами.
Не всякий, хто користується GNU GPL, переслідує цю мету. Багато років тому одного мого знайомого попросили перевипустити програму з копілефтом на умовах без копілефту і він відповів приблизно так:
“Іноді я працюю над вільними програмами, а іноді я працюю над невільними програмами — але коли я працюю над невільними програмами, я очікую, що мені заплатять”.
У нього було бажання обмінюватися своєю роботою з спільнотою, яка обмінюється програмами, але він не бачив причин віддавати її підприємству, що випускає продукцію, яка б перебувала за межами нашої спільноти. Його мета була відмінна від моєї, але він вирішив, що GNU GPL корисна і для його мети.
Якщо ви хочете в цьому світі чогось досягти, принциповості не достатньо вам потрібно вибрати метод, який підходить для досягнення мети. Іншими словами, вам потрібно бути “прагматичним”. Чи прагматична GPL? Звернемося до результатів.
Розглянемо C++ GNU. Чому у нас є вільний компілятор C++? Тільки тому, що в GNU GPL було сказано, що він повинен бути вільний. C++ GNU був розроблений промисловим об'єднанням, MCC, яке взяло за основу компілятор C GNU. MCC, як правило, робить свою роботу якомога більше невільною. Але вони зробили інтерфейс C++ вільною програмою, бо в GNU GPL було сказано, що вони його можуть випускати тільки так. У інтерфейс C++ входило багато нових файлів, але вони призначалися для компонування з GCC, тому GPL на них поширювалася. Користь для нашої спільноти очевидна.
Розглянемо Objective C GNU. Спочатку в NeXT хотіли зробити цей інтерфейс невільним; вони пропонували випускати його як файли .о і давати користувачам компонувати їх з рештою GCC, думаючи, що таким способом можна обійти вимоги GPL. Але наш юрист сказав, що це не зніме вимогу про заборону цього. Тому вони зробили інтерфейс Objective C вільною програмою.
Цим прикладам вже кілька років, але GNU GPL продовжує приносити нам нові вільні програми.
Багато бібліотек GNU поширюються по Меншій загальні громадській ліцензії GNU, але не всі. Однією з бібліотек GNU, на які поширюється звичайна GNU GPL, є GNU Readline, яка реалізує редагування командного рядка. Одного разу я дізнався про невільну програму, яка була спроектована для використання з Readline, і сказав розробнику, що це не дозволено. Він міг би видалити редагування командного рядка програми, але насправді він в кінці кінців перевипустив її під GPL. Тепер це вільна програма.
Програмісти, що пишуть поліпшення GCC (або Emacs, або Bash, або Linux, або будь-якої програми під GPL), часто працюють на компанії або університети. Коли програміст хоче повернути свої поліпшення в співтовариство і побачити свої тексти у наступному випуску, шеф може сказати: “Постривай-но твої тексти належать нам! Ми не хочемо обмінюватися ними; ми вирішили обернути твою поліпшену версію у невільний програмний продукт”.
І тут приходить на допомогу GNU GPL. Програміст показує шефові, що цей невільний програмний продукт був би порушенням авторських прав, і шеф усвідомлює, що у нього є тільки два вибори: випустити нові програми як вільні або не випускати їх взагалі. Майже завжди він дозволяє програмісту вчинити так, як той весь час мав намір, і ці програми включаються в черговий випуск.
GNU GPL не “добрий дядько”. Вона говорить нідечому з того, що люди іноді хочуть зробити. Є користувачі, які кажуть, що це погано що GPL “виключає” деяких розробників вільних програм, яких “потрібно ввести у спільноту вільного програмного забезпечення”.
Але ми не виключаємо їх з нашого громади; це вони вирішують не вступати. Їх рішення зробити програми невільними — це рішення залишатися поза нашою спільноти. Перебувати в нашій громаді означає приєднуватися до нам у співпраці; ми не можемо “ввести їх у нашу громаду ”, якщо вони не бажають приєднуватися.
Що ми можемо робити — це пропонувати їм стимул для приєднання. GNU GPL складена так, щоб створювати стимул з допомогою наших існуючих програм: “Якщо ви зробите свої програми вільними, ви можете користуватися цим вихідним кодом”. Звичайно, це не завоює їх усіх, але час від часу це перемагає.
Розробка невільних програм не є внеском у нашу громаду, але їх розробники часто просять у нас подачок. Користувачі вільних програм можуть запропонувати винагороду для самолюбства вільних розробників програм визнання і подяку — але може бути дуже заманливо, коли підприємство говорить вам: “Тільки дайте нам перетворити ваш пакет у власницьку програму, і вашою програмою буде користуватися багато тисяч людей!” Спокуса може бути великою, але в довгостроковій перспективі нам всім буде краще, якщо ми будемо з цим боротися.
Спокуса і тиск важче розпізнати, коли вони вводяться побічно, через організації, що займаються вільними програмами, які взяли за правило потурати невільним програмам. Наочний приклад — Консорціум X (і його спадкоємець, Open Group): фінансовані компаніями, які виробляли невільні програми, вони більше десяти років прагнули переконати програмістів не користуватися копілефтом. Коли в Open Group спробували зробити X11R6.4 невільним програмним забезпеченням, ті з нас, хто перед тим чинив опір цьому тиску, були раді, що ми це зробили.
У вересні 1998 року, через кілька місяців після того, як система X11R6.4 була випущена під невільними умовами поширення, Open Group скасувала своє рішення і перевипустила під тією ж ліцензією вільних програм без копілефту, який застосовувалася для X11R6.3. Спасибі, Open Group — але це наступне скасування не спростовує висновків, які ми робимо з того факту, що додавання обмежень було можливим.
Кажучи прагматично, роздуми про довгострокові цілі підсилюють вашу волю до протистояння цьому тиску. Якщо ви зосередите свої думки на свободі і спільноті, яке ви можете побудувати, залишаючись непохитним, ви знайдете в собі сили для цього. “Відстоюйте що-небудь, або ви залишитеся ні з чим”.
А якщо циніки висміюють свободу, то висміюють громаду... якщо “твердолобі реалісти” кажуть, що немає ніяких ідеалів, крім прибутку... просто не звертайте на них уваги і все одно користуйтеся копілефтом.
Цей нарис був опублікований у книзі Вільні програми вільне суспільство: Вибрані нариси Річарда М. Столмена.