Жаргон-файл містить купу визначення для терміну «хакер», більшість яких пов’язана з технічною компетентністю і задоволенням, одержуваним від вирішення проблем та подолання перешкод. Але якщо ж ви хочете знати, як стати хакером, то дійсно істотними є два аспекти.
Є певна спільнота, якась загальна культура, що складається з досвідчених програмістів і мережевих чародіїв, яка веде свою історію від багаторічної давності перших мінікомп’ютерів з поділом часу і від самих ранніх експериментів з мережею 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 та Інтернетом став настільки міцним, що навіть сил не вистачає, щоб серйозно впливати на це.)

Так що заводите собі Unix, мені самому подобається Linux, але є й інші варіанти (і так-так, ви можете працювати як під Linux, так і під DOS/Windows на одній і тій же машині). Вивчіть цю ОС. Працюйте з нею. Возитеся з нею. Спілкуйтеся через неї з Інтернетом. Читайте коди. Змінюйте їх. Ви отримаєте такий программистский інструментарій (включаючи C, Lisp і Perl), про який будь-яка з ОС Microsoft і не мріяла. Ви отримаєте задоволення, і ви засвоїте більше знань, ніж припускали в процесі навчання, коли озирнетеся на цей процес вже будучи майстром-хакером.

3. Навчитеся використовувати World Wide Web і писати HTML.
Більшість з тих речей, що створені хакерської культурою, роблять свою справу невидимо, допомагаючи працювати фабрикам, установам і університетам без скільки-небудь помітного впливу на життя не-хакерів. WWW — це одне велике виключення, гігантська блискуча хакерська іграшка, яка навіть за визнанням політиків змінює світ. Лише з однієї цієї причини (а також безлічі інших приємних причин) вам потрібно навчитися працювати з Web.
Це не означає, що потрібно просто навчитися управлятися з браузером (це будь вміє), але навчитися писати HTML, мовою розмітки документів для Web. Якщо ви ще не вмієте програмувати, то писання на HTML навчить ваше мислення деяким корисним звичкам, які стануть в нагоді при освоєнні мов програмування. Так що робіть домашню сторінку.

Але просте володіння домашньою сторінкою навіть і близько не підведе вас до того, щоб стати хакером. У Web повним-повно домашніх сторінок. Більшість з них — це безглуздий, непотрібний мотлох. Дуже яскраво і привабливо оформлений непотріб, не сперечаюся, але все одно непотріб.
Щоб бути вартим, ваша сторінка повинна мати «контент» — зміст. Вона повинна бути цікавою та / або корисною для інших хакерів. А це підводить нас до наступного розділу…

Статус хакерської культури
Як і більшість культур без грошової економіки, Хакерландия будується на репутації. Ви намагаєтеся вирішити цікаві проблеми, але наскільки вони цікаві, і наскільки насправді гарні рішення, — це щось таке, про що зазвичай можуть судити тільки (в технічному сенсі) рівні вам або перевершують вас.
Таким чином, коли ви граєте в хакерські гри, ви вчіться вести рахунок головним чином з того, що думають про вашу майстерність інші (саме тому ви не будете хакером до тих пір, поки вас не стануть так називати інші хакери). Даний факт затінюють як образ хакера-одинака, так і певні табу хакерської культури (нині істотно ослаблені, але все ще потужні), не допускають, щоб чиєсь его або зовнішнє визнання взагалі могли би бути мотивацією для хакера.

Зокрема, Хакерландия — це те, що антропологи називають «культурою дарів». Ви заробляєте статус і репутацію не тим, що керуєте іншими людьми, і не тим, що прекрасні, і не тим, що маєте речі, які є предметом жадання інших. Але швидше тим, що роздаєте речі. Зокрема, обдаровуючи своїм часом, своєю майстерністю і результатами своєї творчості.

Є п’ять основних типів речей, які ви можете робити, щоб вас поважали хакери:

1. Пишіть програми з відкритим вихідним кодом.
Перше (головне і саме традиційне) — це писати програми, які інші хакери вважають цікавими або корисними, і роздавати вихідні коди програм для використання всієї хакерської культурою.
Ми звикли називати таку роботу «вільно доступним програмним забезпеченням» (free software), але це привело в замішання дуже багатьох людей, точно не розуміли, що малося на увазі під словом «вільно-доступний». Тепер для такого програмного забезпечення багато хто з нас вважають за краще використовувати термін «з відкритим кодом» або «open-source software».

Найбільш шановані напівбоги Хакерландии — це люди, які написали великі і талановиті програми, що відповідають самим широким потребам, і які роздали їх усім, так що кожен тепер їх використовує.

2. Допомагайте тестувати і відлагоджувати програми з відкритим вихідним кодом
Шановані також ті, хто тестує і налагоджує програми з відкритим кодом. В цьому недосконалому світі ми неминуче витрачаємо найбільшу частину часу розробки програми на фазу налагодження. Саме тому будь-яка думаюча автор програм з відкритим кодом скаже вам, що хороші бета-тестери (знають, як виразно описати симптоми, добре локализующие проблеми, здатні виправляти помилки і застосовують кілька простих діагностичних підпрограм) цінуються на вагу золота. Всього один такий чоловік може перетворити фазу налагодження з затягнутого виснажливого кошмар в просто корисну затримку.
Якщо ви новачок, то спробуйте знайти розроблювану програму, яка вам цікава, і стати хорошим бета-тестером. Існує цілком природний шлях просування від допомоги в тестуванні програм допомоги в їх налагодження і далі, до допомоги у їх модифікації. Ви багато чому навчитеся таким способом і породите добру карму у відносинах з людьми, які допоможуть вам згодом.

3. Публікуйте корисну інформацію.
Ще одна хороша річ — відбирати і накопичувати корисну і цікаву інформацію на Web-сторінках або документах типу Чапи (FAQ або «найчастіші запитання та відповіді»), і робити їх загальнодоступними.
Провідні основних технічних ЧаВО майже настільки ж шановані, як і автори програм з відкритим вихідним кодом.

4. Допомагайте підтримувати функціонування інфраструктури.
Хакерська культура (і інженерна розробка Інтернет, до слова сказати) заснована на добровольцях. Є маса необхідною, але не особливо ефектною роботи, яку потрібно робити, щоб підтримувати процес: адміністрування розсильних листів, модерування новинних груп, управління великими архівами програмного забезпечення, розробка RFC та інших технічних стандартів.
Люди, які добре роблять такого роду речі, глибоко шановані, оскільки кожен знає, що подібна робота вимагає купу часу і не так цікава, як ігри з кодами. Ця робота свідчить про самовідданості.

5. Служіть самої хакерської культури.
Нарешті, ви можете служити і поширювати саму культуру (наприклад, складаючи скрупульозне керівництво «як стати хакером» :-)). Але цим не варто займатися до тих пір, поки ви не поваритесь в цьому достатній час і не станете добре відомі завдяки одній із чотирьох перших речей.
У хакерської культури немає явних лідерів, але тут є «культурні герої», «племінні старійшини», історики і оратори. Коли ви досить довго поживете в цих траншеях, то зможете вирости в одного з таких людей. Але остерігайтеся: хакери насторожено ставляться до своїх крикливим племінним старійшинам, так що видиме досягнення такого роду слави таїть в собі небезпеку. Замість того, щоб прагнути до цього, вам краще як би не дбати про це і тоді це саме впаде на коліна, а вже потім можна бути скромним і милостивим у своєму статусі.

Зв’язок між хакером і недоумком
Всупереч поширеному міфу, вам не обов’язково бути дурнем, щоб бути хакером. Це, однак, допомагає, і багато хакери дійсно «придурки». Статус ізгоя суспільства допомагає вам залишатися зосередженими на дійсно важливих речах, таких як роздуми і хакерство.
Саме з цієї причини багато хакери носять ярлик «дурень» і навіть використовують як знак доблесті більш грубий термін «кретин» — це їх спосіб декларації свого незалежності від загальноприйнятих у суспільстві оцінок. З розгорнутої дискусії з цього приводу можна познайомитися на сторінці придурків» — The Geek Page.

Якщо ви здатні достатньою мірою зосередитися на хакерстве, досягати тут помітних результатів і при цьому мати особисте життя — що ж, чудово. Сьогодні це набагато легше, ніж у 1970-ті, коли був новачком я. Культурний мейнстрім став тепер набагато дружелюбніше до техно-дурні. Є навіть зростаюча кількість людей, що виявляють, що хакери часто можуть бути цілком якісними коханцями і подружжям. Додаткову інформацію з цього приводу можна почерпнути на сторінці «Дівчатам про хлопців-придурках» — girl’s Guide to Geek Guys.

Якщо ж вас тягне до хакерства з тієї причини, що у вас немає особистого життя, що ж, і це непогано. Принаймні, у вас не буде проблем з концентрацією. А особисте життя — як знати, може вона прийде пізніше.

Риси способу життя
Ще раз, щоб бути хакером, ви повинні знайти світогляд хакера. Є кілька речей, які можуть допомогти в ті моменти, коли ви не знаходитеся поруч з комп’ютером. Вони не замінюють хакерство (його ніщо не замінить), але багато хакери ними займаються і, по їх відчуттям, це на якомусь фундаментальному рівні об’єднує їх з суттю хакерства.

Читайте наукову фантастику. Ходіть на зустрічі любителів фантастики (це хороший спосіб познайомитися з хакерами і «прото-хакерами»).
Вивчайте Дзен-буддизм та/або східні мистецтва бою. (Їх ментальна дисципліна має, схоже, важливі риси подібності).
Виробляйте в собі аналітичний музичний слух. Вчіться розуміти специфічні види музики. Вчіться непогано грати на якомусь музичному інструменті або співати грамотно.
Виробляйте в собі розуміння каламбурів та ігор в слова.
Вчіться добре писати на своїй рідній мові. (Дивно багато хакерів, включаючи всіх відомих мені кращих хакерів, є якісними письменниками.)
Чим більше з цих речей ви вже робите, тим більше ймовірність того, що ви являєте собою природний хакерський матеріал. Чому перераховані саме ці речі — не цілком ясно, але вони пов’язані зі змішуванням навичок лівого і правого півкуль мозку, а це є важливим (для хакерів необхідно вміти як вибудовувати стрункі логічні обґрунтування, так і час від часу оцінювати проблему поза зв’язку з очевидною логікою).
І, нарешті, кілька речей, які робити не слід.

Не використовуйте дурні і пихаті власні імена або прізвиська.
Не вовлекайтесь у сварки і лайки в Usenet (або де-небудь ще).
Не називайте себе «киберпанком» і не витрачайте свій час на тих, хто це робить.
Не відправляйте листи або електронну пошту, переповнені помилками правопису.
Єдина репутація, яку ви собі створите, займаючись будь-якою з цих речей — це посміховисько. У хакерів довга пам’ять, і вам можуть знадобитися роки життя, щоб про це забули.
Оригінал англійською мовою — How To Become A Hacker:
www.catb.org/~esr/faqs/hacker-howto.html