Пастка X Window System
Річард СтолменКопілефт чи не копілефт? Одне з вічних питань для спільноти вільного програмного забезпечення. Ідея копілефту полягає в тому, що на вогонь слід відповідати вогнем, тобто що нам слід підкріплювати свободу нашого коду авторським правом. Загальна громадська ліцензія GNU (GNU GPL) — один із прикладів ліцензій із копілефтом.
Деякі розробниці й розробники вільних програм надають перевагу розповсюдженню без копілефту. XFree86, BSD та інші ліцензії без копілефту ґрунтуються в ідеї не відмовляти нікому — навіть тим, хто прагне покласти вашу роботу в основу обмеження інших. Ліцензуючи без копілефту, ви нікому не шкодите, але втрачаєте нагоду активно захистити нашу з вами свободу змінювати й поширювати програмне забезпечення. Таку нагоду нам забезпечує копілефт.
Багато років Консорціум X був головним опонентом копілефту. Він як наводив моральні аргументи, так і чинив тиск, аби розробниці й розробники вільних програм відмовлялись захищати свої програми копілефтом. Моральні аргументи зводились до того, що відмовляти негарно. Тиск мав той вигляд, що дистрибутив X відмовляв у доданні програм із копілефтом.
Чому Консорціум X запровадив таку політику? Бо успіхом можливо вважати різні речі. Консорціум X тлумачив успіх як популярність, а саме як корпоративне поширення X Window System (базових функцій для графічних інтерфейсів). Це означення надавало владу IT-компаніям: чого вони прагнули, в тому їм і допомагав Консорціум X.
Зазвичай IT-компанії продають власницькі програми. Вони прагнули, щоб розробниці й розробники вільних програм жертвували їм свої роботи. Пряме прохання так вчинити люди зустрічали б сміхом. Але Консорціум X зумів презентувати таке прохання як альтруїстичне. «Жертвуймо разом свої роботи виробництвам власницьких програм» — ніби це шляхетна самопожертва. «Ставаймо популярними разом» — ніби на пожертвуванні взагалі не слід наголошувати.
Але суть не в самопожертві: відкидаючи захист копілефту — зброї захисту свободи цілої спільноти — ви жертвуєте не лише власною свободою. Ті, хто виконали прохання Консорціуму X, довірили цим майбутнє своїх спільнот добрій волі Консорціуму X.
Ця довіра не виправдалась. В останній рік існування Консорціум X вирішив обмежити планований випуск X11R6.4 — зробити його невільним програмним забезпеченням. (Прим. пер.: учасники Консорціуму — великий бізнес — почали стягувати плату за будь-яке комерційне використання відкритого коду з менших підприємств.) Цим вони пішли наперекір тій своїй позиції, що відмовляти негарно, й почали відмовляти — не так виробництвам власницьких програм, як власне нашій спільноті.
Іронія тут ось у чому. Якщо ви погодились, коли Консорціум X попрохав вас не застосовувати копілефт, то ви надали Консорціуму X владу ліцензувати та обмежувати їхні версії вашої програми, як і весь код ядра X.
Консорціум X не здійснив цього задуму сам, а закрився й передав розробку X організації Open Group, працівниці й працівники якої власне цим шляхом і пішли. Маю відзначити, що коли я попрохав їх випустити X11R6.4 під GNU GPL паралельно з планованою обмежувальною ліцензією, то вони справді подумали над такою ідеєю. (Їх не влаштовували старі умови розповсюдження X11.) Щоправда, ні втілити, ні відхилити її вони не змогли, бо конкурентна їм група XFree86 не припиняла дотримувати старої політики Консорціуму X і відхиляла програми з копілефтом.
У вересні 1998, за кілька місяців після випуску X11R6.4 на невільних умовах розповсюдження, Open Group обернула своє рішення й заново випустила цю версію під тою ж вільною ліцензію програм без копілефту, яку було використано для X11R6.3. Отож, Open Group зрештою пішли правильним шляхом, але загальної проблеми це не розв'язує.
Навіть якби Консорціум X і Open Group ніколи не вирішували обмежувати X, зробити це могли б інші. Програми без копілефту вразливі до будь-чийого впливу: вони дають змогу невільним версіям домінувати, щойно хтось вкладає достатньо ресурсів у додання суттєво важливих функцій власницьким кодом. Користувачок й користувачів, які обирають програми за технічні властивості, а не за свободи, невільна версія легко заманює короткостроковою зручністю.
Консорціум X і Open Group втратили моральне право казати, що відмовляти негарно. Тепер вам легше ухвалити рішення захистити копілефтом свою пов'язану з X програму.
Коли ви працюєте над ядром X: над такими програмами, як сервер X, Xlib і Xt
— є практична підстава не застосовувати копілефт. Група X.org виконує
важливу для спільноти роботу з супроводу цих програм, і користі від
застосування копілефту до наших нових змін було б менше, ніж шкоди від ще
одного відгалуження розробки. Тож із їхніми програмами варто продовжувати
працювати без застосування до них копілефту. Це стосується й таких утиліт,
як xset
і xrdb
— близьких до X і вже допрацьованих
без потреби у великих удосконаленнях. Принаймні ми бачимо, що група X.org
дотримує обіцянки продовжувати розробку цих програм як вільного програмного
забезпечення.
Натомість із програмами за межами ядра X ситуація протилежна. Нема підстав відмовлятися захищати копілефтом застосунки, менеджери вікон, додаткові бібліотеки й віджети. Тож нам слід застосовувати до них копілефт.
Тиск критеріїв додання в дистрибутиви X досить відчутний, тож проєкт GNU береться інформувати загал про сумісні з X пакунки з копілефтом. Якщо бажаєте застосувати до чогось копілефт і непокоїтесь, що відсутність вашої розробки в дистрибутиві X завадить її популярності, будь ласка, зверніться до нас по допомогу.
У той же час краще не перейматись популярністю аж настільки. Коли хтось заманює вас «додатковою популярністю», то вас імовірно пробують переконати, ніби ваша програма лише тоді буде успішна, якщо вони нею користуватимуться. Не вірте! Якщо ваша програма хороша, її все одно багато хто знайде; вам не слід відчайдушно гнатись за тою чи іншою авдиторією, і відмова посилить вашу позицію. Неймовірне відчуття радості й свободи приносить змога відповісти: «Або такі умови, або проходь повз; мені від того ні холодно ні жарко». Часто підприємства все ж погоджуються на програму з копілефтом, коли ви не ведетесь на блеф.
Подруги й друзі, розробниці й розробники вільних програм, не повторюйте старих помилок! Якщо не застосовувати до наших програм копілефт, вирішальну роль у їхньому майбутньому зіграє будь-хто, в кого виявиться більше коштів, ніж етики. Копілефт дає нам змогу захищати свободу — не лише нашу власну, але й усієї спільноти.