Показаны сообщения с ярлыком Кто здесь???. Показать все сообщения
Показаны сообщения с ярлыком Кто здесь???. Показать все сообщения

6.20.2007

Хакер (из Википедии)

Хакерами (от англ. hack) называют особый тип компьютерных специалистов. Иногда этот термин применяют для обозначения специалистов вообще — в том контексте, что они обладают очень детальными знаниями в каких-либо вопросах, или имеют достаточно нестандартное и конструктивное мышление. С момента появления этого слова в форме компьютерного термина (произошедшего в 1960-е годы), у него появлялись новые, часто достаточно различные, значения.
Файл Жаргона даёт следующее определение:

Хакер (изначально — кто-либо, делающий мебель при помощи топора):
Человек, любящий исследование подробностей (деталей) программируемых систем, изучение вопроса повышения их возможностей, в противоположность большинству пользователей, которые предпочитают ограничиваться изучением необходимого минимума. RFC 1392 усиливает это определение следующим образом: «Человек, наслаждающийся доскональным пониманием внутренних действий систем, компьютеров и компьютерных сетей в особенности».
Кто-либо программирующий с энтузиазмом (даже одержимо), или любящий программировать, а не просто теоретизировать о программировании.
Человек, способный ценить и понимать хакерские ценности.
Человек, который силён в быстром программировании.
Эксперт по отношению к определённой компьютерной программе, или кто-либо часто работающий с ней; пример: «хакер Unix». (Определения с первого по пятое — взаимосвязанные, так что один человек может попадать под несколько из них.)
Эксперт или энтузиаст любого рода. Кто-либо может считаться «хакером астрономии», например.
Кто-либо любящий интеллектуальные испытания, заключающиеся в творческом преодолении или обходе ограничений.
В последнее время слово «хакер» имеет менее общее определение — этим термином называют сетевых взломщиков и других сетевых преступников, таких как кардеры, крякеры, скрипт-кидди и сетевые пираты.

Несмотря на историческую неправильность, отмечаемую Файлом Жаргона, в настоящее время частым является употребление слова именно в последнем значении — «компьютерный злоумышленник». Более того, в кинофильмах хакер обычно подаётся как человек, который способен с ходу «взломать» любую систему, что на самом деле невозможно в принципе. Например, в фильме «Пароль „Рыба-меч“» программист (которого играет Хью Джекмен) взламывает шифр Вернама — единственную из существующих систем шифрования, для которой теоретически доказана абсолютная криптографическая стойкость.

Этика хакеров
В Викитеке есть тексты по теме
ХакерВ среде хакеров принято ценить время своё и других хакеров («не изобретать велосипед»), что в частности подразумевает необходимость делиться своими достижениями, создавая свободные программы.

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

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

Брюс Стирлинг в своей работе «Охота на хакеров»[1] возводит хэкерское движение к движению телефонных фрикеров, которое сформировалось вокруг американского журнала TAP, изначально принадлежавшего молодёжной партии йиппи (Youth International Party), которая явно сочувствовала коммунистам. Журнал TAP представлял собою техническую программу поддержки (Technical Assistance Program) партии Эбби Хоффмана (Abbie Hoffman), помогающую неформалам бесплатно общаться по межгороду и производить политические изменения в своей стране, порой несанкционированные властями.


Исторические причины существования различий в значениях слова «хакер»
Значение слова «хакер» в первоначальном его понимании, вероятно, возникло в стенах MIT в 1960-е задолго до того, как компьютеры стали широко распространены. Тогда оно являлость частью местного слэнга и могло обозначать простое, но грубое решение какой-либо проблемы; чертовски хитрую проделку студентов (обычно автора и называли хакером). До того времени слова «hack» и «hacker» использовались по разным поводам безотносительно к компьютерной технике вообще.

Первоначально появилось жаргонное слово «to hack» (рубить, кромсать). Оно означало процесс внесения изменений «на лету» в чужую программу (предполагалось, что имеются исходные тексты программы). Отглагольное существительное «hack» означало результаты такого изменения. Весьма полезным и достойным делом считалось не просто сообщить автору программы об ошибке, а сразу предложить ему такой хак, который её исправляет. Слово «хакер» изначально произошло именно отсюда.

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

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

Некоторые из личностей, известных как поборники свободного и открытого программного обеспечения — например, Ричард Столлмэн — призывают к использованию слова «хакер» только в первоначальном смысле.


«Планёр», неофициальный символ движения хакеровВесьма подробные объяснения термина в его первоначальном смысле приведены в статье Эрика Рэймонда «Как стать хэкером» [2]. Также Эрик Рэймонд предложил в октябре 2003 года эмблему для хакерского сообщества — символ «планёра» (glider) из игры «Жизнь». Поскольку сообщество хакеров не имеет единого центра или официальной структуры, постольку предложенный символ нельзя считать официальным символом хакерского движения. По этим же причинам невозможно судить о распространённости этой символики среди хакеров — хотя вполне вероятно, что какая-то часть хакерского сообщества приняла её.

Известные хакеры (в первоначальном смысле слова)
Линус Торвальдс
Ларри Уолл
Ричард Столлмэн
Джефф Раскин
Эрик Рэймонд
Крис Касперски
Кевин Митник, бывший хакер-злоумышленник
Известные взломщики
Роберт Моррис — автор Червя Морриса 1988 года
Кевин Митник
Владимир Левин

6.16.2007

Хакер, как много в этом слове...

Хакер - (от англ. to hack= успешно управлять). Хакер (в изначальном значении) - высокопрофессиональный и весьма любопытный программист, способный к нетривиальным решениям. Будучи искушенным в тонкостях компьютерных систем, такой программист способен как принести большую пользу, так и нанести существенный урон. В настоящее время слово "хакер" используется почти исключительно как обозначение человека злонамеренного, асоциального и безусловно опасного, то есть является синонимом слова "взломщик" в применении к компьютерам и сетям.

Хакер (теперь и все чаще) - лицо, совершающее различного рода незаконные действия в сфере информатики:
- несанкционированное проникновение в чужие компьютерные сети и получение из них информации;
- незаконные снятие защиты с программных продуктов и их копирование;
- создание и распространения компьютерных вирусов и т.п.

Надо отметить, что сегодняшний компьютерный вредитель вовсе не обязательно высокопрофессионален - существует огромное количество готовых инструментов для взлома компьютерных сетей и серверов, доступных для применения любым желающим. К сожалению, желающих обычно предостаточно, так что взлом на сегодня является вполне серьезной проблемой. Несмотря на то, что на нашем сайте вы можете свободно приобрести полное и необходимое собрание ХАКЕРА на диске, включая интерактивные учебные курсы, мы очень надеемся, что полученные знания не будут использованы вами в противозаконных целях.

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

Нередко пользователи не стремятся овладеть знаниями хакера, но желают получить опыт администрирования собственного компьютера. И это совсем другая история :-)

6.14.2007

Как стать хакером (баян, но лучше ещё не придумано...)

Оригинал на английском языке: How To Become A Hacker.
Эрик С. Рэймонд
Eric S. Raymond

Зачем нужен этот документ?Как редактор "Жаргон-файла" (Jargon File), я часто получаю электронную почту от сетевых новичков-энтузиастов с вопросами, в конечном итоге сводящимися к одному: "Как же мне научиться, чтобы стать кудесником-хэкером?". Достаточно забавно, что, насколько можно видеть, нет никаких ЧаВО (FAQs) или Web-документов, содержащих ответ на этот жизненно-важный вопрос. Так что вот вам мой.
Если вы читаете копию этого документа в офф-лайне, то текущая версия оригинала (на английском языке) живет по адресу http://www.ccil.org/~esr/faqs/hacker-howto.html.
Что такое хэкер?"Жаргон-файл" содержит кучу определений для термина "хэкер", большинство которых связано с технической компетентностью и удовольствием, получаемым от решения проблем и преодоления преград. Но если же вы хотите знать, как стать хэкером, то действительно существенными являются два аспекта.
Имеется некоторое сообщество, некая общая культура, состоящая из опытных программистов и сетевых чародеев, которая ведет свою историю от многолетней давности первых миникомпьютеров с разделением времени и от самых ранних экспериментов с сетью ARPAnet. Члены этой культуры и дали рождение термину "хэкер". Хэкеры построили Интернет. Хэкеры сделали операционную систему Unix тем, чем она является сегодня. Хэкеры ведут Usenet. Хэкеры обеспечивают работу World Wide Web. Если вы являетесь частью этой культуры, если вы сделали в нее свой вклад, и другие члены этой культуры знают кто вы и называют вас хэкером, то вы - хэкер.
Хэкерский взгляд на мир не ограничивается лишь культурой хэкеров-программистов. Есть люди, применяющие хэкерский подход и к другим вещам, вроде электроники или музыки. В действительности, вы можете встретиться с ним на высших уровнях любой науки или искусства. Софтверные хэкеры признают таких близких по духу людей и тоже могут называть их "хэкерами", некоторые даже провозглашают, что хэкерская природа на самом деле не зависит от среды, в которой работает хэкер. Но в остальной части данного документа мы сосредоточимся на навыках и подходах софтверных хэкеров, а также на традициях той общей культуры, что породила термин "хэкер".
Имеется и другая группа людей, громко именующих себя хэкерами, но они ими не являются. Это те люди (главным образом, молодежь мужского пола), кого тягают за взлом компьютерных и телефонных систем. Настоящие хэкеры называют таких людей "крэкерами" и не желают иметь с ними ничего общего. Настоящие хэкеры в большинстве своем считают крэкеров ленивыми, безответственными и не особо умными. То, что человек способен взломать систему безопасности, не делает его хэкером, точно так же как умение угонять тачки не делает вас автомобильным мастером. К несчастью, многие журналисты и писатели введены в заблуждение и используют слово "хакер" для описания крэкеров, и это бесконечно раздражает настоящих хэкеров.
Главное различие в следующем: хэкеры строят вещи, а крэкеры их ломают.
Если вы хотите стать хэкером, то продолжайте чтение. Если же вы хотите стать крэкером, то отправляйтесь читать ньюз-группу alt.2600 и приготовьтесь отсидеть от пяти до десяти лет в тюрьме, когда обнаружите, что не настолько ловки, насколько полагали. И это все, что я намерен сказать о крэкерах.
Хэкерский подход Хэкеры решают проблемы и строят вещи, они верят в свободу и в добровольную взаимопомощь. Для того, чтобы вас воспринимали как хэкера, вы должны вести себя так, как если бы это была ваша собственная позиция. А для того, чтобы вести себя так, будто это ваша позиция, вы должны действительно верить в эту позицию.
Но если вы рассчитываете культивировать хэкерские подходы лишь для получения признания в культуре, то вы упустили суть. Стать таким человеком, кто верит в подобные вещи - это важно для вас, потому что это поможет вам научиться и поддержит стремление. Как и в любом творчестве, самый эффективный способ стать мастером - это подражать мировоззрению мастеров, не только интеллектуально, но также и эмоционально.
Так что если вы хотите стать хэкером, то повторяйте следующие вещи, пока не поверите в них:
1. Мир полон пленительных проблем, ждущих своего решения.Быть хэкером - это огромное удовольствие, но это удовольствие такого рода, которое требует массы усилий. Для таких усилий нужна мотивация. Атлеты-чемпионы черпают мотивацию из своего рода физического удовольствия, получаемого от доведения собственного тела до совершенства, от преодоления собственных физических пределов. Подобно этому, чтобы быть хэкером вы должны получать максимум удовольствия от решения проблем, от оттачивания своих навыков, от тренировки своего интеллекта.
Если же вы не из тех, кто ощущает подобные вещи естественным образом, то вам понадобится стать таким, чтобы сделаться хэкером. В противном случае вы обнаружите, что вся ваша хэкерская энергия исчерпана такими раздражителями, как секс, деньги и успех в обществе.
(Вы также должны развить что-то вроде веры в ваши собственные способности к обучению. Веры в то, что даже если вы возможно и не знаете всего, что необходимо для решения проблемы, но если вы освоили лишь кусочек и на этом научились, то уже знаете достаточно, чтобы решить и следующий кусок - и так далее, пока все не будет сделано.)
2. Никто и никогда не должен решать проблему дважды. Творческие мозги - это ценный и ограниченный ресурс. Не следует растрачивать их на переизобретение колеса, когда вокруг ожидает так много чудеснейших новых проблем.
Чтобы вести себя как хэкер, вы должны верить, что время размышлений других хэкеров - драгоценно, причем настолько, что почти моральным долгом для вас является поделиться информацией. Решить проблемы, а затем просто раздать решения, чтобы другие хэкеры могли решать новые проблемы вместо того, чтобы беспрестанно возвращаться к старым.
(От вас не требуется верить, что вы обязаны раздать все плоды своего творчества, хотя те хэкеры, кто так делает, - наиболее уважаемы среди других хэкеров. С ценностями хэкеров вполне согласуется продажа плодов творчества, достаточная для обеспечения вас пищей, кровом и компьютерами. Согласуется это и с использованием ваших хэкерских навыков для поддержания семьи и даже для того, чтобы разбогатеть, пока занимаясь этим вы не забываете, что являетесь хэкером.)
3. Скука и рутина - это зло.Хэкеры (и вообще творческие люди) никогда не должны заниматься скучными вещами или погрязать в рутине монотонной работы, потому что когда это происходит, то это означает, что они не делают того, что могут делать лишь они - решать новые проблемы. Подобное расточительство вредит каждому. Поэтому скука и рутина - это не просто неприятные вещи, это зло.
Чтобы вести себя как хэкер, вы должны верить в это так, чтобы желать автоматизации всех скучных мелочей настолько, насколько возможно, и не только для себя, но и для всех остальных (особенно, для других хэкеров).
(Имеется одно явное исключение. Иногда хэкеры занимаются вещами, которые могут показаться монотонными или скучными стороннему наблюдателю, в качестве упражнения для прочистки мозгов или же для выработки навыка. Либо же для приобретения особого рода опыта, который невозможно получить иным путем. Но все это делается по собственному выбору, никто из умеющих думать никогда не должен принуждаться к скучной работе.)
4. Свобода - это благо.Хэкеры по самой своей природе анти-авторитарны. Любой, кто может отдавать вам приказания, может остановить решение вами любой из проблем, вас очаровавших. И, учитывая образ мышления авторитарных мозгов, найдутся какие-нибудь потрясающе идиотские причины, чтобы это сделать. Так что с авторитарным подходом следует сражаться всюду, где вы его встретите, дабы он не душил вас и других хэкеров.
(Это не то же самое, что сражаться со всеми властями. Детям нужно руководство, преступность необходимо сдерживать. Хэкер может соглашаться на принятие какого-то рода руководства, когда есть возможность получить то, что нужно и не особо много времени тратится на выполнение приказов. Но это ограниченная разумная сделка, что-то вроде личной уступки.)
Авторитаризм процветает в условиях цензуры и секретности. Его адепты не верят в добровольное сотрудничество и в деление информацией, им нравится только такое "сотрудничество", которым руководят они. Поэтому, чтобы вести себя как хэкер, вы должны выработать в себе инстинктивное неприятие цензуры, секретности, а также применения силы или лжи для принуждения ответственных взрослых людей. И действовать необходимо исходя из такой веры.
5. Позиция не заменит компетентность.Для того, чтобы быть хэкером, вы должны развить в себе некоторые из перечисленных подходов. Но ухватив лишь подход вы сделаетесь хэкером не в большей степени, чем спортсменом-рекордсменом или рок-звездой. Для того, чтобы стать хэкером, требуются интеллект, практика, самоотверженность и тяжкий труд.
Поэтому вам придется научиться с недоверием относится к позиции, но с уважением к компетентности любого рода. Хэкеры не позволят позерам транжирить их время, но они поклоняются компетентности, особенно - хэкерской компетентности, но компетентность хороша в чем угодно. Особо ценится обладание такими необходимыми навыками, которые мало у кого есть. А самое лучшее - это компетентность в таких навыках, которые требуют проницательного ума, сноровки и концентрации.
Если вы боготворите компетентность, то вы получаете наслаждение, развивая ее в себе. Тяжкий труд и преданность делу станут для вас захватывающей игрой, а не рутиной. И это жизненно необходимо для того, чтобы стать хэкером.
Основные навыки хэкера Хэкерский взгляд на жизнь - это важно, но мастерство - многократно важнее. Позиция не заменит компетентости, и существует определенный набор базовых навыков, которыми вам необходимо обладать, прежде чем любой из хэкеров помыслит назвать хэкером и вас.
Этот базовый набор со временем потихоньку изменяется по мере того, как технология порождает новые навыки и делает ненужными устаревшие. Например, обычно упоминалось программирование на машинном языке, но, вплоть до недавнего времени, в набор не включали язык HTML. Однако, в сегодняшний комплект вполне определенно входят следующие компоненты:
1. Научитесь программировать.Это, конечно же, фундаментальный хэкерский навык. Если вы не знаете ни одного компьютерного языка, я рекомендовал бы начать с языка Python. Он понятно разработан, хорошо документирован и относительно доброжелателен к новичкам. Несмотря на то, что он хорош для первого языка, это не просто игрушка. Это очень мощный и гибкий язык, хорошо подходящий для больших проектов.
Но знайте, что вы не достигнете хэкерского уровня мастерства (или даже просто уровня хорошего программиста), если будете знать лишь один язык. Вам необходимо научиться мыслить о проблемах программирования вообще, независимо от любого конкретного языка. Чтобы быть настоящим хэкером, вам надо достичь уровня, на котором вы сможете выучить новый язык за несколько дней, соотнося положения руководства с тем, что вам уже известно. Это означает, что вам следует выучить несколько очень разных языков.
Если вы занимаетесь серьезным программированием, то вам придется выучить Си, основной язык операционной системы Unix (хотя это и не тот язык, который следует пытаться выучить первым). Другие языки первостепенной важности для хэкеров - это Perl и LISP. Язык Perl имеет смысл выучить из практических соображений: он очень широко используется для активных web-страниц и системного администрирования, так что даже если вам никогда не придется писать на Perl, вы должны научиться его читать. LISP стоит выучить ради тех глубоких просвещенных познаний, которые вы обретете, когда наконец его освоите. Эти познания сделают вас прекрасным программистом на всю оставшуюся жизнь, даже если вы никогда особо и не будете использовать сам LISP.
Лучше всего, на самом деле, выучить все четыре этих языка (Python, C, Perl, и LISP). Помимо того, что это самые важные хэкерские языки, они демонстрируют очень разные подходы к программированию и каждый из них научит вас ценным вещам.
Я не могу дать здесь развернутые инструкции относительно того, как научиться программировать, - это сложное искусство. Но я могу сказать вам, что книги и курсы этому не научат (многие, возможно, большинство лучших хэкеров - это самоучки). Что этому учит, так это (а) чтение кодов и (б) писание кодов .
Научиться программировать - это как научиться писать хорошим естественным языком. Самый лучший способ для этого - почитать что-то из написанного мастерами, затем написать немного самому; прочесть побольше, написать немного побольше; прочитать еще больше, написать еще побольше... И повторять этот процесс до тех пор, пока ваши программы не разовьются в нечто мощное и экономичное.
Отыскать хорошие коды для чтения раньше было сложно, потому что было очень мало больших программ, доступных в исходных кодах и пригодных для изучения и возни юных хэкеров. Ныне ситуация кардинально изменилась: программы в исходных кодах, программистский инструментарий и операционные системы (все это создано хэкерами) теперь широко доступны. Что подводит меня прямо к следующему разделу...
2. Достаньте один из вариантов Unix в исходных кодах, научитесь его использовать и с ним работать. Я полагаю, что вы имеете персональный компьютер или можете получить к нему доступ (сегодня этим ребятам все достается так легко :-)). Единственный и самый важный шаг, который любой из новичков может предпринять для приобретения хэкерских навыков, - это раздобыть копию Linux или одной из версий BSD-Unix, установить ее на персональной машине и запустить.
Да, в мире есть и другие операционные системы помимо Unix. Но их распространяют в двоичном виде - вы не сможете читать коды и не сможете их модифицировать. Учиться хэкерству на машинах, работающих под DOS, Windows или MacOS - это все равно что учиться танцевать полностью загипсованным.
Кроме того, Unix - это операционная система Интернета. Хотя вы можете научиться использовать Интернет и не зная Unix, но вы не можете быть Интернет-хэкером, не понимая Unix. По этой самой причине сегодняшняя хэкерская культура является весьма сильно Unix-сконцентрированной. (Это не всегда было так, и некоторым из прежних хэкеров такое положение дел не очень по нраву, но симбиоз между Unix и Интернетом стал настолько прочен, что даже сил Microsoft не хватает, чтобы серьезно на это влиять.)
Так что заводите себе Unix, мне самому нравится Linux, но есть и другие варианты (и да-да, вы можете работать как под Linux, так и под DOS/Windows на одной и той же машине). Выучите эту ОС. Работайте с ней. Возитесь с ней. Общайтесь через нее с Интернетом. Читайте коды. Модифицируйте их. Вы получите такой программистский инструментарий (включая C, Lisp и Perl), о котором любая из ОС Microsoft и не мечтала. Вы получите удовольствие, и вы усвоите больше знаний, чем предполагали в процессе обучения, когда оглянетесь на этот процесс уже будучи мастером-хэкером.
Для дополнительной информации об изучении Unix см. The Loginataka.
Чтобы заполучить в свои руки Linux, см. Where can I get Linux ("Где мне взять Linux").
3. Научитесь использовать World Wide Web и писать на HTML. Большинство из тех вещей, что созданы хэкерской культурой, делают свое дело невидимо, помогая работать фабрикам, учреждениям и университетам без сколь-нибудь заметного влияния на жизнь не-хэкеров. WWW - это одно большое исключение, гигантская блестящая хэкерская игрушка, которая даже по признанию политиков изменяет мир. Лишь по одной этой причине (а также и множеству других приятных причин) вам следует научиться работать с Web.
Это не означает, что нужно просто научиться управляться с браузером (это любой умеет), но научиться писать на HTML, языке разметки документов Web. Если вы еще не умеете программировать, то писание на HTML обучит ваше мышление некоторым полезным привычкам, которые пригодятся при освоении языков программирования. Так что делайте домашнюю страничку.
Но простое обладание домашней страничкой даже и близко не подведет вас к тому, чтобы стать хэкером. В Web полным-полно домашних страничек. Большинство из них - это бессмысленный, бесполезный хлам. Крайне броско и привлекательно оформленный хлам, не спорю, но все равно хлам (подробнее об этом см. страничку "Ад HTML" -The HTML Hell Page).
Чтобы быть стоящей, ваша страничка должна иметь "контент" - содержание. Она должна быть интересной и / или полезной для других хэкеров. А это подводит нас к следующему разделу...
Статус в хэкерской культуре Как и большинство культур без денежной экономики, Хэкерландия строится на репутации. Вы пытаетесь решить интересные проблемы, но вот насколько они интересны, и насколько в действительности хороши ваши решения, - это нечто такое, о чем обычно могут судить только (в техническом смысле) равные вам или превосходящие вас.
Таким образом, когда вы играете в хэкерские игры, вы учитесь вести счет главным образом по тому, что думают о вашем мастерстве другие (именно поэтому вы не будете хэкером до тех пор, пока вас не станут так называть другие хэкеры). Данный факт затеняют как образ хэкера-одиночки, так и определенные табу хэкерской культуры (ныне существенно ослабевшие, но все еще мощные), не допускающие, чтобы чье-то эго или внешнее признание вообще могли бы быть мотивацией для хэкера.
В частности, Хэкерландия - это то, что антропологи именуют "культурой даров". Вы зарабатываете статус и репутацию не тем, что руководите другими людьми, и не тем что прекрасны, и не тем что имеете вещи, которые являются предметом вожделения других. Но скорее тем, что раздаете вещи. В частности, одаривая своим временем, своим мастерством и результатами своего творчества.
Есть пять основных типов вещей, которые вы можете делать, чтобы вас уважали хэкеры:
1. Пишите программы с открытым исходным кодом.Первое (самое главное и самое традиционное) - это писать программы, которые другие хэкеры считают забавными или полезными, и раздавать исходные коды программ для использования всей хэкерской культурой.
Мы привыкли называть такую работу "свободно-доступным программным обеспечением" (free software), но это привело в замешательство очень многих людей, точно не понимавших, что подразумевалось под словом "свободно-доступное". Теперь для такого программного обеспечения многие из нас предпочитают использовать термин "с открытым исходным кодом" или "open-source software".
Наиболее почитаемые полубоги Хэкерландии - это люди, которые написали большие и талантливые программы, отвечающие самым широким потребностям, и которые раздали их всем, так что каждый теперь их использует.
2. Помогайте тестировать и отлаживать программы с открытым исходным кодом Почитаемы также те, кто тестирует и отлаживает программы с открытым кодом. В этом несовершенном мире мы неизбежно затрачиваем самую большую часть времени разработки программы на фазу отладки. Именно поэтому любой думающий автор программ с открытым кодом скажет вам, что хорошие бета-тестеры (знающие, как внятно описать симптомы, хорошо локализующие проблемы, способные исправлять опечатки и применяющие несколько простых диагностических подпрограмм) ценятся на вес золота. Всего один такой человек может превратить фазу отладки из затянутого изнуряющего кошмара в просто полезную задержку.
Если вы новичок, то попытайтесь найти разрабатываемую программу, которая вам интересна, и станьте хорошим бета-тестером. Существует вполне естественный путь продвижения от помощи в тестировании программ к помощи в их отладке и далее, к помощи в их модификации. Вы многому научитесь таким способом и породите добрую карму в отношениях с людьми, которые помогут вам впоследствии.
3. Публикуйте полезную информацию.Еще одна хорошая вещь - отбирать и накапливать полезную и интересную информацию на Web-страницах или документах типа ЧаВО (FAQ или "часто задаваемые вопросы и ответы"), и делать их общедоступными.
Ведущие основных технических ЧаВО почти столь же уважаемы, как и авторы программ с открытым исходным кодом.
4. Помогайте поддерживать работу инфраструктуры.Хэкерская культура (и инженерная разработка Интернет, к слову сказать) основана на добровольцах. Имеется масса необходимой, но не особо эффектной работы, которую нужно делать, чтобы поддерживать процесс: администрирование рассылочных листов, модерирование новостных групп, управление большими архивами программного обеспечения, разработка RFC и других технических стандартов.
Люди, хорошо делающие такого рода вещи, глубоко уважаемы, поскольку каждый знает, что подобная работа требует кучу времени и не так забавна как игры с кодами. Эта работа свидетельствует о самоотверженности.
5. Служите самой хэкерской культуре.Наконец, вы можете служить и распространять саму культуру (например, составляя скрупулезное руководство "как стать хэкером" :-)). Но этим не стоит заниматься до тех пор, пока вы не поваритесь в этом достаточное время и не станете хорошо известны благодаря одной из четырех первых вещей.
В хэкерской культуре нет явных лидеров, но здесь есть "культурные герои", "племенные старейшины", историки и ораторы. Когда вы достаточно долго поживете в этих траншеях, то сможете вырасти в одного из таких людей. Но остерегайтесь: хэкеры настороженно относятся к своим крикливым племенным старейшинам, так что видимое достижение такого рода славы таит в себе опасность. Вместо того, чтобы стремиться к этому, вам лучше как бы не заботиться об этом и тогда это само упадет на колени, а уж затем можно быть скромным и милостивым в своем статусе.
Связь между хэкером и придурком Вопреки расхожему мифу, вам не обязательно быть придурком, чтобы быть хэкером. Это, однако, помогает, и многие хэкеры действительно "придурки". Статус изгоя общества помогает вам оставаться сосредоточенными на действительно важных вещах, таких как размышления и хэкерство.
Именно по этой причине многие хэкеры носят ярлык "придурок" и даже используют в качестве знака доблести более грубый термин "кретин" - это их способ декларации своей независимости от общепринятых в обществе оценок. С развернутой дискуссией по этому поводу можно познакомиться на "странице придурков" - The Geek Page.
Если вы способны в достаточной степени сосредоточиться на хэкерстве, достигать здесь заметных результатов и при этом иметь личную жизнь - что ж, прекрасно. Сегодня это намного легче, чем в 1970-е, когда был новичком я. Культурный мейнстрим стал теперь намного дружелюбнее к техно-придуркам. Есть даже растущее количество людей, обнаруживающих, что хэкеры зачастую могут быть вполне качественными любовниками и супругами. Дополнительную информацию на этот счет можно почерпнуть на странице "Девушкам о ребятах-придурках" - Girl's Guide to Geek Guys.
Если же вас влечет к хэкерству по той причине, что у вас нет личной жизни, что ж, и это неплохо. По крайней мере, у вас не будет проблем с концентрацией. А личная жизнь - как знать, может она придет позже.
Черты образа жизни Еще раз, чтобы быть хэкером, вы должны обрести мировоззрение хэкера. Есть несколько вещей, которые могут помочь в те моменты, когда вы не находитесь рядом с компьютером. Они не заменяют хэкерство (его ничто не заменит), но многие хэкеры ими занимаются и, по их ощущениям, это на каком-то фундаментальном уровне объединяет их с сутью хэкерства.
Читайте научную фантастику. Ходите на встречи любителей фантастики (это хороший способ познакомиться с хэкерами и "прото-хэкерами").
Изучайте Дзэн-буддизм и/или восточные искусства боя. (Их ментальная дисциплина имеет, похоже, важные черты сходства).
Вырабатывайте в себе аналитический музыкальный слух. Учитесь понимать специфические виды музыки. Учитесь неплохо играть на каком-нибудь музыкальном инструменте или грамотно петь.
Вырабатывайте в себе понимание каламбуров и игр в слова.
Учитесь хорошо писать на своем родном языке. (Удивительно многие из хэкеров, включая всех известных мне лучших хэкеров, являются качественными писателями.) Чем больше из этих вещей вы уже делаете, тем больше вероятность того, что вы представляете собой природный хэкерский материал. Почему перечислены именно эти вещи - не вполне ясно, но они связаны со смешиванием навыков левого и правого полушарий мозга, а это представляется важным (для хэкеров необходимо уметь как выстраивать стройные логические обоснования, так и время от времени оценивать проблему вне связи с очевидной логикой).
И, наконец, несколько вещей, которые делать не следует.
Не используйте глупые и напыщенные пользовательские имена или клички.
Не вовлекайтесь в свары и перебранки в Usenet (или где-либо еще).
Не называйте себя "кибер-панком" и не тратьте свое время на тех, кто это делает.
Не отправляйте письма или электронную почту, переполненные ошибками правописания. Единственная репутация, которую вы себе создадите, занимаясь любой из этих вещей - это посмешище. У хэкеров длинная память, и вам могут понадобиться годы жизни, чтобы об этом забыли.
Другие ресурсы Питер Сибак ведет превосходную страницу "Хэкер-ЧаВО" - Hacker FAQ для менеджеров, не представляющих себе как иметь дела с хэкерами.
Мною написана также "Краткая история Хэкерландии" - A Brief History Of Hackerdom.
Я написал статью "Храм и Базар" - The Cathedral and the Bazaar, в которой разъясняется, как работают проект Linux и культура открытых исходных кодов. Еще более непосредственно эта же тема рассмотрена в статье-продолжении "Раздел Ноосферы" - Homesteading the Noosphere.
Часто задаваемые вопросы
В: Вы научите меня хэкерству?С момента первой публикации этой страницы я получал от людей по нескольку запросов в неделю с просьбой "научить всему хэкерскому". К сожалению, я не располагаю ни временем, ни энергией этим заниматься. Мои собственные хэкерские проекты занимают 110% моего времени.
И даже если бы они у меня были, хэкерство - это мировоззрение и мастерство, которым вы должны научиться в основном сами. Вы обнаружите, что хотя настоящие хэкеры и желают вам помочь, но они не будут вас уважать, если вы станете просить накормить вас с ложечки всем, что им известно.
Сначала научитесь нескольким вещам сами. Покажите, что стараетесь, что способны к самостоятельному обучению. И уже потом отправляйтесь к знакомым хэкерам с вопросами.
В: Не поможете ли вы мне крэкнуть систему, или может научите, как их вскрывать? Нет. Любой, кто может опять задавать подобный вопрос по прочтении данного текста, - бестолков настолько, что его ничему нельзя научить, даже если бы у меня было на это время. Любые подобные просьбы будут проигнорированы, либо же ответ будет крайне грубым.
Где мне найти настоящих хэкеров, чтобы с ними поговорить? Самый лучший способ - найти вашу местную группу пользователей Unix или Linux и сходить на их встречи (ссылки на несколько списков групп пользователей можно найти на странице LDP на Sunsite).
(Как-то раньше я сказал, что вам не найти ни одного настоящего хэкера в чатах, но мне дали понять, что ситуация меняется. Очевидно, некоторые из сообществ настоящих хэкеров, связанных с такими вещами как GIMP и Perl, теперь имеют свои IRC-каналы.)
В: Какой язык следует выучить первым? HTML, если вы его еще не знаете. Есть масса расфуфыренных и потрясающе бездарных книг по HTML, но обескураживающе мало хороших. Мне больше всего нравится HTML: The Definitive Guide.
Но HTML - это не полноценный язык программирования. Когда вы почувствуете, что готовы начать программировать, я бы порекомендовал начать с языка Python. Многие люди будут рекомендовать вам начинать с Perl, и этот язык более популярен чем Python, но его сложнее выучить.
Си - действительно важный язык, но он и намного сложнее, нежели Python или Perl. Не пытайтесь выучить его первым.
В: А не станет ли так, что из-за программ с открытым исходным кодом программистам будет не на что жить? Ну, это вряд ли. Пока что, похоже, индустрия программного обеспечения с открытым исходным кодом скорее создает рабочие места, нежели их сокращает. Если экономически более прибыльно иметь написанную программу, чем такой программы не иметь, то программисту будут платить независимо от того, станет ли эта программа бесплатной после ее создания. И, независимо от того, как много будет написано "бесплатных" программ, всегда еще больше будет запросов на новые и специализированные приложения. Более подробно я написал об этом на страницах Open Source.
В: Как мне начать? Где можно достать бесплатный Unix? Повсюду на этой странице я вставил указатели на те места, где можно взять наиболее широко используемые бесплатные версии Unix. Чтобы быть хэкером, вам нужны мотивация и инициатива, а также способность к самообразованию. Начинайте прямо сейчас...