Fri som i Frihet på ryska: Kapitel 1. Den ödesdigra skrivaren

Fatal skrivare

Var rädd för danskarna som kommer med presenter.
– Vergilius, "Aeneid"

Återigen har den nya skrivaren fastnat i papperet.

En timme tidigare, Richard Stallman, en programmerare vid det konstgjorda laboratoriet
MIT Intelligence (AI Labs), skickade ett 50-sidigt dokument
tryckt på kontorsskrivaren och kastade sig ut i arbetet. Och nu Richard
Jag såg upp från vad jag gjorde, gick till skrivaren och såg en mycket obehaglig syn:
istället för de efterlängtade 50 tryckta sidorna fanns det bara 4 i facket
färdiga ark. Och de hänvisade tydligt till någon annans dokument.
Richards 50-sidiga fil blandades ihop med någons halvtryckta fil
invecklade kontorsnätverk, och skrivaren gav efter för detta problem.

Att vänta på att en maskin ska göra sitt jobb är vanligt.
för en programmerare, och Stallman var helt rätt att ta sig an detta problem
stoiskt. Men det är en sak när man ger en maskin en uppgift och gör den
dina egna angelägenheter, och det är helt annorlunda när du ska stå bredvid
maskinen och kontrollera den. Det var inte första gången Richard var tvungen
stå framför skrivaren och se sidorna komma ut en efter en
ett. Som alla bra tekniker, hade Stallman en mycket hög respekt för
effektiviteten hos enheter och program. Inte konstigt det här
ytterligare ett avbrott i arbetsprocessen väckte Richards brinnande begär
gå in i skrivaren och placera den i rätt ordning.

Men tyvärr var Stallman en programmerare, inte en maskiningenjör. Det är därför
Allt som återstod var att se sidorna krypa fram och tänka efter
andra sätt att lösa ett irriterande problem.

Men AI-laboratoriets anställda hälsade denna skrivare med glädje och
med entusiasm! Det presenterades av Xerox, det var dess genombrott
utveckling – modifiering av en snabb kopiator. Det gjorde inte bara skrivaren
kopior, men även omvandlade virtuell data från kontorsnätverksfiler till
dokument som ser utmärkt ut. Den här enheten kändes vågad
innovativ anda i det berömda Xerox-laboratoriet i Palo Alto, var han
ett förebud om en revolution inom skrivbordsutskrift som helt skulle revolutionera
hela branschen i slutet av decenniet.

Laboratorieprogrammerarna brände av otålighet och slog omedelbart på det nya
skrivare till ett komplext kontorsnätverk. Resultaten överträffade de mest vågade
förväntningar. Sidor flög ut med en hastighet av 1 per sekund, dokument
började skriva ut 10 gånger snabbare. Dessutom var bilen extremt
pedantisk i sitt arbete: cirklarna såg ut som cirklar, inte ovaler, men
raka linjer liknar inte längre sinusoider med låg amplitud.

På alla sätt var Xerox-gåvan ett erbjudande som du inte kunde tacka nej till.
vägra.

Men med tiden började entusiasmen avta. Så fort skrivaren blev
belastningen maximalt uppstod problem. Det som irriterade mig mest
det faktum att enheten tuggade papperet för lätt. Tekniskt tänkande
programmerare identifierade snabbt roten till problemet. Faktum är att
Kopieringsmaskiner kräver traditionellt en konstant närvaro av en person i närheten.
Inklusive för att korrigera papperet vid behov. OCH
när Xerox började förvandla en kopiator till en skrivare, ingenjörer
företag uppmärksammade inte denna punkt och fokuserade på
lösa andra, mer pressande problem för skrivaren. Tekniskt tal
språket, hade den nya Xerox-skrivaren konstant mänskligt deltagande
ursprungligen inbyggd i mekanismen.

Genom att förvandla en kopiator till en skrivare introducerade Xerox ingenjörer en sak
en förändring som fått långtgående konsekvenser. Istället för,
för att underordna apparaten till en enda operatör underordnades den
till alla användare av kontorsnätverket. Användaren stod inte längre bredvid
maskin, som kontrollerar dess drift, nu är han genom ett intrikat kontorsnätverk
skickade ett utskriftsjobb i hopp om att dokumentet skulle skrivas ut så här
såsom krävs. Sedan gick användaren till skrivaren för att hämta det färdiga
hela dokumentet, men istället hittas selektivt utskrivet
lakan.

Det är osannolikt att Stallman var den ende i AI-labbet som märkte det
problem, men han tänkte också på lösningen. Några år innan
Richard hade en chans att lösa ett liknande problem med sin tidigare skrivare. För
han redigerade detta på sin personliga arbetsdator PDP-11
ett program som körde på en PDP-10 stordator och styrde skrivaren.
Stallman kunde inte lösa problemet med papperstuggning, istället
detta infogade han en kod som tvingade fram PDP-11 då och då
kontrollera skrivarens status. Om maskinen tuggade papper, programmet
Jag skickade precis ett meddelande till de fungerande PDP-11:erna som "skrivaren tuggar
papper, behöver repareras." Lösningen visade sig vara effektiv - avisering
gick direkt till användare som aktivt använde skrivaren, så
att hans upptåg med papper ofta stoppades omedelbart.

Naturligtvis var detta en ad hoc-lösning – vad programmerare kallar
"en krycka", men kryckan visade sig vara ganska elegant. Han rättade inte
det var ett problem med skrivarmekanismen, men jag gjorde så gott jag kunde
att göra - etablerad informativ feedback mellan användaren och maskinen.
Några extra rader kod räddade laboratoriearbetarna
AI för 10-15 minuters arbetstid varje vecka, vilket sparar dem från
måste hela tiden springa för att kontrollera skrivaren. Ur synvinkel
programmerare, var Stallmans beslut baserat på kollektiv visdom
Laboratorier.

Richard minns den historien och sa: ”När du får ett sådant meddelande kommer du inte att göra det
var tvungen att lita på att någon annan skulle fixa skrivaren. Du behöver
det var lätt att resa sig upp och gå till skrivaren. En minut eller två efter
så fort skrivaren började tugga papperet kom två eller tre personer till honom
anställda. Åtminstone en av dem visste exakt vad som behövde göras.”

Smarta lösningar som dessa har varit kännetecknet för AI-labbet och dess
programmerare. I allmänhet är laboratoriets bästa programmerare flera
behandlade termen "programmerare" med förakt och föredrog det
slang för "hacker". Denna definition återspeglade mer exakt essensen av arbetet, som
innefattade en mängd olika aktiviteter, från sofistikerade intellektuella nöjen till
mödosamma förbättringar av program och datorer. Det kändes också
en gammaldags tro på amerikansk uppfinningsrikedom. Hacker
Det räcker inte att bara skriva ett program som fungerar. Hacker försöker
visa kraften i ditt intellekt för dig själv och andra hackare genom att placera
ta sig an mycket mer komplexa och svåra uppgifter – till exempel göra
program samtidigt som snabbt, kompakt, kraftfullt och
skön.

Företag som Xerox donerade avsiktligt sina produkter till stora samhällen
hackare. Det var en beräkning att hackare skulle börja använda det,
De kommer att fästa sig vid henne och sedan komma att arbeta för företaget. På 60-talet och
i början av 70-talet skrev hackare ofta så högkvalitativt och användbart
program som tillverkarna villigt distribuerade dem bland sina
kunder.

Så, inför en papperstuggande ny Xerox-skrivare,
Stallman tänkte genast göra sitt gamla trick med honom - "hack"
enhetskontrollprogram. Men en obehaglig upptäckt väntade honom.
– skrivaren kom inte med någon programvara, åtminstone inte i detta
formuläret så att Stallman eller en annan programmerare kan läsa den och
redigera. Fram till denna punkt ansåg de flesta företag vara bra
förse filer med källkod i en ton som är läsbar för människor,
som gav fullständig information om programkommandon och motsvarande
maskinens funktioner. Men Xerox tillhandahöll denna gång programmet endast i
sammanställd, binär form. Om en programmerare försökte läsa
dessa filer, skulle han bara se oändliga strömmar av nollor och ettor,
förståeligt för en maskin, men inte för en person.

Det finns program som kallas "disassemblers" som översätter
ettor och nollor till maskininstruktioner på låg nivå, men att ta reda på vad
dessa instruktioner gör - en mycket lång och svår process kallas
"reverse engineering". Omvänd konstruktion av ett skrivarprogram är enkelt
kunde ha tagit mycket mer tid än den totala korrigeringen av det tuggade
papper under de kommande 5 åren. Richard var inte tillräckligt desperat
att besluta sig för att ta ett sådant steg, och därför lade han helt enkelt problemet åt sidan
lång låda.

Xerox fientliga politik stod i skarp kontrast till normal praxis
hackergemenskaper. Till exempel att utvecklas för personligt
dator PDP-11 program för att styra en gammal skrivare och
terminaler behövde AI-labbet en korsmontör som skulle montera
program för PDP-11 på PDP-10 stordator. Det kan labbhackare
skriv en korsmontör själv, men Stallman, som studerar vid Harvard,
Jag hittade ett liknande program i universitetets datorlaboratorium. Hon
skrevs för samma stordator, PDP-10, men för en annan
operativ system. Richard hade ingen aning om vem som skrev det här programmet,
eftersom källkoden inte sa något om det. Han kom precis med den
en kopia av källkoden till laboratoriet, redigerade den och startade den
PDP-10. Utan onödigt krångel och oro fick Laboratoriet programmet,
som var nödvändig för driften av kontorsinfrastrukturen. Stallman till och med
gjorde programmet kraftfullare genom att lägga till flera funktioner som inte var det
fanns i originalet. "Vi har använt det här programmet i flera år,"
– säger han inte utan stolthet.

I ögonen på en 70-talsprogrammerare, denna distributionsmodell
programkoden skilde sig inte från goda grannrelationer när
en delar en kopp socker med en annan eller lånar ut en borrmaskin. Men om du
när du lånar en borr så fråntar du ägaren möjligheten att använda den, alltså
När det gäller kopiering av program händer inget liknande. Varken
författaren till programmet, eller dess andra användare, förlorar något på
kopiering. Men andra människor tjänar på detta, som i fallet med
hackare av Laboratoriet som fick ett program med nya funktioner, som
fanns inte ens tidigare. Och dessa nya funktioner kan vara lika många
du vill kopiera och distribuera till andra. Stallman
minns en programmerare från det privata företaget Bolt, Beranek &
Newman, som också fick programmet och redigerade det för att köra
under Twenex - ett annat operativsystem för PDP-10. Han också
lade till ett antal fantastiska funktioner till programmet, och Stallman kopierade dem
till din version av programmet i Laboratoriet. Efter detta bestämde de sig tillsammans
utveckla ett program som redan oavsiktligt har vuxit till en kraftfull produkt,
körs på olika operativsystem.

Stallman påminner om AI Labs mjukvaruinfrastruktur och säger:
"Programmen utvecklades som en stad. Vissa delar har ändrats
lite i taget, några - omedelbart och helt. Nya områden dök upp. Och du
kunde alltid titta på koden och säga, av stilen att döma, den här delen
skriven i början av 60-talet och den här i mitten av 70-talet."

Tack vare detta enkla mentala samarbete har hackare skapat många
kraftfulla och pålitliga system i och utanför laboratoriet. Inte alla programmerare
som delar denna kultur skulle kalla sig en hackare, men de flesta av dem
delade helt Richard Stallmans känslor. Om programmet eller
den korrigerade koden löser ditt problem bra, de kommer att lösa det lika bra
detta problem för vem som helst. Varför inte dela detta då?
beslut, åtminstone av moraliska skäl?

Detta koncept av fritt samarbete undergrävdes av en kombination av girighet
och affärshemligheter, vilket ger upphov till en bisarr kombination av sekretess och
samarbete. Ett bra exempel är BSD:s tidiga liv. Det är kraftfullt
operativsystem skapat av forskare och ingenjörer vid Californian
Universitetet i Berkeley baserat på Unix, köpt från AT&T. Pris
kopiering av BSD var lika med kostnaden för film, men med ett villkor -
skolor kunde bara få en film med en kopia av BSD om de hade en AT&T-licens,
som kostade 50,000 XNUMX dollar. Det visade sig att Berkeley-hackerna delade
program endast i den utsträckning som företaget tillät dem att göra det
AT&T. Och de såg inget konstigt i det.

Stallman var inte heller arg på Xerox, även om han var besviken. Han aldrig
Jag tänkte inte på att be företaget om en kopia av källkoden. "De och
så de gav oss en laserskrivare," sa han, "det kunde jag inte säga
att de fortfarande är skyldiga oss något. Dessutom saknades uppenbarligen källorna
det är ingen slump att detta var ett internt beslut från företaget, och att man bad om att ändra det
det var värdelöst."

Till slut kom goda nyheter: det visade sig att en kopia av källan
En universitetsforskare har program för en Xerox-skrivare
Carnegie Mellon.

Kommunikationen med Carnegie Mellon bådade inte gott. År 1979
doktoranden Brian Reed chockade samhället genom att vägra dela med sig av sin
ett textformateringsprogram som liknar Scribe. Hon var den första
ett program av den här typen som använde semantiska kommandon
som "markera det här ordet" eller "det här stycket är ett citat" istället
lågnivå "skriv detta ord i kursiv stil" eller "öka indraget för
denna paragraf." Reed sålde Scribe till ett Pittsburgh-baserat företag
Unilogic. Enligt Reed letade han i slutet av sina doktorandstudier helt enkelt efter ett team
utvecklare, på vars axlar det skulle vara möjligt att flytta ansvaret för
så att programmets källkod inte kommer till allmän användning (förrän nu
det är oklart varför Reed ansåg detta oacceptabelt). För att söta p-piller
Reed gick med på att lägga till en uppsättning tidsbaserade funktioner till koden, så
kallade "tidsbomber" - de förvandlade en gratis kopia av programmet till
icke-arbetande efter 90 dagars provperiod. Att göra
program för att fungera igen, användare behövde betala företaget och
få en "inaktivera" tidsinställd bomb.

För Stallman var detta ett rent och flagrant svek.
programmerares etik. Istället för att följa principen "dela och
ge bort det”, tog Reed vägen att ta betalt av programmerare för tillgång till
information. Men han tänkte inte så mycket på det eftersom han inte gjorde det så ofta
Jag använde Scribe.

Unilogic gav AI Lab en gratis kopia av Scribe, men tog inte bort den
tidsinställd bomb och nämnde det inte ens. Tills vidare programmet
Det fungerade, men en dag tog det stopp. Systemhackaren Howard Cannon
tillbringade många timmar med att felsöka programmets binära fil, tills slutligen
upptäckte inte tidsinställd bomb och tog inte bort den. Detta gjorde honom riktigt förbannad
historia, och han tvekade inte att berätta för andra hackare om det och förmedla
alla mina tankar och känslor om Unilogics avsiktliga "misstag".

Av skäl relaterade till hans arbete på Laboratoriet gick Stallman till
Carnegie Mellon campus ett par månader senare. Han försökte hitta en man
som, enligt nyheten han hörde, hade källkoden till programmet
skrivare. Lyckligtvis var den här mannen på sitt kontor.

Samtalet visade sig vara uppriktigt och skarpt, i typisk ingenjörsstil.
Efter att ha presenterat sig bad Stallman om en kopia av programmets källkod för
kontroll av en Xerox laserskrivare. Till hans stora förvåning och
Tyvärr vägrade forskaren.

"Han sa att han lovade tillverkaren att inte ge mig en kopia", säger han
Richard.

Minne är en rolig sak. 20 år efter denna händelse, minne
Stallman är full av tomma fläckar. Han glömde inte bara orsaken
kom till Carnegie Mellon, men också om vem som var hans motsvarighet i detta
obehagligt samtal. Enligt Reed var denna person mest trolig
Robert Sproll, tidigare anställd på Xerox Research and Development Center
Palo Alto, som senare blev chef för forskningen
divisioner av Sun Microsystems. På 70-talet var Sproll programledare
utvecklare av program för Xerox laserskrivare. Någon gång 1980
Sproll tackade ja till en tjänst som forskare vid Carnegie Mellon, där
fortsatte att arbeta med laserskrivare.

Men när Sprall får frågor om det här samtalet lurar han bara
händer. Detta är vad han svarar via e-post: "Jag kan inte säga
inget bestämt, jag minns ingenting alls om den här händelsen."

"Koden Stallman ville ha var banbrytande,
en verklig gestaltning av konst. Sproll skrev det ett år tidigare
kom till Carnegie Mellon eller något liknande, säger Reed. Om det här
Det finns faktiskt ett missförstånd: Stallman behövs
ett program som MIT har använt länge, inte något nytt
hennes version. Men i det korta samtalet sades inte ett ord om
alla versioner.

När han interagerar med publiken minns Stallman regelbundet händelsen i
Carnegie Mellon understryker att oviljan till
person att dela källkoder är bara en konsekvens av avtalet om
sekretess, som föreskrivs i avtalet mellan honom och
av Xerox. Nuförtiden är det vanligt att företag kräver
upprätthålla sekretess i utbyte mot tillgång till den senaste utvecklingen, men samtidigt
NDA var något nytt då. Det återspeglade vikten för Xerox av båda
laserskrivare och den information som behövdes för deras drift.
"Xerox försökte göra laserskrivare till en kommersiell produkt,"
påminner Reed, "det skulle vara galet för dem att ge bort källkoden till alla
avtal".

Stallman uppfattade NDA helt annorlunda. För honom var det ett avslag
Carnegie Mellon deltar i samhällets kreativa liv, i motsats till hittills
uppmuntras att se program som samhällsresurser. Som om
skulle en bonde plötsligt upptäcka att månghundraåriga bevattningskanaler
torkade ut, och i ett försök att hitta orsaken till problemet skulle han nå gnistrande
nyheten med ett vattenkraftverk med Xerox-logotypen.

Det tog Stallman lite tid att förstå den verkliga orsaken till vägran -
ett nytt format för interaktion mellan programmeraren och
företag. Först såg han bara personlig vägran. "Det är så för mig
Jag var arg över att jag inte ens kunde hitta något att säga. Jag vände mig bara om och
"Jag gick ut tyst", minns Richard, "kanske jag till och med slog igen dörren, inte
Jag vet. Jag minns bara en brinnande önskan att komma därifrån så snabbt som möjligt. Jag gick trots allt
till dem, förväntade sig samarbete och tänkte inte ens på vad jag skulle göra om jag
de kommer att vägra. Och när detta hände var jag bokstavligen mållös -
Det chockade och upprörde mig så mycket.”

Även 20 år senare känner han fortfarande ekot av den ilskan och
besvikelser. Incidenten på Carnegie Mellon var en vändpunkt i livet
Richard, ställer honom ansikte mot ansikte med ett nytt etiskt problem. I
de följande månaderna kring Stallman och andra AI Lab-hackare
en hel del händelser kommer att hända, jämfört med vilka dessa 30 sekunder av ilska och
besvikelser på Carnegie Mellon kommer att verka som ingenting. Ändå,
Stallman ägnar särskild uppmärksamhet åt denna händelse. Han var den första och
den viktigaste punkten i raden av händelser som avvisade Richard
en ensam hackare, en intuitiv motståndare till centraliserad makt, i
radikal evangelist för frihet, jämlikhet och broderskap i
programmering.

"Detta var mitt första möte med ett sekretessavtal, och jag
Jag insåg snart att människor blir offer för sådana överenskommelser, - med tillförsikt
säger Stallman, "Jag och mina kollegor var sådana offer.
Laboratorier."

Richard förklarade senare: "Om han hade tackat nej av personliga skäl skulle det ha varit det
det skulle vara svårt att kalla det ett problem. Jag kunde räkna det i gengäld
en skitstövel, och det är allt. Men hans vägran var opersonlig, han fick mig att förstå
att han inte kommer att samarbeta inte bara med mig, utan med någon överhuvudtaget
var. Och detta skapade inte bara ett problem, utan gjorde det också verkligen
enorm."

Även om det hade funnits problem under tidigare år som gjorde Stallman arg,
Enligt honom var det först efter händelsen på Carnegie Mellon som han insåg det
den programmeringskultur som han ansåg vara helig börjar
förändra. ”Jag var redan övertygad om att program borde vara offentligt tillgängliga
för alla, men kunde inte formulera det tydligt. Mina tankar i denna fråga
var för vaga och kaotiska för att uttrycka dem alla
för världen. Efter händelsen började jag inse att problemet redan fanns, och
att det måste åtgärdas just nu."

Att vara en förstklassig programmerare på ett av de starkaste instituten
fred, Richard ägnade inte mycket uppmärksamhet åt andras avtal och transaktioner
programmerare - så länge de inte stör hans huvudsakliga arbete. Medan du är inne
Xerox laserskrivare kom inte till laboratoriet, Stallman hade allt
möjligheter att se ner på de maskiner och program de led av
andra användare. Han kunde trots allt ändra dessa program som han trodde
nödvändig.

Men tillkomsten av en ny skrivare hotade denna frihet. Anordning
fungerade bra, även om han med jämna mellanrum tuggade papper, men det fanns ingen
möjligheter att ändra sitt beteende för att passa lagets behov. Ur synvinkel
mjukvaruindustrin, stänga skrivarprogrammet var
ett nödvändigt steg i verksamheten. Program har blivit en så värdefull tillgång att
företag hade inte längre råd att publicera källkoder,
speciellt när programmen förkroppsligade en del banbrytande teknologier. Trots allt
då kunde konkurrenterna kopiera dessa praktiskt taget gratis
teknologier för sina produkter. Men från Stallmans synvinkel var skrivaren det
Trojansk häst. Efter tio år av misslyckade distributionsförsök
"proprietära" program för vilka gratis distribution är förbjuden och
modifiering av koden, detta är exakt programmet som infiltrerade hackares hemvist
på det mest lömska sätt - under täckmantel av en gåva.

Det Xerox gav vissa programmerare tillgång till kod i utbyte mot
att upprätthålla sekretess var inte mindre irriterande, men Stallman var plågad
medgav att han vid en yngre ålder med största sannolikhet skulle ha gått med på det
Xerox erbjudande. Incidenten på Carnegie Mellon stärkte hans moral
position, inte bara anklagar honom för misstänksamhet och ilska mot
liknande förslag i framtiden, men också genom att ställa frågan: vad,
om en hackare en dag kommer med en liknande begäran, och nu till honom,
Richard kommer att behöva vägra att kopiera källorna, enligt kraven
arbetsgivare?

"När jag erbjuds att förråda mina kollegor på samma sätt,
Jag minns min ilska och besvikelse när de gjorde samma sak mot mig och
andra medlemmar i Laboratoriet, säger Stallman, så
tack så mycket, ditt program är underbart, men jag kan inte hålla med
på villkoren för dess användning, så jag klarar mig utan den."

Richard kommer att bevara minnet av denna lektion under det turbulenta 80-talet, när
många av hans laboratoriekollegor kommer att arbeta i andra företag,
bunden av sekretessavtal. De sa säkert till sig själva
att detta är ett nödvändigt ont på vägen till att arbeta med de mest intressanta och
frestande projekt. Men för Stallman, själva existensen av NDA
ifrågasätter projektets moraliska värde. Vad kan vara bra
i ett projekt, även om det är tekniskt spännande, om det inte tjänar det allmänna
mål?

Mycket snart insåg Stallman att oenigheten med sådana förslag
har ett betydligt högre värde än personliga yrkesintressen. Sådan
hans kompromisslösa hållning skiljer honom från andra hackare som, även om
avskyr sekretess, men är redo att gå till moraliska längder
kompromisser. Richards åsikt är tydlig: vägran att dela källkod
detta är ett svek mot inte bara forskarrollen
programmering, men också moralens gyllene regel, som säger att din
din inställning till andra ska vara densamma som du vill se
inställning till dig själv.

Detta är vikten av laserskrivarens historia och händelsen i
Carnegie Mellon. Utan allt detta, som Stallman medger, gick hans öde
skulle ta en helt annan väg, balansera mellan materiell rikedom
kommersiell programmerare och slutlig besvikelse i livet,
spenderade på att skriva programkod osynlig för alla. Hade inte
det skulle inte vara någon idé att tänka på detta problem, där resten till och med
såg inte problemet. Och viktigast av allt, det skulle inte finnas den livgivande delen
ilska, vilket gav Richard energi och självförtroende att gå vidare.

”Den dagen bestämde jag mig för att jag aldrig skulle gå med på att delta i
detta”, säger Stallman och syftar på NDA och hela kulturen i allmänhet,
som främjar utbyte av personlig frihet för vissa förmåner och
Fördelar.

"Jag bestämde mig för att jag aldrig skulle göra en annan person till det offer jag blev.
en dag själv."

Källa: linux.org.ru

Lägg en kommentar