Free as in Freedom на рускай: Кіраўнік 7. Дылема абсалютнай маралі


Free as in Freedom на рускай: Кіраўнік 7. Дылема абсалютнай маралі

Free as in Freedom на рускай: Кіраўнік 1. Фатальны прынтэр


Free as in Freedom на рускай: Кіраўнік 2. 2001: Хакерская адысея


Free as in Freedom на рускай: Кіраўнік 3. Партрэт хакера ў юнацтве


Free as in Freedom на рускай: Кіраўнік 4. Развенчай бога


Free as in Freedom на рускай: Кіраўнік 5. Ручаёк свабоды


Free as in Freedom на рускай: Кіраўнік 6. Камуна Emacs

Дылема абсалютнай маралі

А палове на першую ночы 27 верасня 1983 года ў Usenet-групе net.unix-wizards з'явілася незвычайнае паведамленне за подпісам rms@mit-oz. Паведамленне звалася сцісла і вельмі павабна: "Новая рэалізацыя UNIX". Але замест нейкай гатовай новай версіі Unix чытач выяўляў заклік:

У гэты Дзень Падзякі я пачынаю пісаць новую, цалкам сумяшчальную з Unix аперацыйную сістэму, якая будзе звацца GNU (GNU's Not Unix). Я буду свабодна раздаваць яе ўсім ахвочым. Мне вельмі патрэбны ваш час, грошы, код, абсталяванне - любая дапамога.

У вачах дасведчанага Unix-распрацоўніка паведамленне выглядала сумессю ідэалізму з высокай ганарлівасцю. Аўтар не проста браўся ўзнавіць з нуля цэлую аперацыйную сістэму, вельмі развітую і магутную, але яшчэ і палепшыць яе. Сістэма GNU павінна была мясціць у сябе ўсе патрэбныя кампаненты накшталт тэкставага рэдактара, каманднай абалонкі, кампілятара, а таксама "шэраг іншых рэчаў". Абяцаліся і вельмі прывабныя магчымасці, якіх не было ў існых Unix-сістэмах: графічны інтэрфейс на мове праграмавання Lisp, устойлівая да збояў файлавая сістэма, сеткавыя пратаколы на аснове сеткавай архітэктуры МТІ.

"GNU зможа запускаць Unix-праграмы, але не будзе ідэнтычны сістэме Unix, – пісаў аўтар, – мы зробім усе патрэбныя паляпшэнні, якія наспелі за гады працы ў розных аперацыйных сістэмах".

Прадбачачы скептычную рэакцыю на сваё паведамленне, аўтар дапоўніў яго кароткім аўтабіяграфічным адступленнем пад загалоўкам: «Хто я такі?»:

Я Рычард Столман, стваральнік арыгінальнага рэдактара EMACS, адзін з клонаў якога вы, напэўна, сустракалі. Працую ў Лабараторыі ІІ Масачусецкага тэхналагічнага інстытута. Маю вялікі досвед распрацоўкі кампілятараў, рэдактараў, адладчыкаў, камандных інтэрпрэтатараў, аперацыйных сістэм ITS і Lisp Machine. Рэалізаваў незалежную ад тэрміналаў падтрымку экрана ў ITS, а таксама адмоваўстойлівасць файлавую сістэму і дзве аконныя сістэмы для Lisp-машын.

Так ужо выйшла, што забаўны праект Столмана стартаваў не ў Дзень Падзякі, як абяцалася. Толькі ў студзені 1984 гады Рычард з галавой пагрузіўся ў распрацоўку праграмнага забеспячэння ў стылі Unix. З пункту гледжання сістэмнага архітэктара ITS, гэта было ўсё роўна што перайсці ад узвядзення маўрытанскіх палацаў да будаўніцтва прыгарадных гандлёвых цэнтраў. Зрэшты, распрацоўка Unix-сістэмы адчыняла і перавагі. ITS, пры ўсёй сваёй моцы, мела слабое месца - працавала толькі на кампутары PDP-10 ад кампаніі DEC. У пачатку 80-х гадоў Лабараторыя адмовілася ад PDP-10, і ITS, якую хакеры параўноўвалі з ажыўленым горадам, ператварылася ў горад-прывід. Unix жа быў першапачаткова распрацаваны з прыцэлам на пераноснасць з адной кампутарнай архітэктуры на іншую, так што падобныя беды яму не пагражалі. Распрацаваны малодшымі навуковымі супрацоўнікамі AT&T, Unix праслізнуў міма карпаратыўных радараў і знайшоў спакойнае прыстанак у некамерцыйным свеце навуковых цэнтраў. Маючы менш рэсурсаў, чым іх субраты-хакеры ў МТІ, распрацоўшчыкі Unix прыстасавалі сваю сістэму да працы на заапарку рознагатунковага абсталявання. Галоўным чынам - на 16-бітнай PDP-11, якую хакеры Лабараторыі лічылі непрыдатнай для сур'ёзных задач, але таксама і на 32-бітных мэйнфрэймах накшталт VAX 11/780. Да 1983 году такія кампаніі, як Sun Microsystems, стварылі адносна кампактныя настольныя кампутары – "працоўныя станцыі", параўнальныя па магутнасці са старым мэйнфрэймам PDP-10. На гэтых працоўных станцыях таксама пасяліўся ўсюдыісны Unix.

Пераноснасць Unix забяспечвалася дадатковым пластом абстракцыі паміж прыкладаннямі і абсталяваннем. Замест таго, каб пісаць праграмы ў машынных кодах канкрэтнага кампутара, як гэта рабілі хакеры Лабараторыі, распрацоўваючы праграмы для ITS на PDP-10, распрацоўнікі Unix выкарыстоўвалі высокаўзроўневую мову праграмавання З, які не быў прывязаны да пэўнай апаратнай платформы. Пры гэтым распрацоўнікі засяродзілі ўвагу на стандартызацыі інтэрфейсаў, праз якія часткі аперацыйнай сістэмы ўзаемадзейнічалі сябар з сябрам. У выніку атрымалася сістэма, дзе любую частку можна было перарабіць, не закранаючы ўсе астатнія часткі і не парушаючы іх працу. І каб перанесці сістэму з адной апаратнай архітэктуры на іншую, таксама дастаткова было перарабіць толькі адну частку сістэмы, а не перапісваць яе ўсю цалкам. Адмыслоўцы па добрай якасці ацанілі такі фантастычны ўзровень гнуткасці і выгоды, таму Unix хутка распаўсюдзіўся па кампутарным свеце.

Столман вырашыў стварыць сістэму GNU з-за смерці ITS, каханага стварэння хакераў Лабараторыі ІІ. Смерць ITS была ўдарам для іх, у тым ліку і для Рычарда. Калі гісторыя з лазерным друкаркай Xerox адкрыла яму вочы на ​​несправядлівасць уласніцкіх ліцэнзій, то скон ITS падштурхнула яго ад непрымання зачыненага софту да актыўнага процідзеяння яму.

Прычыны гібелі ITS, як і яе код, адыходзілі далёка ў мінулае. Да 1980 году большасць хакераў Лабараторыі ўжо працавалі над Lisp-машынай і аперацыйнай сістэмай для яе.

Lisp - элегантная мова праграмавання, выдатна прыдатны для працы з дадзенымі, структура якіх загадзя невядомая. Яго стварыў піянер даследаванняў штучнага інтэлекту і стваральнік самага тэрміна "штучны інтэлект" Джон Макарці, які працаваў у МТІ ў другой палове 50-х гадоў. Назва мовы - скарачэнне ад "LISt Processing" або "апрацоўка спісаў". Пасля таго, як Макарці сышоў з МТІ ў Стэнфард, хакеры Лабараторыі некалькі змянілі Lisp, стварыўшы яго местачковы дыялект MACLISP, дзе першыя 3 літары пазначалі праект MAC, дзякуючы якому, уласна, і з'явілася Лабараторыя ІІ ў МТІ. Пад кіраўніцтвам сістэмнага архітэктара Рычарда Грынблата хакеры Лабараторыі распрацавалі Lisp-машыну - спецыяльны кампутар для выканання праграм на мове Lisp, а таксама аперацыйную сістэму для гэтага кампутара - таксама, вядома, напісаную на Lisp.

Да пачатку 80-х гадоў канкуруючыя групы хакераў заснавалі дзве кампаніі па вытворчасці і продажы Lisp-машын. Кампанія Грынблатта звалася Lisp Machines Incorporated ці проста LMI. Ён разлічваў абысціся без знешніх інвестыцый і стварыць чыста "хакерскую кампанію". Але большасць хакераў далучыліся да Symbolics, звычайнаму камерцыйнаму стартапу. У 1982 годзе яны ўжо поўнасцю пакінулі МТІ.

Тых, хто застаўся, можна было па пальцах адной рукі пералічыць, так што праграмы і машыны чыніліся ўсё даўжэй і даўжэй, ці не чыніліся зусім. І што горш за ўсё, па словах Столмана - у Лабараторыі пачаліся «дэмаграфічныя змены». Хакеры, якія і раней былі ў меншасці, амаль зніклі, пакінуўшы Лабараторыю ў поўнае распараджэнне выкладчыкаў і студэнтаў, чыё стаўленне да PDP-10 было адкрыта непрыязным.

У 1982 годзе Лабараторыя ІІ атрымала замену свайму 12-гадоваму PDP-10 – DECSYSTEM 20. Прыкладанні, напісаныя для PDP-10, працавалі на новым кампутары без праблем, таму што DECSYSTEM 20 быў, у сутнасці, абноўленым PDP-10, але вось ранейшая аперацыйная сістэма зусім не падыходзіла - ITS трэба было партаваць на новы кампутар, а значыць - амаль цалкам перапісаць. І гэта ў той час, калі з Лабараторыі сышлі амаль усе хакеры, якія б маглі гэтым заняцца. Так што на новым кампутары хутка запанавала камерцыйная аперацыйная сістэма Twenex. Нямногія хакеры, што засталіся ў МТІ, маглі толькі змірыцца з гэтым.

"Без хакераў, якія пацягнулі б стварэнне і суправаджэнне аперацыйнай сістэмы, мы асуджаныя, – казалі супрацоўнікі факультэта і студэнты, – нам патрэбна камерцыйная сістэма, якую падтрымлівае якая-небудзь кампанія, каб яна сама вырашала праблемы з гэтай сістэмай". Столман успамінае, што гэты аргумент аказаўся жорсткай памылкай, але ў той момант ён гучаў пераканаўча.

Спачатку хакеры бачылі ў Twenex чарговае ўвасабленне аўтарытарнай карпакратыі, якое так і жадалася зламаць. Нават у назове адбілася непрыязнасць хакераў – наогул-то, сістэма звалася TOPS-20, паказваючы на ​​пераемнасць з TOPS-10, таксама камерцыйнай сістэмай DEC для PDP-10. Але архітэктурна TOPS-20 не мела нічога агульнага з TOPS-10. Яе зрабілі на аснове сістэмы Tenex, якую кампанія Bolt, Beranek і Newman распрацавала для PDP-10. . Зваць сістэму "Twenex" пачаў Столман, проста каб не называць яе TOPS-20. «Сістэме было далёка да топавых рашэнняў, так што зваць яе афіцыйным імем мова не паварочвалася, – успамінае Столман, – таму я ўставіў у 'Tenex' літару 'w', каб атрымалася 'Twenex'». (Гэта назва абгульвае слова "twenty", г.зн. "дваццаць")

Кампутар, на якім працаваў Twenex/TOPS-20, іранічна звалі "Оз". Справа ў тым, што DECSYSTEM 20 патрабаваў маленькую машыну PDP-11 для працы тэрмінала. Адзін хакер, упершыню ўбачыўшы падлучэнне PDP-11 да гэтага кампутара, параўнаў гэта з пафасным уяўленнем Чараўніка з краіны Оз. «Я вялікі і жудасны Оз! - Прадэкламаваў ён. – Толькі не глядзіце на драбязу, ад якой я працую».

А вось у аперацыйнай сістэме новага кампутара не было ўжо нічога смешнага. Бяспека і кантроль доступу былі ўбудаваны ў Twenex на базавым узроўні, і яе ўтыліты з прыкладаннямі таксама былі распрацаваны з улікам бяспекі. Паблажлівыя жарты над сістэмамі бяспекі Лабараторыі ператварыліся ў сур'ёзную бітву за кіраванне кампутарам. Адміністратары сцвярджалі, што без сістэм бяспекі Twenex будзе нестабільная і няўстойлівая да памылак. Хакеры запэўнівалі, што стабільнасці і надзейнасці куды хутчэй можна дасягнуць рэдагаваннем зыходнага кода сістэмы. Але іх у Лабараторыі было ўжо так мала, што да іх ніхто не прыслухоўваўся.

Хакеры падумалі, што абыйсці абмежаванні бяспекі можна, выдаўшы ўсім карыстачам рулявыя прывілеі падвышаныя правы, якія даюць магчымасць рабіць шматлікае з таго, што звычайнаму карыстачу забаронена. Але ў гэтым выпадку любы карыстач мог адабраць «рулявыя прывілеі» у любога іншага карыстача, і той не мог вярнуць іх сабе па адсутнасці правоў доступу. Таму хакеры вырашылі атрымаць кантроль над сістэмай, адабраўшы "рулявыя прывілеі" ва ўсіх, акрамя сябе.

Падбор пароляў і запуск адладчыка падчас загрузкі сістэмы нічога не далечы. Пацярпеўшы няўдачу ў «дзяржаўным перавароце», Столман разаслаў паведамленне ўсім работнікам Лабараторыі.

"Да гэтага часу арыстакраты былі зрынуты, - пісаў ён, - але зараз яны ўзялі верх, і спроба захапіць уладу не ўвянчалася поспехам". Рычард падпісаў паведамленне: "Radio Free OZ", каб ніхто не здагадаўся, што гэта ён. Выдатная маскіроўка, калі ўлічыць, што ўсё ў Лабараторыі ведалі аб стаўленні Столмана да сістэм бяспекі і яго здзеках над паролямі. Зрэшты, агіда Рычарда да пароляў было вядома далёка за межамі МТІ. На кампутары Лабараторыі пад уліковым запісам Столмана хадзіў ці ледзь не ўвесь ARPAnet - правобраз інтэрнэту тых часоў. Такім «турыстам» быў, напрыклад, Дон Хопкінс, праграміст з Каліфорніі, які праз хакерскае сарафаннае радыё даведаўся, што ўвайсці ў праслаўленую сістэму ITS у МТІ можна проста увёўшы 3 літары ініцыялаў Столмана ў якасці лагіна і пароля.

"Я бясконца ўдзячны МТІ за тое, што я і многія іншыя людзі маглі свабодна карыстацца іх кампутарамі, – кажа Хопкінс, – гэта вельмі шмат значыла для ўсіх нас".

Гэтая "турыстычная" палітыка доўжылася шмат гадоў, пакуль жыла сістэма ITS, і кіраўніцтва МТІ глядзела на яе паблажліва. . Але калі машына Оз стала асноўным мастом з Лабараторыі ў ARPAnet, усё змянілася. Столман усё гэтак жа падаваў доступ да свайго акаўнта пад вядомымі лагінам і паролем, але адміністратары запатрабавалі ад яго змяніць пароль і нікому яго больш не даваць. Рычард, спасылаючыся на сваю этыку, наогул адмовіўся працаваць на машыне Аз.

«Калі паролі пачалі з'яўляцца на кампутарах Лабараторыі ІІ, я вырашыў прытрымлівацца свайго пераканання, што пароляў быць не павінна, – казаў пазней Столман, – а паколькі я лічыў, што кампутарам не патрэбныя сістэмы бяспекі, я не павінен быў падтрымліваць гэтыя меры па іх укараненні. ».

Адмова Столмана схіліць калені перад вялікай і жахлівай машынай Оз паказваў, што паміж хакерамі і начальствам Лабараторыі расла напружанасць. Але напружанасць гэтая была толькі бледным ценем таго канфлікту, што бушавала ў самым хакерскім калектыве, які падзяліўся на 2 лагеры: LMI (Lisp Machines Incorporated) і Symbolics.

Symbolics атрымала нямала ўкладанняў звонку, чым прыцягнула шматлікіх хакераў Лабараторыі. Яны працавалі над сістэмай Lisp-машыны і ў МТІ, і за яго межамі. Да канца 1980 гады кампанія наняла 14 супрацоўнікаў Лабараторыі ў якасці кансультантаў для распрацоўкі ўласнай версіі Lisp-машыны. Астатнія хакеры, не лічачы Столмана, працавалі на LMI. Рычард вырашыў не займаць нічыю бок, і па звычцы быў сам па сабе.

Першы час хакеры, нанятыя Symbolics, працягвалі працаваць і ў МТІ, удасканальваючы сістэму Lisp-машыны. Яны, як і хакеры ад LMI, выкарыстоўвалі для свайго кода ліцэнзію MIT. Яна патрабавала вяртаць змены ў МТІ, але не патрабавала ад МТІ распаўсюджваць гэтыя змены. Тым не менш, на працягу 1981 гады хакеры прытрымваліся джэнтльменскай дамовы, па якім усе іх паляпшэнні ўносіліся ў Lisp-машыну ад МТИ і распаўсюджваліся сярод усіх карыстачоў гэтых машын. Такое становішча рэчаў яшчэ захоўвала нейкую стабільнасць хакерскага калектыва.

Але 16 сакавіка 1982 года - Столман добра памятае гэты дзень, таму што гэта быў яго дзень нараджэння - джэнтльменскай дамове прыйшоў канец. Гэта адбылося па волі кіраўніцтва Symbolics, яно такім чынам хацела прыдушыць свайго канкурэнта - кампанію LMI, на якую працавала нашмат менш хакераў. Кіраўнікі Symbolics разважылі так: калі ў LMI у разы менш супрацоўнікаў, тое атрымліваецца, што агульная праца над Lisp-машынай выгодная менавіта ёй, і калі спыніць гэты абмен напрацоўкамі, то LMI будзе знішчана. З гэтай мэтай яны вырашылі злоўжыць літарай ліцэнзіі. Замест таго, каб уносіць змены ў МТІ-версію сістэмы, якой магла скарыстацца LMI, яны пачалі пастаўляць у МТІ Symbolics-версію сістэмы, якую яны маглі кіраваць як заўгодна. Атрымлівалася, што любое тэставанне і рэдагаванне кода Lisp-машыны ў МТІ ішло толькі на карысць Symbolics.

Як чалавек, адказны за суправаджэнне лабараторнай Lisp-машыны (першыя некалькі месяцаў – пры дапамозе Грынблата), Столман прыйшоў у лютасць. Хакеры Symbolics падалі код з сотнямі змен, якія выклікалі памылкі. Ацаніўшы гэта як ультыматум, Столман адключыў лінію сувязі Лабараторыі з Symbolics, пакляўся больш ніколі не працаваць на машынах гэтай кампаніі, і абвясціў аб далучэнні да працы над Lisp-машынай МТІ для падтрымкі LMI. «У маіх вачах Лабараторыя была нейтральнай краінай, як Бельгія ў Другую Сусветную вайну, - распавядае Столман, - і калі Нямеччына ўрываецца ў Бельгію, тая аб'яўляе Нямеччыне вайну і далучаецца да Брытаніі і Францыі».

Калі кіраўнікі Symbolics заўважылі, што іх апошнія навіны ўсё гэтак жа з'яўляюцца і на МТІ-версіі Lisp-машыны, яны раззлаваліся і сталі вінаваціць хакераў Лабараторыі ў крадзяжы кода. Але Столман ніколькі не парушаў закону аб аўтарскім праве. Ён вывучыў код, прадстаўлены Symbolics, і зрабіў лагічныя здагадкі аб будучых выпраўленнях і ўдасканаленнях, якія і стаў рэалізоўваць з нуля для Lisp-машыны МТІ. Кіраўнікі Symbolics не верылі гэтаму. Яны ўсталявалі шпіёнскую праграму на тэрмінал Столмана, якая запісвала ўсё, што Рычард рабіў. Так яны спадзяваліся сабраць доказы крадзяжу кода і паказаць іх адміністрацыі МТІ, але нават да пачатку 1983 года паказваць было амаль няма чаго. Усё, што ў іх было, гэта нейкі тузін месцаў, дзе код дзвюх сістэм выглядаў крыху падобна.

Калі адміністратары Лабараторыі паказалі доказы Symbolics Столлману, ён абверг іх, сказаўшы, што код быў менавіта падобным, але не аднолькавым. І звярнуў логіку кіраўніцтва Symbolics супраць яго самога: калі гэтыя макулінкі падобнага кода – усё, што на яго змаглі накапаць, то гэта толькі даказвае, што Столман насамрэч не краў код. Гэтага было дастаткова, каб кіраўнікі Лабараторыі адобрылі працу Столмана, і ён працягваў яе да канца 1983 года. .

Але свой падыход Столман змяніў. Каб максімальна засцерагчы сябе і праект ад прэтэнзій Symbolics, ён зусім перастаў глядзець у іх зыходныя коды. Ён пачаў пісаць код выключна па дакументацыі. Самыя вялікія навіны Рычард не чакаў ад Symbolics, а рэалізоўваў сам, потым толькі дадаваў інтэрфейсы для сумяшчальнасці з рэалізацыяй Symbolics, абапіраючыся на іх дакументацыю. Таксама ён чытаў спіс змен у кодзе Symbolics, каб зразумець, якія памылкі яны выпраўлялі, і выпраўляў гэтыя памылкі самастойна, іншымі спосабамі.

Тое, што адбывалася, умацавала рашучасць Столмана. Стварыўшы аналагі новых функцый Symbolics, ён схіліў супрацоўнікаў Лабараторыі да МТІ-версіі Lisp-машыны, што забяспечыла добры ўзровень тэсціравання і пошуку памылак. А МТІ-версія была цалкам адчыненая для LMI. "Я хацеў пакараць Symbolics любой цаной", – распавядае Столман. Гэтая заява кажа не толькі пра тое, што характар ​​Рычарда далёкі ад пацыфізму, але і пра тое, што канфлікт вакол Lisp-машыны закрануў яго за жывое.

Адчайную рашучасць Столмана можна зразумець, калі ўлічыць, як тое, што адбываецца, выглядала для яго - "разбурэннем" яго "дома", гэта значыць хакерскай супольнасці і культуры Лабараторыі ІІ. Пазней Леві браў у Столмана інтэрв'ю па электроннай пошце, і Рычард там параўноўваў сябе з Ішы - апошнім вядомым прадстаўніком індзейскай народнасці Яхі, якую вынішчылі ў індзейскіх войнах 1860-1870-х гадоў. Гэтая аналогія надае выкладзеным падзеям эпічны, амаль міфалагічны размах. Хакеры, што працавалі на Symbolics, бачылі гэта ў некалькі іншым святле: іх кампанія не руйнавала і не нішчыла, а толькі рабіла тое, што даўно трэба было зрабіць. Перамясціўшы Lisp-машыну ў поле камерцыі, Symbolics змяніла падыход да праектавання праграм – замест кройкі іх па цвёрдалобым лекалам хакераў сталі выкарыстоўвацца мякчэйшыя і чалавечныя нормы мэнэджараў. І Столмана яны расцэньвалі не як суперніка-байца на варце правай справы, а як носьбіта састарэлага мыслення.

Алею ў агонь падлілі і асабістыя разлады. Яшчэ да з'яўлення Symbolics шматлікія хакеры цураліся Столмана, а зараз сітуацыя пагоршылася шматкроць. «Мяне больш не клікалі ў паездкі да Чайна-тауна, – успамінае Рычард, – Грынблат даў пачатак звычаю: калі ты жадаеш паабедаць, ты абыходзіш калегаў і клічаш іх з сабой, ці ж шлёш ім паведамленне. Недзе ў 1980-1981 годзе мяне перасталі клікаць. Яны не толькі не запрашалі мяне, але і, як прызнаўся мне потым адзін чалавек, ціснулі на астатніх, каб ніхто не казаў мне пра планаваныя цягнікі на абед».

Крыніца: linux.org.ru

Дадаць каментар