Эпоха до Сети

Мне известно, что в Новосибирске существовала хорошая хэкерская тусовка, ибо еще в советское время доходили до нас замечательные (как сейчас принято говорить — «свободные») программы VFY (verify), FIX (FAT Fixer), DBG (debugger) и TOR (Текстовый Оконный Редактор). Об этом вам лучше спросить у Сержа Терехова, известного по FIDO своим мэйлером «Бинкоплюсом». Я помню, как во время сисопки на ВДНХ мы собирали деньги Сержу на скоростной модем, чтобы он согласился поддерживать его в следующих релизах Bink/+’а.

Я могу рассказать лишь о становлении хэкерства в Москве, да еще о той части нашего движения, которая продолжает традиции советских неформалов. Кстати, современные неформалы, бунтующие против власти полиции и денег над людьми, мне гораздо ближе старых «гениев», которым совок «не давал раскрутиться и жить как людям».

Центры, где зарождалось и развивалось хэкерство в Москве, назвать просто – это были те редкие места, где подросткам удавалось добраться до первых завезенных к нам компьютеров. ВЦ Академии Наук, Дворец Пионеров (теперь – Дворец Творчества), УПЦ ВТ (теперь – Лицей Информационных Технологий), позже – ДНТТМ. Конечно, тусовочки возникали и вокруг детей богатых или высокопоставленных родителей, но кошелек родителей не всегда способствует развитию ума у ребенка. Кроме того, чем больше ребят имели доступ к технике, тем больше был коллективный разум хэкерского сообщества, находящий всякие недокументированные дыры и «особенности», тем больше была вероятность, что среди народа найдется кто-нибудь толковый.

Хэкерство процветало там, где учителя сознательно (или неосознанно?) выстраивали иерархические системы по принципу знаний и умений. Больше всего мы, новички, ценили и слушались тех, кто создавал общедоступные программы, чьи имена мы видели на экранах своих мониторов. После ухода из УПЦ ВТ Юрия Галутина, автора клона MSX-DOS’а (это не опечатка), порядок, установленный им, еще долго передавался как устное предание. Школьники допускались к компьютерам только с рукописным текстом программы, над которой они собирались работать. На листочке с текстом должно было также указываться ориентировочное время работы над программой и подпись учителя. На выходе из компьютерного класса школьник предъявлял распечатку своей, уже отлаженной, программы. Да, тяжел путь к мастерству...

Дворец был замечателен тем, что туда мог прийти каждый, вне зависимости от номера и престижности школы. К УПЦ ВТ было прикреплено лишь несколько школ, зато учителям удалось создать сообщество студентов-выпускников. Приглянувшиеся им школьники (а оценивали нас исключительно за знания и интеллект) могли оставаться за компьютерами после занятий. Часто за компьютерное время или ответ на вопрос нам приходилось расплачиваться, бегая к метро «Университет» за дешевыми пирожками по пять копеек. Пирожки доставались и школьникам, мы делились не только программами. В УПЦ, впрочем, как и во Дворце, была та самая атмосфера кооперации, которую стремится воссоздать в Америке Ричард Столлмен.

Иерархия по знаниям (слово «элита» всеми подразумевалась, но очень редко использовалась в устной и письменной речи) всеми воспринималась естественно, как нечто вынужденное и временное, пока не научишься. Действительно, кто бы отказался от знакомства с человеком, способным за поеданием пирожка решить проблему, над которой ты уже бьешься целый месяц! А кто подпустил бы чайника к единственному в классе дисководу и принтеру! Он бы забил бумагой все дырки в дисководе, а на дискетах распечатывал свой недоделанный «Hello, World!». (Кстати, большей популярностью пользовалась BASIC-программа, спрашивающая имя пользователя и выводящая его обратно с пометкой «-придурок!»). Старшие всегда относились с пониманием к младшим и помогали им на нелегком пути хэкера. (Особенно, если младшие не выпендривались и на столе всегда были пирожки. Культура взяточничества махрово процветала, и сытые студенты были значительно дружелюбнее и разговорчивее голодных. Совместная трапеза вообще всегда сближает. ;-) )

Если мы доставали «буржуйскую» программу с защитой от копирования, то с радостью ломали ее, чтобы «все смогли пользоваться». Мы чувствовали себя героями, Робин Гудами, революционерами, наносящими удар акулам капитализма. Новую игру всегда пытались взломать все, способные на взлом, а дыры (с именами первых взломавших) вскоре начали записывать в специальный файл, GAME.DOC. Количеством вхождений в этот файл гордились, как перьями в волосах, звездочками на погонах или бортах самолетов. Впрочем, это было развлечение лишь до определенного уровня мастерства (по современной шкале, до уровня зеленого браслета). Старшие хэкеры если и играли, то принципиально лишь в невзломанные игры, а людей продолжали оценивать по количеству сделанных добротных программ, которыми пользовалось все сообщество.

Когда СССР развалили, нам стали навязывать другую «культуру», мир копирайта. К чему это двуличие? Россия всегда была родиной «пиратства» и свободного софта. Если закон теперь запрещает использовать скопированные лицензионные программы, давайте их не использовать. Многие люди моего поколения, бастарды Майкрософта, вскормленные ворованным софтом в стране, не знающей авторских прав, перешли теперь в лагерь Линуса Торвальдса и Ричарда Столлмана.

Эпоха FIDO

Сеть FIDO всегда была средоточием технической элиты. Даже сейчас, когда компьютеры появились в каждой организации и в большинстве семей (а количество специалистов увеличилось незначительно), средний уровень «фидошника» выше среднего уровня пользователя Интернет.

Это и понятно – чтобы воспользоваться бесплатной сетью FIDO, вам придется самому инсталлировать, настроить и связать друг с другом не менее пяти сложных программ. А на то, чтобы постигнуть фидошную культуру и тонкости работы сети, уйдет не менее года.

Для большинства сеть FIDO начиналась с лазания терминалом по BBS — электронным доскам объявлений. Привлеченные большим количеством свободных программ, пользователи постепенно узнают об областях сообщений (Message Areas), заводят друзей, разбирающихся лучше них в компьютерах.

FIDO быстро объединило разрозненные хэкерские тусовки разных городов. Такие эхоконференции, как SU.HARDWARE и RU.HACKER стали университетами для сотен русскоязычных хэкеров. Доступность электронных текстов, которые легко пересекают любые границы, дала доступ читающей по-английски публике к мировой хэкерской культуре. Хотя культура FIDO/BBS сильно отличается от культуры хэкеров Интернет, в 90-е наметилось их серьезное сближение.

У FIDO появились официальные сайты в Интернет, международный трафик FIDO стал качаться по Интернет, создатели мэйлеров и систем BBS начали распространять свои программы через ftp и Web-сайты.

Сеть FIDO – вторичная хэкерская волна. В Книге [hack2] упоминается, как хэкер первой волны Билл Гейтс сумел вывести свою корпорацию на первое место и навязать всем свою философию (копировать программы может лишь их создатель, исходные тексты запрещены, изучение устройства программ подсудно), принесшую ему неплохой доход. FIDO – результат экспансии тандема IBM PC и MS DOS в квартиры миллионов неспециалистов, которые, благодаря своему опыту, все-таки достигли вершин мастерства, хотя и в отрыве от основной хэкерской традиции. Хэкерам FIDO неоткуда было взять культуру открытого исходного текста. Фидошники выработали свое представление о свободных программах, которые можно бесплатно копировать, но оно значительно у` же Столлменовского. «Свободные» программы фидошников обычно поставляются без исходных текстов, их запрещается бесплатно использовать в коммерческих целях, продавать.

Культура FIDO, поощряющая shareware, значительно агрессивнее. До сих пор на BBS можно встретить программы, защищенные от копирования или с ограничением в пользовании, хотя во всем остальном мире это давно уже моветон.

Две стороны хэкерства

Легенда гласит, что у хэкерства есть две стороны, Светлая (The Light Side (of Hacking)) и Темная (The Dark Side (of Hacking)). И что некоторых хэкеров, соблазнившихся ложными ценностями этого мира (деньгами, дорогими компьютерами и т. д.) сманивает Темная Сторона Хэкерства, они начинают грабить банки, и заканчивают свою жизнь за решеткой. Хэкеры же Светлой Стороны создают гениальные программы и делают их свободными, доступными всем желающим.

Действительно, хэкерство, как и любое искусство, можно использовать как в конструктивных, так и в деструктивных целях. К сожалению, мой опыт показывает, что более социально востребованной является деструктивная сторона хэкерства. Весь компьютерный рынок нашей страны завязан на «пиратские» программы. Может быть, именно поэтому СМИ упорно насаждают образ «хакера»-деструктора, ведь обществу нужны компьютерные воины и защитники. Радует лишь то, что чем дальше продвигается хэкер по своему пути, тем сильнее он начинает склоняться к креативности, тем больше начинает ценить красоту алгоритмов и хорошего кода.

Ко мне приходят разные ребята. Некоторые находятся под воздействием лживых фильмов и статей, рекламирующих негативный образ «хакера». Обычно, после ознакомления с настоящим хэкерским миром и культурой компьютерного андеграунда, они начинают скептически относиться к обывательскому представлению о «хакерах» и больше ценить знания. Чтобы вредить людям, особого ума не нужно. Любой, кто сможет поднять кувалду, сможет разрушить компьютер. Сложнее научиться управлять компьютером и направить его на помощь людям.

Можно ли обучить хэкерству?

Когда в 1996 году я создавал Школу, окружающие давали однозначно заявляли: «Нет! Хэкером надо родиться.» Сейчас, глядя на успехи нашей Школы, многие считают, что стать хэкером очень просто – достаточно лишь регулярно посещать хэкерские практики.

Но я до сих пор считаю, что хэкером надо родиться. Я уже точно знаю, что я могу дать людям, а что нет.

Конечно, хэкерские практики могут обогатить любого человека. Специальные упражнения научат сосредоточенности, позволят развить интеллект, повысить скорость печати на клавиатуре. Документация может дать необходимые знания, а практика –полезные навыки.

Но все это полезно только для тех, у кого уже есть что-то хэкерское в душе. Только такие люди будут открывать книги, свободно экспериментировать, работать над совершенствованием своих качеств. Мне нужны люди, ребята и взрослые, с горящими глазами, желающие невозможного, готовые ежедневно преодолевать свои вчерашние достижения. Именно поэтому я и провожу в начале каждого учебного года жесткие конкурсы. Не для того, чтобы выявить знания кандидата, как думают многие. Знания человек сможет получить в Школе. Лишь для того, чтобы измерить его настойчивость, трудолюбие, стремление стать хэкером.

Свою задачу я вижу лишь в создании условий для развития хэкеров, в выработке системы аттестаций, защищающей тех, чьи знания поднимаются над общим уровнем, в организации хэкерских Центров с необходимой техникой и документацией, рабочей атмосферой созидательного творчества.

Построение хэкерского Центра

Хэкерский Центр – это место, специально предназначенное для самосовершенствования хэкеров и развития хэкерского искусства. Настоящий хэкер сможет развиваться где угодно, но не все «рождаются с руководством администратора UNIX в зубах», многих нужно поддержать в начале пути. Да и сам хэкер будет куда быстрее развиваться в хэкерском Центре, чем вдали от компьютеров, сети, документации и тусовки.

В идеале, хэкерский Центр должен быть расположен вдали от городской суеты, и быть в некотором смысле автономным. Хэкеры, живущие в нем, должны быть избавлены от экономических проблем, и посвящать большую часть своей жизни самосовершенствованию. Компьютерный зал, хорошее подключение к сети Интернет, жилые помещения, столовая, спортзал, мультимедиа библиотека, сад, мастерская.

Для построения и функционирования такого Центра достаточно семи хэкеров с четко распределенными обязанностями, но можно обойтись и тремя фанатами своего дела. Должно пройти много лет, прежде чем нам удастся построить хотя бы один такой, идеальный Центр.

Не стоит расстраиваться, если у вас недостаточно ресурсов для создания в вашем городе идеального Центра. Я небогатый человек, но на протяжении последних трех лет мне удается поддерживать Московский хэкерский Центр. Начинал я с уголка однокомнатной квартирки, в которой собирались мои друзья и другие начинающие хэкеры. Уже через полтора года удалось снять однокомнатную квартиру специально для Центра. Живя на кухне, я смог использовать всю комнату исключительно для занятий.

Сейчас Московский Центр представляет собой двухкомнатную квартиру, где у меня уже есть своя комната для жизни, а ученики могут спокойно попить со мной чай на кухне. Компьютерный зал с недорогими компьютерами является воплощением моей мечты, а непритязательным гостям всегда есть, где разложить свой спальник.

Для меня очевидно, что построение идеального хэкерского Центра — не пустая фантазия, и я стараюсь своей работой приблизить время его появления. Если вы хотите помочь мне в этом строительстве или воспользоваться моей помощью при создании центра в вашем городе – вы всегда желанный гость в Московском хэкерском Центре.

Построение учебного процесса

Для построения полноценного учебного процесса необходимы:

  • Учитель, не обязательно проживающий в том же хэкерском Центре. Он может жить даже в другой стране, главное – чтобы с ним всегда можно было связаться для решения сложных проблем.
  • Глава Центра, живущий в хэкерском Центре, и выполняющий функции Учителя в его отсутствие.
  • Лидеры хэкерской группы, по одному на каждую группу. В задачи лидера группы входит поддержание постоянных практик группы, забота о сильном и постоянном составе хэкерской группы. В совсем маленьких Центрах-филиалах функции лидера группы может выполнять Глава Центра.

Практика

Часто хэкерство определяют как «практическое» или «экспериментальное» программирование, противопоставляя его «теоретическому» программированию, мало помогающему в реальной и виртуальной жизни. Действительно, ключ к хэкерскому обучению – практика. При высшей форме практики, free practice, хэкер сам ставит перед собой задачу, работает над ней и успешно ее решает.

Если перед лидером стоит задача сформировать сильную группу, он должен следить за дисциплиной на практиках.

Жизнь показала, что хэкерская практика будет слабой, если на ней люди:

  • Разговаривают.
  • Тратят энергию на паразитную «шумовую» двигательную активность (почесывания, ерзанье и т. д.).
  • Играют в компьютерные и другие игры.
  • Читают почту.
  • Читают текстовые файлы нетехнического содержания.
  • Инсталлируют программы, наводят порядок на винчестере. Порядок надо поддерживать постоянно, но наводить его и инсталлировать новые программы надо вне занятий.
  • Качают «тонны» информации с BBS или ftp. 99% этой информации никогда не будет прочитана или другим образом использована.
  • Лазают по WWW, превращаясь в информационных потребителей.
  • Проводят время за разговорами на IRC. («IRC is more destructive, than drugs.»)
  • Собирают/разбирают типовой компьютер.

Практика будет сильной, если на ней все присутствующие:

  • Изучают язык программирования.
  • Выполняют упражнения БАЗЫ.
  • Пишут свою программу или (еще лучше!) участвуют в совместном программном проекте.
  • Пытаются разобраться в чужом исходном тексте. Особенно если это текст системной программы.
  • Занимаются reverse engineering.
  • Экспериментально изучают особенности программы, формата файлов, языка программирования или аппаратуры.
  • Читают документацию.
  • Изучают принципиальные электронные схемы.
  • Проектируют и собирают свои (или, еще лучше, совместные!) электронные устройства.

На первых порах полезно читать технические ньюс-группы и эхоконференции, но по мере расширения центра это начинает сильно отвлекать от дела. Чем профессиональнее человек, тем более придирчиво он должен относиться к тому, что читает, равно как и к «эхам» и «ньюсам», на которые подписан.

Практика относится к «восточной» стороне Школы и, к сожалению, слабо понимается традиционной «советской» педагогикой.

Конечно же, это не мешает проводить учебные ролевые игры на семинарах и играть по праздникам или на досуге.