Слободен како во слобода на руски: Поглавје 1. Фаталниот печатач

Фатален печатач

Плашете се од Данајците кои носат подароци.
– Вергилиј, „Енеида“

Новиот печатач повторно ја заглави хартијата.

Еден час претходно, Ричард Сталман, програмер во Вештачката лабораторија
MIT Intelligence (AI Labs), испрати документ од 50 страници
испечатени на канцеларискиот печатач и се втурнати во работа. И сега Ричард
Погледнав од она што го правев, отидов до печатачот и видов најнепријатна глетка:
наместо долгоочекуваните 50 испечатени страници, во фиоката имаше само 4
готови листови. И тие јасно се однесуваа на документот на некој друг.
Досието на Ричард од 50 страници се измешало со нечија полуиспечатена датотека
сложеноста на канцелариската мрежа и печатачот подлегна на овој проблем.

Да се ​​чека машината да си ја заврши работата е вообичаено.
за програмер, и Сталман беше во право што го презеде овој проблем
стоички. Но, едно е кога на машината и давате задача и ја правите
вашите сопствени работи, а сосема е различно кога треба да застанете до него
машина и контролирајте ја. Ова не беше прв пат Ричард да мора
застанете пред печатачот и гледајте ги страниците како излегуваат една по една
еден. Како и секој добар техничар, Сталман многу го почитуваше
ефикасност на уредите и програмите. Не е ни чудо што ова
уште едно нарушување на работниот процес ја разбуди горливата желба на Ричард
влезете во внатрешноста на печатачот и ставете го во правилен редослед.

Но, за жал, Сталман беше програмер, а не машински инженер. Затоа
Остануваше само да ги гледам страниците како лазат и да размислат
други начини за решавање на досаден проблем.

Но, вработените во Лабораторијата за вештачка интелигенција го поздравија овој печатач со задоволство и
со ентузијазам! Беше претставен од Xerox, тоа беше неговиот пробив
развој – модификација на брз фотокопир. Печатачот не само што го направи
копии, но и ги претвори виртуелните податоци од канцелариските мрежни датотеки во
документи со одличен изглед. Овој уред се чувствуваше смел
иновативен дух на познатата лабораторија Xerox во Пало Алто, тој беше
предвесник на револуција во десктоп печатењето што целосно ќе направи револуција
целата индустрија до крајот на деценијата.

Горејќи од нетрпение, лабораториските програмери веднаш го вклучија новото
печатач во сложена канцелариска мрежа. Резултатите ги надминаа и најсмелите
очекувања. Страниците излетуваа со брзина од 1 во секунда, документи
почна да печати 10 пати побрзо. Покрај тоа, автомобилот беше исклучително
педантно во нејзината работа: круговите личеа на кругови, не овали, туку
прави линии повеќе не личат на синусоиди со мала амплитуда.

Во секоја смисла, подарокот на Xerox беше понуда што не можевте да ја одбиете.
одбие.

Меѓутоа, со текот на времето, ентузијазмот почна да опаѓа. Штом печатачот стана
оптоварување до максимум, се појавија проблеми. Она што најмногу ме нервираше
фактот дека уредот премногу лесно ја џвака хартијата. Инженерско размислување
програмерите брзо го идентификуваа коренот на проблемот. Факт е дека
Фотокопирите традиционално бараат постојано присуство на лице во близина.
Вклучувајќи и со цел да се поправи хартијата доколку е потребно. И
кога Xerox почна да претвора фотокопир во печатач, инженери
компаниите не обрнаа внимание на оваа точка и се фокусираа на
решавање на други, поитни проблеми за печатачот. Инженерско говорење
јазикот, новиот печатач Xerox имаше постојано човечко учество
првично вграден во механизмот.

Со претворање на фотокопир во печатач, инженерите на Xerox воведоа една работа
промена која имаше далекусежни последици. Наместо,
за да се подреди апаратот на еден единствен оператор, тој беше подреден
до сите корисници на канцелариската мрежа. Корисникот повеќе не стоеше до него
машина, контролирајќи ја својата работа, сега тој е преку сложена канцелариска мрежа
испрати задача за печатење, надевајќи се дека документот ќе биде отпечатен вака
како што се бара. Потоа корисникот отиде до печатачот за да го земе готовиот
цел документ, но наместо тоа е пронајден селективно отпечатен
листови.

Малку е веројатно дека Сталман бил единствениот во лабораторијата за вештачка интелигенција кој забележал
проблем, но размислувал и за неговото решение. Неколку години пред тоа
Ричард имаше шанса да реши сличен проблем со неговиот претходен печатач. За
тој го уредил ова на неговиот личен работен компјутер PDP-11
програма што работеше на мејнфрејм PDP-10 и го контролираше печатачот.
Сталман не можеше да го реши проблемот со џвакањето хартија;
ова тој вметнуваше код што го принудуваше PDP-11 од време на време
проверете го статусот на печатачот. Ако машината џвакала хартија, програмата
Само што испратив известување до работните PDP-11 како „печатачот џвака
хартија, треба да се поправа“. Решението се покажа како ефикасно - известување
отиде директно до корисници кои активно го користеа печатачот, па
дека неговите лудории со хартија често биле веднаш прекинувани.

Се разбира, ова беше ад-хок решение - како што го нарекуваат програмерите
„патерица“, но патерицата се покажа доста елегантна. Тој не се поправи
имаше проблем со механизмот на печатачот, но направив најдобро што можев
да се направи - воспоставена информативна повратна информација помеѓу корисникот и машината.
Неколку дополнителни линии код ги спасија работниците во Лабораторијата
ВИ за 10-15 минути работно време неделно, заштедувајќи ги од
мора постојано да работи за да го провери печатачот. Од гледна точка
програмер, одлуката на Сталман беше заснована на колективна мудрост
Лаборатории.

Сеќавајќи се на таа приказна, Ричард рекол: „Кога ќе примите таква порака, нема да добиете
мораше да се потпре на некој друг за да го поправи печатачот. Ти треба
беше лесно да станам и да отидам до печатачот. Минута или две после
штом печатачот почна да ја џвака хартијата, кај него дојдоа двајца или тројца
вработените. Барем еден од нив знаеше точно што треба да се направи“.

Паметните решенија како овие беа белег на AI ​​Lab и нејзината
програмери. Генерално, најдобрите програмери на Лабораторијата се неколку
го третираше терминот „програмер“ со презир, претпочитајќи го
сленг за „хакер“. Оваа дефиниција попрецизно ја отсликуваше суштината на делото, која
вклучуваше различни активности, од софистицирани интелектуални забави до
макотрпни подобрувања на програмите и компјутерите. Исто така се чувствуваше
старомодно верување во американската генијалност. Хакер
Не е доволно само да напишете програма што работи. Хакер се обидува
покажете ја моќта на вашиот интелект на себе и на другите хакери со поставување
преземете многу посложени и потешки задачи - на пример, направете
програма во исто време како брза, компактна, моќна и
убава.

Компаниите како Xerox намерно ги донираа своите производи на големи заедници
хакери. Тоа беше пресметка дека хакерите ќе почнат да го користат,
Ќе се врзат за неа, а потоа ќе дојдат да работат во компанијата. Во 60-тите и
во зората на 70-тите, хакерите често пишуваа толку квалитетни и корисни
програми кои производителите доброволно ги дистрибуирале меѓу нивните
клиенти.

Така, соочен со новиот Xerox печатач за џвакање хартија,
Сталман веднаш помислил да го направи својот стар трик со него - „хак“
програма за контрола на уредот. Сепак, го чекало непријатно откритие.
– печатачот не доаѓаше со никаков софтвер, барем не во овој
форма за да може Сталман или друг програмер да го чита и
Уредување. До овој момент, повеќето компании се сметаат за добри
дајте датотеки со изворен код со тон што е текст читлив за луѓе,
кој даваше целосни информации за програмските команди и соодветните
функции на машината. Но, Xerox овој пат ја обезбеди програмата само во
компајлирана, бинарна форма. Ако некој програмер се обидел да чита
овие датотеки, тој ќе гледа само бескрајни текови на нули и единици,
разбирливо за машина, но не и за човек.

Постојат програми наречени „disassemblers“ кои преведуваат
единици и нули во машински инструкции на ниско ниво, но да дознаам што
овие инструкции прават - многу долг и тежок процес наречен
„обратно инженерство“. Обратно инженерство на програма за печатач е лесно
можеше да потрае многу повеќе време од целосната корекција на џваканото
хартија во следните 5 години. Ричард не беше доволно очаен
да се реши на таков чекор и затоа проблемот едноставно го остави настрана
долга кутија.

Непријателската политика на Xerox беше во целосна спротивност со нормалната практика
хакерски заедници. На пример, да се развие за лични
компјутерски PDP-11 програми за контрола на стар печатач и
терминали, на лабораторијата за вештачка интелигенција и требаше вкрстен асемблерот што ќе се склопува
програми за PDP-11 на главниот PDP-10. Лабораториските хакери би можеле
Сами напишете крос-асемблер, но Сталман, како студент на Харвард,
Најдов слична програма во компјутерската лабораторија на универзитетот. Таа
беше напишано за истиот мејнфрејм, PDP-10, но за различен
операционен систем. Ричард немаше поим кој ја напиша оваа програма,
бидејќи изворниот код не кажува ништо за тоа. Само што го донесе
копија од изворниот код во Лабораторијата, го уредил и го лансирал
ПДП-10. Без непотребни маки и грижи, Лабораторијата ја доби програмата,
што беше неопходно за функционирање на канцелариската инфраструктура. Сталман дури
ја направи програмата помоќна со додавање на неколку функции кои не беа
беше во оригиналот. „Ја користиме оваа програма со години“,
– вели не без гордост.

Во очите на програмер од 70-тите, овој модел на дистрибуција
програмскиот код не се разликуваше од добрососедските односи кога
едниот дели чаша шеќер со друг или позајмува бормашина. Но, ако вие
кога ќе позајмите дупчалка, тогаш го лишувате сопственикот од можноста да ја користи
Во случај на копирање програми, ништо вакво не се случува. Ниту едно
авторот на програмата, ниту неговите други корисници, губат нешто од
копирање. Но, другите луѓе добиваат од ова, како во случајот со
хакери на Лабораторијата кои добија програма со нови функции, кои
не ни постоеше порано. И овие нови функции можат да бидат исто толку многу
сакате да копирате и дистрибуирате на други луѓе. Сталман
се сеќава на еден програмер од приватната компанија Bolt, Beranek &
Њуман, кој исто така ја прими програмата и ја уреди за да се извршува
под Twenex - уште еден оперативен систем за PDP-10. Тој исто така
додаде голем број одлични функции во програмата, а Сталман ги копираше
на вашата верзија на програмата во Лабораторијата. По ова тие одлучија заедно
развие програма која веќе ненамерно прерасна во моќен производ,
работи на различни оперативни системи.

Потсетувајќи се на софтверската инфраструктура на AI Lab, Сталман вели:
„Програмите еволуираа како град. Некои делови се променети
малку по малку, некои - веднаш и целосно. Се појавија нови области. И ти
секогаш можеше да го погледне кодот и да го каже, судејќи според стилот, овој дел
напишана во раните 60-ти, а оваа во средината на 70-тите“.

Благодарение на оваа едноставна ментална соработка, хакерите создадоа многу
моќни и сигурни системи во Лабораторијата и надвор од неа. Не секој програмер
кој ја споделува оваа култура ќе се нарече хакер, но повеќето од нив
целосно ги сподели чувствата на Ричард Сталман. Доколку програмата или
поправениот код добро ви го решава проблемот, исто толку добро ќе го решат и тие
овој проблем за секого. Зошто тогаш да не го споделите ова?
одлука, барем од морални причини?

Овој концепт на слободна соработка беше поткопан со комбинација на алчност
и трговски тајни, што доведува до бизарна комбинација на тајност и
соработка. Добар пример е раниот живот на BSD. Тоа е моќно
оперативен систем создаден од научници и инженери во Калифорнија
Универзитетот во Беркли базиран на Unix, купен од AT&T. Цена
копирањето на BSD беше еднакво на цената на филмот, но со еден услов -
училиштата можеа да добијат филм со копија од BSD само ако имаат лиценца AT&T,
кои чинат 50,000 долари. Се испостави дека хакерите од Беркли споделувале
програми само до степен до кој компанијата им го дозволила тоа
AT&T. И тие не видоа ништо чудно во тоа.

Сталман не беше лут ниту на Xerox, иако беше разочаран. Тој никогаш
Не размислував да побарам од компанијата копија од изворниот код. „Тие и
па ни дадоа ласерски печатач“, рече тој, „не можев да кажам
дека уште нешто ни должат. Покрај тоа, изворите очигледно недостасуваа
не е случајно што ова е интерна одлука на компанијата и бара да се промени
беше бескорисно“.

На крајот дојде добра вест: се покажа дека копија од изворот
Истражувач од Универзитетот има програми за печатач на Xerox
Карнеги Мелон.

Комуникацијата со Карнеги Мелон не ветуваше добро. Во 1979 г
Докторантот Брајан Рид ја шокираше заедницата одбивајќи да го сподели неговото
програма за форматирање текст слична на Scribe. Таа беше прва
програма од овој тип која користела семантички наредби
Наместо тоа, „нагласи го овој збор“ или „овој параграф е цитат“.
ниско ниво „напиши го овој збор со курзив“ или „зголеми го вовлекувањето за
овој став“. Рид го продаде Scribe на компанија со седиште во Питсбург
Унилогично. Според Рид, на крајот од докторските студии тој едноставно барал тим
програмери, на чии рамења би било можно да се префрли одговорноста за
за да не падне во јавна употреба изворниот код на програмата (до сега
нејасно е зошто Рид го сметал ова за неприфатливо). За засладување на пилулата
Рид се согласи да додаде збир на функции засновани на време во кодот, така
наречени „темпирани бомби“ - тие претворија бесплатна копија од програмата во
неработно по истекот на пробниот период од 90 дена. Да направи
програма за да работи повторно, корисниците треба да платат на компанијата и
добиваат „оневозможи“ темпирана бомба.

За Сталман ова беше чисто и бесрамно предавство.
програмерска етика. Наместо да се следи принципот „сподели и
подари го“, Рид тргна по патот на наплата на програмерите за пристап до
информации. Но, тој не размислуваше многу за тоа бидејќи не често
Јас користев Scribe.

Unilogic му даде на AI Lab бесплатна копија од Scribe, но не ја отстрани
темпирана бомба и не ја ни спомна. Засега програмата
Работеше, но еден ден престана. Системскиот хакер Хауард Канон
помина многу часови дебагирање на бинарната датотека на програмата, сè додека конечно
не ја откри темпираната бомба и не ја избриша. Ова навистина го налути
приказна, и тој не се двоумеше да им каже на другите хакери за тоа, и да пренесе
сите мои мисли и емоции за намерната „грешка“ на Unilogic.

Од причини поврзани со неговата работа во Лабораторијата, Сталман отишол во
Кампусот Карнеги Мелон неколку месеци подоцна. Се обиде да најде човек
кој, според вестите што ги слушнал, го имал изворниот код за програмата
печатач. За среќа, овој човек бил во својата канцеларија.

Разговорот испадна искрен и остар, во типичен стил на инженери.
Откако се претстави, Сталман побара копија од изворниот код на програмата
контрола на ласерски печатач Xerox. На негово големо чудење и
За жал, истражувачот одби.

„Тој рече дека му ветил на производителот дека нема да ми даде копија“, вели тој
Ричард.

Меморијата е смешна работа. 20 години по овој инцидент, сеќавање
Сталман е полн со празни точки. Ја заборави не само причината зошто
дојде во Карнеги Мелон, но и за тоа кој му бил пандан во ова
непријатен разговор. Според Рид, оваа личност била најверојатно
Роберт Спрол, поранешен вработен во Центарот за истражување и развој на Xerox
Пало Алто, кој подоцна стана директор на истражувањето
Sun Microsystems поделби. Во 70-тите Спрол беше домаќин
развивач на програми за ласерски печатачи на Xerox. Некаде во 1980 г
Спрол прифатил позиција како научен соработник во Карнеги Мелон, каде
продолжи да работи на ласерски печатачи.

Но, кога на Спрал му поставуваат прашања за овој разговор, тој само мами
раце. Ова е она што тој одговара по е-пошта: „Не можам да кажам
ништо дефинитивно, воопшто не се сеќавам на ништо за овој инцидент“.

„Кодот што го сакаше Сталман беше револуционерен,
вистинско олицетворение на уметноста. Спрол го напишал една година пред тоа
дојде во Карнеги Мелон или нешто слично“, вели Рид. Ако ова
навистина така, постои недоразбирање: му требаше на Сталман
програма која MIT ја користи долго време, а не некоја нова
нејзината верзија. Но, во тој краток разговор не се зборуваше ни збор
било која верзија.

Кога комуницира со публиката, Сталман редовно се сеќава на инцидентот во
Карнеги Мелон нагласува дека неподготвеноста да
лице за споделување на изворните кодови е само последица на договорот за
необјавување, што било предвидено во договорот меѓу него и
од Xerox. Во денешно време е вообичаена практика компаниите да бараат
одржување на тајноста во замена за пристап до најновите случувања, но во исто време
НДА тогаш беа нешто ново. Тоа ја одразуваше важноста за Xerox од двете
ласерски печатачи и информации кои беа потребни за нивното работење.
„Xerox се обиде да ги направи ласерските печатачи комерцијален производ“,
Се сеќава Рид, „би било лудо да им го дадат изворниот код на сите
договор“.

Сталман сосема поинаку ја сфати НДА. За него тоа беше одбивање
Карнеги Мелон учествува во креативниот живот на општеството, спротивно од досега
охрабрени да ги гледаат програмите како ресурси на заедницата. Како да
дали селанец наеднаш би ги открил тие вековни канали за наводнување
се исушил, а во обид да ја открие причината за проблемот ќе стигнел до пенливото
новина на хидроцентрала со логото на Xerox.

На Сталман му требаше некое време да ја разбере вистинската причина за одбивањето -
нов формат на интеракција помеѓу програмерот и
компании. Отпрвин виде само лично одбивање. „Така ми е
Бев лут што не можев да најдам што да кажам. Само се свртев и
„Излегов тивко“, се сеќава Ричард, „можеби дури и ја треснав вратата, не
Знам. Се сеќавам само на жестока желба да излезам од таму што е можно побрзо. На крајот на краиштата, јас одев
со нив, очекувајќи соработка и не ни помислував што ќе направам ако јас
ќе одбијат. И кога се случи ова, јас буквално останав без зборови -
Толку многу ме запрепасти и вознемири“.

И 20 години подоцна, тој сè уште го чувствува ехото на тој гнев и
разочарувања. Инцидентот во Карнеги Мелон беше пресвртница во животот
Ричард, доведувајќи го лице в лице со нов етички проблем. ВО
следните месеци околу Сталман и другите хакери на AI Lab
ќе се случат многу настани во споредба со кои тие 30 секунди гнев и
разочарувањата во Карнеги Мелон нема да изгледаат како ништо. Сепак,
Сталман посветува особено внимание на овој инцидент. Тој беше првиот и
најважната точка во низата настани од кои се одврати Ричард
осамен хакер, интуитивен противник на централизираната моќ, во
радикален евангелист на слободата, еднаквоста и братството во
програмирање.

„Ова беше мојата прва средба со договор за необјавување, а јас
Набрзо сфатив дека луѓето стануваат жртви на такви договори, - самоуверено
Сталман вели: „Јас и моите колеги бевме такви жртви.
Лаборатории“.

Ричард подоцна објасни: „Да ме одбиеше од лични причини, ќе беше
би било тешко да се нарече проблем. Можев да го избројам за возврат
шупак, и тоа е се. Но, неговото одбивање беше безлично, ме натера да разберам
дека нема да соработува не само со мене, туку со никого
беше. И ова не само што создаде проблем, туку и го направи навистина
огромен“.

Иако претходните години имаше проблеми што го налутија Сталман,
Според него, дури по инцидентот во Карнеги Мелон тој го сфатил тоа
започнува програмската култура што ја сметал за света
промена. „Веќе бев убеден дека програмите треба да бидат јавно достапни
за секого, но не можеше јасно да го формулира. Моите размислувања за оваа работа
беа премногу нејасни и хаотични за да ги изразат сите
на светот. По инцидентот, почнав да сфаќам дека проблемот веќе постоел, и
дека треба да се реши токму сега“.

Да се ​​биде врвен програмер во еден од најсилните институти
мир, Ричард не обрнувал многу внимание на договорите и трансакциите на другите
програмери - се додека тие не се мешаат во неговата главна работа. Додека во
Ласерскиот печатач Xerox не пристигна во лабораторијата, Сталман имаше сè
можности со презир да гледаат на машините и програмите од кои страдале
други корисници. На крајот на краиштата, тој можеше да ги промени овие програми како што мислеше
неопходно.

Но, појавата на нов печатач ја загрози оваа слобода. Апарат
работеше добро, иако периодично џвакаше хартија, но немаше
можности да го промени своето однесување за да одговара на потребите на тимот. Од гледна точка
софтверската индустрија, затворањето на програмата за печатач беше
неопходен чекор во бизнисот. Програмите станаа толку вредно богатство што
компаниите повеќе не можеа да си дозволат да објавуваат изворни кодови,
особено кога програмите отелотворуваа некои пробивни технологии. После се
тогаш конкурентите би можеле да ги копираат овие практично бесплатно
технологии за нивните производи. Но, од гледна точка на Сталман, печатачот беше
Тројански коњ. По десет години неуспешни обиди за дистрибуција
„комерцијални“ програми за кои е забранета бесплатна дистрибуција и
модификација на кодот, токму оваа програма се инфилтрирала во живеалиштето на хакерите
на најподмолен начин - под превезот на подарок.

Дека Xerox им даде на некои програмери пристап до код во замена за
одржувањето на тајноста не беше помалку досадно, но Сталман беше болен
признал дека на помлада возраст најверојатно би се согласил
Понуда на Xerox. Инцидентот во Карнеги Мелон го зајакна неговиот морал
позиција, не само што го товари со сомнеж и гнев кон
слични предлози во иднина, но и со поставување на прашањето: што,
ако еден ден хакер излезе со слично барање, а сега до него,
Ричард ќе мора да одбие да ги копира изворите, следејќи ги барањата
работодавач?

„Кога ќе ми понудат да ги изневерам колегите на ист начин,
Се сеќавам на мојот гнев и разочарување кога ми го направија истото и
други членови на Лабораторијата, вели Сталман, така
Ви благодарам многу, вашата програма е прекрасна, но не можам да се согласам
за условите за неговата употреба, така што ќе сторам без него“.

Ричард цврсто ќе го задржи сеќавањето на оваа лекција во турбулентните 80-ти, кога
многу од неговите лабораториски колеги ќе одат да работат во други компании,
обврзани со договори за необјавување. Веројатно си кажале
дека ова е неопходно зло на патот кон работата на најинтересните и
примамливи проекти. Сепак, за Сталман, самото постоење на НДА
ја доведува во прашање моралната вредност на проектот. Што може да биде добро
во проект, дури и ако е технички возбудлив, ако не му служи на генералот
цели?

Многу брзо Сталман го сфати тоа несогласување со таквите предлози
има значително повисока вредност од личните професионални интереси. Таков
неговиот бескомпромисен став го одвојува од другите хакери кои иако
ја мразат тајноста, но се подготвени да одат до морална должина
компромиси. Мислењето на Ричард е јасно: одбивање да се сподели изворниот код
ова е предавство не само на истражувачката улога
програмирање, но и Златното правило на моралот во кое се вели дека вашиот
вашиот став кон другите треба да биде ист како што сакате да го видите
став кон себе.

Ова е важноста на приказната за ласерскиот печатач и инцидентот во
Карнеги Мелон. Без сето ова, како што признава Сталман, неговата судбина отиде
би тргнал по сосема поинаков пат, балансирајќи меѓу материјалното богатство
комерцијален програмер и последно разочарување во животот,
потрошени пишувајќи програмски код невидлив за никого. Немам
нема да има смисла да се размислува за овој проблем, во кој останатите дури
не го видов проблемот. И што е најважно, нема да го има тој животворен дел
гнев, што му даде на Ричард енергија и самодоверба да продолжи напред.

„Тој ден решив дека никогаш нема да се согласам да учествувам
ова“, вели Сталман, мислејќи на НДА и на целата култура воопшто,
што ја промовира размената на личната слобода за некои придобивки и
Придобивки.

„Решив дека никогаш нема да направам друга личност жртва каква што станав.
еден ден самиот“.

Извор: linux.org.ru

Додадете коментар