Please or הרשמה to create posts and topics.

איך להיות האקר? ,תרגום למאמרמאת אריק ריימונד

איך להיות האקר?

כעורך של ז'רגון ההאקרים [1] וכמחברם של כמה מסמכים ידועים למדי בעלי סגנון דומה, אני מקבל מדי פעם שאלות ממתחילים נלהבים "איך אני יכול ללמוד להיות האקר?". עוד ב-1996,  שמתי לב שאין מסמך העונה על שאלה חיונית זו, ולכן התחלתי לכתוב את המסמך הזה. כיום, הרבה האקרים רואים במסמך זה תשובה מקיפה, ולכן זה אולי כך. כמובן, אינני טוען להיותי הסמכות הקובעת בתחום זה, ולכן אם אינך אוהב את הכתוב כאן, אתה מוזמן לכתוב מסמך משלך. במידה ואתה קורא העתק לא מעודכן של מסמך זה, הגרסא העדכנית נמצאת ב- http://www.catb.org/~esr/faqs/hacker-howto.html [2]. הערה: ישנה רשימה של שאלות נפוצות בסוף מסמך זה. אנא קרא אותם – פעמיים – לפני שאתה מתכוון לשלוח לי שאלות לגבי מסמך זה. תרגומים למסמך זה זמינים בשפות הבאות: איטלקית, אסטונית, בולגרית, גרמנית, דנית, הולנדית, טורקית, יוונית, יפאנית, נורווגית, סינית, ספרדית, עברית, ערבית, פולנית, פורטוגזית, פינית, פרסית, קָטָלָנית, רומנית, רוסית ושוודית. מסמך זה משתנה לעיתים תכופות, ולכן התרגומים עלולים להיות לא מעודכנים. דיאגרמת הלוח עם תשעת התאים וחמשת הנקודות, המעטרת מסמך זה, קרויה 'גלשן'. זאת תבנית בעלת מאפיינים יוצאי דופן במשחק החיים, שמרתקת האקרים במשך שנים. אני חושב שהתבנית הזאת היא סמל ויזואלי למה שהאקר הוא באמת – מופשט, מסתורי במבט הראשון, אבל פתח לעולם שלם עם הגיון פנימי משלו. להסבר נוסף על סמל הגלשן, ראה כאן [3].

מהו האקר?

ז'רגון ההאקרים כולל הגדרות רבות של המונח 'האקר [4]', רובן מתייחסות למומחיות הטכנית הקשורה לפתירת בעיות והתגברות מגבלות. אם אתה רוצה ללמוד כיצד להיות האקר, רק שתיים מההגדרות באמת רלוונטיות.
קיימת קהילה, תרבות משותפת, של מתכנתים מנוסים ומומחי רשתות ששורשיה בימים של מחשבי שיתוף הזמן ונסיונות ההקמה הראשוניים של רשת ה- ARPAnet. חברי התרבות הזאת טבעו את המושג 'האקר'. האקרים בנו את האינטרנט. האקרים הפכו את מערכת היוניקס למה שהיא כיום. האקרים מפעילים קבוצות דיון. האקרים גורמים לרשת האינטרנט לעבוד. אם אתה חלק מהתרבות הזו, אם תרמת לה ואנשים אחרים קוראים לך 'האקר', אז אתה האקר.

דפוס החשיבה של ההאקר אינו מוגבל לתוכנה. יש אנשים המקשרים את הגישה ההאקרית לתחומים אחרים, כגון אלקטרוניקה או מוסיקה – למעשה, אתה יכול למצוא את הגישה הזאת בכל סוג של מדע או אומנות. האקרים של תוכנה מזהים את אלה הדומים להם, וקוראים גם להם 'האקרים' – וחלקם טוענים שטבע ההאקר הוא בלתי-תלוי בתחום שההאקר מתעסק בו. לאורך המסמך, נתמקד בכישורים ובגישה המאפיינים האקרים של תוכנה, ובמסורות של התרבות המשותפת שטבעה את המונח 'האקר'.
ישנה קבוצה אחרת של אנשים שקוראים לעצמם בקולניות האקרים, אבל הם לא. אלו אנשים (בדרך כלל גברים מבוגרים) שהולכים לכלא בגלל פריצה למחשבים ובגלל שימוש לרעה במערכת הטלפון. האקרים אמיתיים מכנים אנשים אלו 'קראקרים' ולא רוצים שום קשר איתם. רוב ההאקרים האמיתיים חושבים שקראקרים הם עצלנים, חסרי אחראיות ולא ממש מבריקים, וטוענים שפריצה למערכת מאובטחת לא עושה אותך האקר יותר מאשר שהתנעת מכונית על ידי קיצור החוטים עושה אותך מהנדס מכוניות. לרוע המזל, הרבה כתבים ועורכי עיתונים הושלו להשתמש במושג האקר כדי לתאר קראקרים, וזה מרגיז מאוד האקרים אמיתיים.

יש הבדל פשוט: האקרים בונים דברים, קראקרים שוברים אותם.

אם אתה רוצה להיות האקר, תמשיך לקרוא. אם אתה רוצה להיות קראקר, לך לקבוצת הדיון [news//alt.2600/ alt.2600] ותתכונן להיכנס לכלא בין חמש לעשר שנים, אחרי שתגלה שאתה לא כה חכם כמו שחשבת. זה כל מה שאני מתכוון לומר על קראקרים.

הגישה ההאקרית

האקרים פותרים בעיות ובונים דברים, ומאמינים בחופש ובעזרה הדדית. כדי להחשב כהאקר, עליך לאמץ את הגישה הזו. וכדי לאמץ את הגישה הזאת, עליך ממש להאמין בה.
אם אתה מעוניין בגישה ההאקרית רק כדי להיות מקובל בקהילה, אתה מחמיץ את העיקר. חשוב לההפך לאדם המאמין בעקרונות הללו – כדי לעזור לך ללמוד וכדי להשאיר אותך עם מוטיבציה. כמו כל אומנויות היצירה, הדרך היעילה ביותר להפוך למומחה היא לחקות את דרך המחשבה של מומחים – לא רק באופן שכלתני אלא גם באופן רגשי.
או, כמו ששיר הזן המודרני תופס זאת…


כדי ללכת בדרך:
הבט על האומן,
עקוב אחר האומן,
לך עם האומן,
ראה דרך האומן,
הייה האומן.

אז, אם אתה רוצה להיות האקר, חזור על העקרונות הבאים די פעמים, עד שתאמין בהם:

  1. העולם מלא בבעיות שמחכות להיפתר

להיות האקר זה כיף גדול, אבל מהסוג שדורש מאמץ רב. המאמץ דורש מוטיבציה. מקור המוטיבציה של אתלטים מצטיינים הוא מההנאה שהם מקבלים מדחיפת עצמם אל גבול יכולתם. באופן דומה, כהאקר אתה נהנה מהאתגר של פתירת בעיות, מחידוד כישוריך ומהפעלת המוח.
אם אינך מסוג האנשים הנהנים מהאתגר באופן טבעי, תצטרך להפוך לכזה על מנת להיות האקר. אחרת תמצא את אנרגיית ההאקינג שלך מוסחת על ידי דברים אחרים כמו סקס, כסף וקידום חברתי.
(עליך לפתח אמונה ביכולות הלמידה שלך – אמונה שאתה אולי לא יודע את כל מה שצריך כדי לפתור בעיה, אבל אם תתקוף צד אחד של הבעיה, ותלמד מהנסיון, אז תלמד מספיק כדי לתקוף את הבעיה מצד אחר, וכך הלאה, עד שפתרת את הבעיה כולה.)

  1. אף בעיה לא צריכה להיפתר פעמיים

מוחות יצירתיים מהווים משאב יקר ומוגבל. אל להם להיות מבוזבזים על המצאת הגלגל מחדש, כאשר כה הרבה בעיות חדשות ומרתקות מחכות שם בחוץ. כדי להתנהג כמו האקר, עליך להאמין שזמן החשיבה של האקרים אחרים הוא משאב יקר – כה יקר שזאת כמעט חובתך המוסרית לשתף מידע, לפתור בעיות ולספק את הפתרונות כדי שהאקרים אחרים יוכלו לפתור בעיות חדשות במקום לפתור מחדש את אותן בעיות ישנות. שים לב, "אף בעיה לא צריכה להיפתר פעמיים", לא רומז שעליך להתייחס לכל הפתרונות בקדושה, או שיש בדיוק פתרון אחד לכל בעיה. לעיתים תכופות אנו מתחילים ללמוד על בעיה חדשה באמצעות הבנת פתרון קיים. זה בסדר, ולעיתים הכרחי, להחליט שאנו יכולים לפתור את הבעיה בצורה טובה יותר. מה שאינו בסדר הוא מכשול מלאכותי טכני, חוקי או מוסדי (כגון קוד סגור), שמונע שימוש בפתרון טוב ומכריח אנשים להמציא מחדש את הגלגל.
(אתה לא חייב להאמין שאתה מחוייב לתת את כל פרות יצירתך, למרות שהאקרים שעושים זאת זוכים להערכה רבה מהאקרים אחרים. זה תואם את ערכי ההאקרים למכור די מכישוריך לפרנסתך. זה בסדר להשתמש בכישורי ההאקינג שלך בשביל לתמוך במשפחה או אפילו להתעשר, כל עוד אתה לא שוכח את הנאמנות לאומנותך וחבריך האקרים, בזמן שאתה עושה זאת.)

  1. שיעמום ועבודה קשה הם דברים רעים

להאקרים (ולאנשים יצירתיים בכלל) אסור להשתעמם או לעבוד בעבודה פשוטה ומחזורית – כי אם זה קורה, הם לא עושים את מה שרק הם יכולים לעשות, דהיינו לפתור בעיות חדשות. הבזבוז הזה פוגע בכולם. לכן שיעמום ועבודה קשה אינם רק בגדר חוסר נוחות אלא גם רעים.
כדי להתנהג כמו האקר, עליך להאמין בזה מספיק עד שתחליט למכן את העבודות הפשוטות והמחזוריות, לא רק בשבילך אלא גם בשביל כולם (ובמיוחד בשביל האקרים אחרים).
)לכלל זה יש חריג אחד. לפעמים האקרים עושים דברים שנראים לצופה מן הצד מחזוריים או משעמים. הם עושים זאת כדי לנקות את הראש או כדי לקבל מומחיות או נסיון שלא ניתן להשיג בשום דרך אחרת. אבל זה נעשה מבחירה – אסור להכריח אדם חושב להכנס שלא מבחירה למצב המשעמם אותו.(

  1. חופש הוא טוב

האקרים הם טיפוסים אנטי-ממסדיים בטיבם. כל מי שיכול לתת לך פקודות יכול גם למנוע ממך לפתור בעיה מסויימת שמעניינת אותך – ולרוב, בהתאם להלך המחשבה הממסדית, תמיד תמצא איזו סיבה מטופשת לכך. לכן הגישה הממסדית חייבת להעלם, לפני שתדכא אותך והאקרים אחרים.
(זה שונה מלהילחם בכל סמכות. ילדים זקוקים להדרכה ופושעים דורשים מעצר. האקר יכול להחליט לקבל מרות תמורת דבר מה, אם לדעתו הדבר שווה את הזמן שהוא נאלץ לבזבז במילוי פקודות כדי לקבל את הדבר. אבל זאת בחירה מודעת – כניעה מלאה שהסמכויות דורשות אינה אופציה.(
הסמכויות משגשגות בסביבה של צנזורה וסודיות. הן מונעת שיתוף פעולה וחלוקת ידע – הן תומכות 'בשיתוף פעולה' רק תחת פיקוחן. כדי להתנהג כמו האקר, אתה חייב לפתח עויינות אינסטינקטיבית לצנזורה, סודיות, ושימוש בכוח או בהטעיה לאלץ אנשים אחראיים לעשות משהו בניגוד לרצונם. היה נכון לפעול על בסיס האמונה הזו.

  1. גישה אינה תחליף לכישורים

כדי להיות האקר, עליך לפתח כמה מהגישות הללו. אבל הגישה לבדה לא תהפוך אותך להאקר, בדיוק כפי שהגישה לבדה לא תהפוך אותך לאתלט אולימפי או לכוכב רוק. כדי לההפך להאקר נדרשת אינטליגנציה, אימון, התמדה והרבה עבודה קשה. לכן, אל תסמוך על הגישה בלבד, וכבד כישרון ויכולת מכל סוג. האקרים לא נותנים למתחזים לבזבז את זמנם, אבל מעריכים כישורים – במיוחד כישורי האקינג, אבל לא רק. מיומנויות שרק מעטים מתמחים בהן הן טובות, ומיומנויות הדורשות יכולות מנטליות, אומנות וריכוז, טובות במיוחד. אם אתה מעריץ כישרון, תהנה לפתח אותו בעצמך – העבודה הקשה וההתמדה יהפכו למעין משחק אינטנסיבי. גישה זאת חיונית כדי לההפך להאקר.

כישורי האקינג בסיסיים

הגישה ההאקרית היא חיונית, אבל כישורים חיוניים אף יותר. גישה אינה תחליף לכישרון, ויש כמה כלים בסיסיים שאתה חייב להכיר לפני שאיזה האקר יחשוב לקרוא לך כך. הכלים משתנים לאורך השנים, ככל שהטכנולוגיה משתנה, יוצרת כישורים חדשים והופכת כישורים אחרים למיותרים. לדוגמה, פעם ידיעת תכנות בשפת מכונה (Assembly Language) היתה חשובה, וכיום כישורי עבודה עם HTML נדרשים יותר. אבל נכון להיום, ברור לחלוטין שהכישורים הבאים חשובים:

  1. למד איך לתכנת

זהו כמובן הבסיס לכישורי האקינג. אם אינך יודע שום שפת תכנות, אני ממליץ להתחיל עם Python. היא מעוצבת בבהירות, מתועדת היטב וסלחנית במיוחד לתכנתים מתחילים. למרות שזאת שפה טובה כשפת תכנות ראשונה, היא לא צעצוע. Python היא שפה חזקה וגמישה ומתאימה במיוחד לפרוייקטים גדולים. כתבתי בהרחבה וביתר פירוט מדוע  Python [5]. יש כמה מדריכים טובים באתר של  python [6]. בעבר המלצתי על Java כשפה טובה למתחילים, אבל בעקבות הביקורת הזאת שיניתי את דעתי. האקר לא יכול, כפי שהם מגדירים זאת, "להתייחס לפתרון בעיה כמו אינסטלטור בחנות חומרי בניין" – כלומר אתה צריך להבין מה הרכיבים השונים עושים באמת. עכשיו אני חושב שרצוי ללמוד C או Lisp לפני Java. אם אתה רוצה להכנס לתכנות באופן רציני, יהיה עליך ללמוד את שפת C, שהיא גם שפת הבסיס של יוניקס. C++‎ דומה למדי ל-C, ולכן אם אתה מכיר אחת, לימוד השנייה לא יהיה קשה. שתיהן אינן מתאימות ללמוד כשפה הראשונה. למען האמת, ככל שתמנע מתכנות ב-C, כך תהיה יעיל יותר. C היא שפה מאוד יעילה, ומתחשבת מאוד במשאבי המערכת. לרוע המזל, היעילות של C דורשת ממך לנהל את משאבי המערכת (כגון זיכרון) באופן ידני ברמה הכי נמוכה. קוד ניהול משאבים כזה נוטה להיות מסובך ומועד לפורענות. הוא יגזול חלק ניכר מזמנך לתיקון שגיאות ובאגים. עם העוצמה של המחשבים של היום, זאת בדרך כלל מקח טעות – עדיף להשתמש בשפה פחות יעילה מבחינת זמן המחשב, אך יותר יעילה מבחינת הזמן שלך. לכן, שוב, Python. שפות אחרות בעלות חשיבות רבה, במיוחד להאקרים, הן Perl [7] ו-LISP [8]‏. Perl [7]שווה לימוד מסיבות פרקטיות. לרוב היא משמשת ליצירת דפי אינטרנט דינמיים ולניהול מערכות, ולכן, גם אם לעולם לא תתכנת ב-Perl, עליך לדעת לקרוא Perl. הרבה אנשים משתמשים ב-Perl בדומה להמלצתי לגבי Pythonn, כלומר כדי להימנע מתכנות ב-C לעבודות שלא דורשות את היעילות של C, ואתה תצטרך להבין את הקוד שלהם. LISP שווה לימוד מסיבה שונה למדי – ההארה העמוקה שתקבל כשבסופו של דבר תבין את LISP ממש. הניסיון הזה יהפוך אותך למתכנת טוב יותר למשך כל ימי חייך, גם אם כמעט לעולם לא תשתמש בה. (אתה יכול לעבור התנסות ראשונית ב-LISP בקלות יחסית על ידי כתיבה או עדכון של הגדרות מצבים של Emacs, או כתיבת סקריפטים ל-GIMP.) הכי טוב, כמובן, ללמוד את כל חמשת השפות – Python‏, C/C++‎‏, Java‏, Perl ו-LISP. פרט לכך שאלו שפות ההאקינג החשובות ביותר, הן מציגות גישות שונות לתכנות, וכל אחת תלמד אותך דברים שונים. דע שלא תגיע לרמה של האקר, או אפילו לדרגת מתכנת סביר, רק על ידי צבירת שפות תכנות. עליך ללמוד כיצד לחשוב על בעיות תכנות באופן כללי, במנותק משפת תכנות זאת או אחרת. כדי להיות האקר אמיתי עליך להגיע לרמה שתוכל ללמוד שפה חדשה תוך כמה ימים, על ידי הקבלה של מה שרשום בספר הלימוד עם מה שאתה כבר יודע. כלומר, אתה צריך ללמוד מגוון רחב של שפות תכנות. אני לא יכול לתת הוראות כיצד ללמוד לתכנת – זאת יכולת מורכבת. אבל אני יכול לומר שספרים וקורסים לא יעשו זאת – טובי ההאקרים למדו לתכנת בעצמם. אתה יכול ללמוד מאפייני שפה – רסיסי ידע – מספרים, אבל את התפיסה המחשבתית שהופכת ידע למומחיות אפשר ללמוד רק באמצעות תירגול. זה נעשה על ידי (א) קריאת קוד, ו(ב) כתיבת קוד. פיטר נורוויג, אחד מההאקרים הגדולים של גוגל ושותף לכתיבת הספר הנפוץ ביותר על אינטליגנציה מלאכותית, כתב מאמר מצויין בשם למד עצמך תכנות בעשר שנים [9]. ה"מתכון" שלו לתכנות מוצלח שווה קריאה. למידת תכנות דומה ללמידת כתיבה בשפה מדוברת. הדרך הטובה ביותר לכך היא לקרוא כל מיני דברים שנכתבו על ידי מקצוענים של המדיום, לכתוב כל מיני דברים בעצמך, לקרוא עוד, לכתוב עוד קצת, לקרוא עוד הרבה, לכתוב מעט יותר… עד שרמת כתיבתך מתחילה להתקרב לעוצמה ולחסכוניות שהדוגמאות מציגות. בעבר, מציאת קוד טוב לקריאה היתה משימה קשה, בגלל שהיו מעט תוכנות כבדות עם קוד פתוח, זמינות להאקרים מתחילים בכדי לקרוא ולהתעסק איתן. זה השתנה בצורה דרמטית – תוכנות קוד פתוח, כלי תכנות ומערכות הפעלה (כולם נבנו על ידי האקרים) זמינות עכשיו לכל. מה שמביא אותי לנושא הבא…

  1. השג מערכת יוניקס עם קוד פתוח, ולמד להשתמש ולהריץ אותה

אני מניח שיש לך מחשב אישי או שיש לך גישה לאחד. (המתן שניה להעריך זאת – תרבות ההאקרים התפתחה בעידן שבו מחשבים היו מאוד יקרים וכלל לא בהישג ידם של אנשים פרטיים.) אחת הפעולות החשובות ביותר שעל מתלמד לעשות כדי לפתח כישורים של האקר היא להשיג עותק של מערכת לינוקס או BSD, להתקין אותה על המחשב האישי, ולהריץ אותה. כן, יש עוד מערכות הפעלה בעולם חוץ מיוניקס. אבל הן מופצות בקוד בינארי – אתה לא יכול לקרוא את הקוד שלהן ולא לשנות אותן. לנסות ללמוד האקינג על מערכת חלונות או מערכות עם קוד סגור זה כמו ללמוד לרקוד עם גבס. עם מאק OS/X זה אפשרי, אך רק חלק מהמערכת הוא קוד פתוח – אתה עלול להיתקל בהרבה קירות, ועליך להיזהר לא לפתח תלות בקוד המסחרי של אפל. אם תתרכז במערכת היוניקס שמסתתרת בפנים, תוכל ללמוד כמה דברים שימושיים. יוניקס היא מערכת ההפעלה של האינטרנט. אתה יכול ללמוד להשתמש באינטרנט בלי לדעת יוניקס, אתה לא יכול להיות האקר אינטרנט בלי להבין יוניקס. לכן, תרבות ההאקרים הנוכחית מרוכזת למדי סביב יוניקס. (זה לא היה תמיד כך, וכמה האקרים וותיקים לא כה שמחים מכך, אבל הסימביוזה בין יוניקס והאינטרנט היא כה גדולה שאפילו מיקרוסופט לא מצליחה לפגוע בה.) אז הרם מערכת יוניקס – אני עצמי מעדיף לינוקס, אבל יש מערכות אחרות (וכן, אתה יכול להריץ גם לינוקס וגם חלונות על אותו מחשב). למד אותה. הרץ אותה. התעסק אתה. תתחבר לאינטרנט. קרא את הקוד. ערוך את הקוד. תקבל כלי תכנות (כולל C‏, LISP‏, Python ו-Perl) טובים יותר ממה שמערכת חלונות אפילו לא חולמת לספק. אתה תהנה ואתה תגלה, במבט לאחור כהאקר מומחה, שהשגת יותר ידע ממה שאתה חושב. לעוד מידע על יוניקס, ראה הלוגינטקה [10]. אולי כדאי לך להעיף מבט גם באומנות תכנות היוניקס [11]. כדי להשיג לינוקס, כנס ללינוקס online. אתה יכול להוריד משם או (אפילו עדיף) למצוא קבוצת לינוקס מקומית שתעזור לך עם ההתקנה. בעשר השנים שהמדריך הזה קיים, כתבתי שמבחינת המשתמש החדש כל ההפצות של לינוקס כמעט זהות. אבל מאז 2006-2007, מסתמנת הפצה עדיפה – אובונטו. על אף שלכל הפצה יש יתרונות בתחומה, אובונטו היא ללא ספק ההפצה הנגישה ביותר למשתמשים חדשים. אתה יכול למצוא מידע על מערכת יוניקס מסוג BSD ב-
http://www.bsd.org [12]. דרך טובה רק לטבול את אצבעותך בלינוקס היא להעלות מה שנקרא Live CD, הפצה שפועלת ישירות מדיסק CD מבלי לגעת בכונן הקשיח שלך. הפעולה יותר איטית כי הדיסקים איטיים, אבל זאת דרך לראות את שלל האפשרויות מבלי לשנות שום דבר. כתבתי מבוא על היסודות של יוניקס ושל האינטר. בעבר המלצתי למתחילים לא לנסות להתקין לינוקס או BSD לבדם. אבל כיום תהליך ההתקנה הפך להיות פשוט למדי, וגם מתחילים יכולים לבצע התקנה מוצלחת לבדם. על אף פי כן, אני עדיין ממליץ ליצור קשר עם מועדון לינוקס מקומי ולבקש עזרה. זה לא יכול להזיק וזה יכול לעזור להתקנה חלקה.

  1. למד להשתמש באינטרנט ולכתוב HTML

רוב תוצריה של תרבות ההאקרים עושים את עבודתם רחוק מעין הציבור – תוכנות הרצות במפעלים, משרדים ואוניברסיטות ללא השפעה ישירה על חייהם של אנשים רגילים. הרשת היא חריג אחד גדול – צעצוע נוצץ של האקרים שאפילו פוליטיקאים מודים ששינה את העולם. רק מהסיבה הזאת (אבל גם מעוד הרבה סיבות אחרות) אתה צריך ללמוד איך לעבוד עם האינטרנט. זה לא מספיק ללמוד איך להפעיל דפדפן (כל אחד יכול לעשות זאת), אלא ללמוד איך לכתוב HTML, שפת העיצוב של הרשת. אם אתה לא יודע איך לתכנת, כתיבת HTML תחדיר לך כמה הרגלים שיעזרו לך ללמוד. בנה לעצמך עמוד בית. נסה להקפיד על XHTML, שזאת שפה מעט יותר נקייה מ-HTML קלאסי. (יש הרבה מדריכים טובים למתחילים ברשת, הנה אחד [13].) עמוד בית לא ממש הופך אותך להאקר. האינטרנט מלא באתרים – רובם מיותרים, חסרי תוכן ולא מעניינים. (לעוד מידע על כך, ראה אתרי HTML מהגיהנום [14]). כדי להיות שווה משהו, על העמודים שלך להכיל תוכן – הם חייבים להיות מעניינים ו\או שימושיים להאקרים אחרים. וזה מה שמביא אותנו לנושא הבא.

  1. אם אין לך אנגלית טובה, שפר אותה

כאזרח אמריקאי שהאנגלית היא שפת אמי, הייתי מסויג תחילה מלהציע זאת, שמא זה יראה כסוג של אימפריאליזם תרבותי. אבל כמה דוברי שפות אחרות הפצירו בי לציין שאנגלית היא שפת העבודה של תרבות ההאקרים ושל האינטרנט, ולכן עליך לדעת אותה על מנת לתפקד בקהילת ההאקרים. בסביבות 1991 גליתי שהרבה האקרים שהאנגלית היא שפתם השניה משתמשים בה בדיונים טכניים, אפילו אם הם ובני שיחם דוברים אותה שפת אם. אמרו לי בזמנו שלאנגלית יש אוצר מילים טכני עשיר יותר מכל שפה אחרת ולכן היא פשוט כלי טוב לעבודה. מסיבות דומות, תרגומים של ספרים טכניים באנגלית הם לרוב לא מספקים (אם הם נעשים כלל). לינוס טורוואלדס, פיני, רושם הערות בקוד שלו באנגלית (מעולם הוא לא חשב לכתוב אחרת). רהיטותו באנגלית היתה גורם מפתח ביכולתו לגייס קהילת מפתחים עולמית ללינוקס. זאת דוגמה ששווה ללמוד ממנה.

מעמד בתרבות ההאקרים

כמו ברוב התרבויות שמתנהלות ללא כסף, תרבות ההאקרים מתבססת על מוניטין. אתה מנסה לפתור בעיות מעניינות, אבל עד כמה הן מעניינות, והאם הפתרונות שלך באמת טובים, זה דבר שרק מי שטוב לפחות כמוך יכול לשפוט. לפיכך, כשאתה משחק במשחק הזה, עליך להתייחס בעיקר למה שהאקרים אחרים חושבים על כישוריך (ולכן אתה לא האקר אמיתי עד שהאקרים אחרים לא קוראים לך כך בעקביות). עובדה זאת מוסתרת על ידי התדמית של האקינג כעבודת יחיד, וגם על ידי הטאבו התרבותי (שדועך לאיטו מאז שנות התשעים, אבל עדיין חזק) כנגד ההודאה בכך שלאגו או לאימות חיצוני יש בכלל השפעה על המוטיבציה של ההאקר. תרבות ההאקרים היא מה שנקרא באנתרופולוגיה תרבות מתנות. אתה משיג מעמד ומוניטין לא באמצעות שליטה באחרים, וגם לא על ידי יופי, ולא על ידי בעלות על דברים שאחרים רוצים, אלא על ידי מתן דברים. במיוחד כשאתה נותן את זמנך, את יצירתיותך, ואת תוצרי כישוריך. בכלליות ישנם חמישה סוגים של דברים שאתה יכול לעשות כדי לזכות בכבוד מהאקרים אחרים:

  1. כתוב תוכנה חופשית

הדבר הראשון (העיקרי והמקובל ביותר) הוא לכתוב תוכנות שהאקרים אחרים חושבים שהן נחמדות או שימושיות, ולשחרר את קוד המקור של התוכנה כך שכל קהילת ההאקרים תוכל להשתמש בה. (באנגלית יש בלבול בין תוכנה חופשית ותוכנה חינמית, כי שניהם נקראים "Free Software", וזה בלבל הרבה אנשים שלא ממש היו מודעים למשמעות של חופש. רובנו לכן מעדיפים את המושג "תוכנת קוד פתוח [15]"). האלילים הגדולים של תרבות ההאקרים הם אנשים שכתבו תוכנות גדולות ובעלות יכולת שעונות על צורך ממשי, ושוחררו לקהל הרחב כך שהכל יכולים להשתמש בהן. יש נקודה היסטורית מעניינת שראוי לציין. על אף שההאקרים התייחסו למפתחי הקוד הפתוח כאל גרעין הקהילה, לפני שנות התשעים רוב ההאקרים עבדו לרוב על קוד סגור. זה היה המצב כשכתבתי לראשונה את המדריך הזה ב-1996, והדברים השתנו רק לאחר שהקוד הפתוח הפך לזרם העיקרי לאחר 1997. בימינו, "קהילת ההאקרים" ו"קהילת מפתחי הקוד הפתוח" הם תיאורים של אותה הקהילה והאנשים – אבל שווה לזכור שזה לא תמיד היה המצב.

  1. עזור לבדוק ולתקן באגים בתוכנות קוד פתוח

האקרים גם מכבדים אנשים שמחפשים ומתקנים באגים בתוכנות קוד פתוח. בעולמנו הלא-מושלם, באורח בלתי נמנע רוב זמן הפיתוח מבוזבז על תיקון באגים. זאת הסיבה שבגללה כל תכנת קוד פתוח עם ראש על הכתפיים יאמר לך שבודקי-בטא טובים (שיודעים להסביר סימפטומים בבהירות, לתחום בעיות טוב, מוכנים לסבול באגים בגרסאות לא יציבות, ומוכנים להפעיל פרוצדורות דיאגנוזה פשוטות) שווים את משקלם בזהב. בודק כזה יכול לעשות את ההבדל בין שלב תיקון באגים שהוא סיוט ארוך ומתסכל לבין כאב ראש קל. אם אתה מתחיל, נסה למצוא תוכנה תחת פיתוח שאתה מתעניין בה, והיה בודק-בטא טוב. יש שביל התקדמות טבעי מעזרה בבדיקת תוכנות, לעזרה בתיקון באגים, לשינוי ועדכון התוכנה. תלמד הרבה בדרך זו ותיצור קשר טוב עם אנשים שיעזרו לך מאוחר יותר.

  1. הפץ מידע מעניין ושימושי

דבר טוב נוסף הוא לאסוף ולסנן מידע מעניין לאתרים או מסמכים כמו רשימת שאלות ותשובות (שו"ת) נפוצות, ולהפוך את אלו לזמינים לכולם. מתחזקים של של מסמכי שו"ת חשובים מקבלים כבוד כמעט כמו מתכנתי קוד-פתוח.

  1. עזור להשאיר את התשתית עובדת

תרבות ההאקרים (וההתפתחות ההנדסית של האינטרנט, לצורך העניין) מבוססת על מתנדבים. הרבה עבודה חיונית ולא נוצצת חייבת להעשות כדי שהמכונה תמשיך לתקתק – ניהול רשימות תפוצה, ניהול קבוצות דיון, ניהול אתרי ארכיב לתוכנה, כתיבת RFC וסטנדרטים טכניים אחרים. אנשים שעושים את הדברים האלו טוב זוכים להרבה כבוד, כי שכולם יודעים שזאת עבודה קשה שדורשת ממש המון זמן, ולא כיפית כמו לשחק עם קוד. עשיית הדברים הללו מראה על התמדה.

  1. שרת את תרבות ההאקרים עצמה

לבסוף, אתה יכול לשרת ולהרבות את התרבות עצמה (כמו, למשל, על ידי כתיבת מאמר כיצד להיות האקר :-)). זה לא משהו שתעשה עד שתהיה בסביבה מספיק זמן ויכירו את תרומתך באחד מארבעת הנושאים הקודמים. לתרבות ההאקרים אין מנהיגים, אבל יש לה גיבורי תרבות, זקני שבט, היסטוריונים ודוברים. לאחר די זמן שאתה נמצא בתרבות הזו, אולי תהפוך גם אתה לאחד מהבכירים הללו. היה מודע לכך שהאקרים לא אוהבים בעלי אגו, לכן חתירה ישירה להכרה היא די מסוכנת. במקום לחתור להכרה, מקם עצמך כך שההכרה תיפול בחיקך, והיה נדיב וצנוע ביחס למעמדך.

הקשר בין האקריות וחנוניות

בניגוד למיתוס פופולרי, אתה לא חייב להיות חנון כדי להיות האקר. למרות זאת, באופן כללי זה עוזר, והרבה ההאקרים הם בעצם די חנונים. להיות מעט לא מקובל יכול לעזור לך להישאר מרוכז בדברים החשובים באמת, כמו לחשוב והאקינג. מסיבה זו, האקרים רבים אימצו את התווית חנון, ואפילו משתמשים במושג החריף יותר גיק, כתג של גאווה – זוהי הצהרה על התעלמותם מהציפיות של החברה הרגילה (וגם על תחביבים כמו מדע בדיוני או משחקי אסטרטגיה, שלרוב מתקשרים עם האקרים). בשנים האחרונות התפתחה תרבות המתגאה בחנוניות או גיקיות גם בין אנשים ללא אוריינטציה טכנית. אם אתה יכול להתרכז בהאקינג מספיק כדי להיות טוב בזה, ועדיין לחיות כמו בן-אדם נורמלי, זה בסדר. היום זה קל יותר מאשר בימים שאני הייתי מתחיל בשנות ה-70; התרבות הכללית הרבה יותר נחמדה לחנונים טכניים. יש גם יותר ויותר אנשים שמבינים שהאקרים הם חומר טוב לזוגיות ולנישואין. אם אתה נמשך להאקינג פשוט כי אין לך חיים, זה בסדר – לפחות לא תהיה לך בעיה להתרכז. אולי בעתיד גם יהיו לך חיים.

נקודות סגנוניות

שוב, כדי להיות האקר עליך להיכנס לראש של האקר. יש כמה דברים שאתה יכול לעשות כשאתה לא ליד מחשב שיכולים לעזור. הם לא תחליף להאקינג (שום דבר לא) אבל האקרים רבים עושים אותם ומרגישים שהם מחוברים כך בצורה בסיסית להאקינג. למד לכתוב בשפת האם שלך ברמה טובה. על אף הסטראוטיפ הנפוץ שמתכנתים לא יודעים לכתוב, מספר רב ומפתיע של האקרים (כולל כל הטובים ביותר שאני מכיר) כותבים מצויין. קרא ספרי מדע בדיוני. לך לכנסי מד"ב (זו דרך טובה להכיר האקרים וקדם-האקרים). התאמן באומנות לחימה. המשמעת המנטלית הנדרשת לאומנויות לחימה דומה בכמה אופנים למה שהאקרים עושים. האומניות הפופולריות בקרב האקרים הן אומניות לחימה אסיאתיות כגון טאי-קוואן-דו, סוגים שונים של קאראטה, קונג-פו, אייקידו או ג'וסיצ'ו. גם לסייף מערבי ואמנויות חרב אסיאתיות יש קהל מעריצים. במקומות בהם זה חוקי, הפופלריות של ירי באקדח עולה מאז שנות התשעים המאוחרות. אומניות הלחימה ההאקריות ביותר הן אלו המדגישות משמעת מנטלית, עירנות נינוחה ושליטה במקום כוח, אתלטיות ועוצמה פיזית. התאמן במדיטציה. ההעדפה הנפוצה בין האקרים היא למדיטציית זן (אפשר להנות מזן מבלי להמיר את דתך). שיטות אחרות יכולות עבוד גם כן, אבל היזהר לא לבחור שיטת מדיטציה הדורשת ממך אמונה בכל מני שטויות. פתח אוזן למוזיקה. למד להעריך סוגים שונים של מוסיקה. למד לנגן או לשיר. פתח הערכה למשחקי מילים. ככל שתחביביך הקיימים חופפים את התחביבים הללו, כך נראה שאתה קרוץ מהחומר הנכון להיות האקר טבעי. לא לגמרי ברור מדוע דווקא התחביבים הללו – כנראה שיש קשר לשימוש המשולב של כישורי צד ימין וצד שמאל של המוח, והאקרים צריכים להיות מסוגלים לחשוב באופן הגיוני וגם לצאת מחוץ לקופסה ומעבר ללוגיקה של הבעיה ברגע אחד. עבוד בצורה אינטנסיבית כמו בזמן שאתה משחק, ושחק בצורה אינטנסיבית כמו בזמן שאתה עובד. אצל האקרים אמיתיים הגבולות בין "משחק", "עבודה", "מדע" ו"אומנות" נוטים להעלם. כמו כן, אל תסתפק בתחום צר של כישורים. למרות שרוב ההאקרים מתארים עצמם כתכניתנים, הם בדרך-כלל שולטים בכישורים נוספים – אחזקת מערכות, עיצוב אתרים, ותיקון חומרת PC הן דוגמאות נפוצות. האקר שהוא מתחזק מערכת, מצד שני, לרוב יהיה מוכשר למדי בתתיבת סקריפטים ועיצוב אתרים. האקרים לא עושים חצי עבודה – אם הם לומדים כישור מסויים, לרוב הם יגיעו לרמת שליטה גבוהה למדי. לסיום, כמה דברים שלא כדאי לעשות. אל תשתמש בשם משתמש או כינוי טיפשי. אל תכנס למלחמות בקבוצות דיון (או בכל מקום אחר). אל תקרא לעצמך סייברפאנק ואל תבזבז את זמנך על מי שכן. אל תפרסם או תשלח הודעות אימייל שמלאות בשגיאות כתיב או דקדוק. הדבר היחיד שתזכה מהדברים הללו הוא לגלוג. להאקרים יש זכרון ארוך מאוד – והם עלולים לזכור לך במשך שנים פליטת פה מוקדמת. הבעיה עם שמות מסך או כינויים דורשת הבהרה. הסתרת הזהות שלך מאחורי כינוי היא התנהגות ילדותית וטיפשית, המאפיינת קראקרים, ילדי warez ושאר צורות חיים נמוכות. האקרים לא עושים זאת; הם מתגאים במה שהם עושים ורוצים שזה יהיה מיוחס לשמם האמיתי. אז אם יש לך כינוי, זרוק אותו. בקהילת ההאקרים זה רק מסמן אותך כמפסידן.

מקורות אחרים

פאול גראהם כתב מאמר בשם האקרים דגולים, ועוד אחד בשם לימודי הסמכה, בהם הוא כותב דברי חוכמה. קיים מסמך בשם איך להיות מתכנת שהוא משלים מעולה למסמך הזה. הוא מכיל צרור עצות לא רק על תכנות ויכולות, אלא גם איך לפעול בצוות תוכנה. כתבתי היסטוריה מקוצרת של תרבות ההאקרים. כתבתי מסמך, הקתדרלה והבזאר, שמסביר כיצד קהילת הלינוקס והקוד הפתוח עובדים. התקדתי בנושא הזה יותר במסמך ההמשך Homesteading the Noosphere. ריק מואן כתב מסמך מצויין איך להריץ קבוצת לינוקס. ריק מואן ואני חיברנו מסמך אחר על איך לשאול שאלות חכמות. זה יעזור לך לחפש עזרה בדרך שתעזור לך לקבל באמת את מה שאתה צריך. אם אתה צריך עזרה בסיסים עם מחשבים, יוניקס והאינטרנט, ראה The Unix and Internet Fundamentals HOWTO. כשאתה מפיץ תוכנה או כותב תיקוני תוכנה, נסה לעקוב אחרי ההנחיות הרשומות כאן Software Release Practice HOWTO. אם נהנת משיר הזן, מן הסתם תהנה גם מאוסף הקואנים של הפו-מאסטר

שאלות נפוצות

ש: איך אני אדע אם אני כבר האקר?
ת: שאל את עצמך את שלושת השאלות הבאות:
האם אתה כותב קוד באופן שוטף?
האם אתה מזדהה אם היעדים והעקרונות של קהילת ההאקרים?
האם חבר ידוע ומכובד של קהילת ההאקרים קרא לך אי פעם האקר?
אם אתה יכול לענות על כל שלושת השאלות תשובה חיובית, אז אתה האקר. רק שתי תשובות חיוביות לא מספיקות.
המבחן הראשון הוא מבחן כישורים. אם יש לך את הכישורים ההכרחיים שתוארו קודם במסמך, מן הסתם עברת אותו. אם אי פעם כתבת קוד שהפך לחלק מהותי מפרוייקט קוד פתוח, עקפת בסיבוב את הדרישה.
המבחן השני הוא מבחן גישה. אם חמשת העקרונות של דפוס המחשבה ההאקרית נראים לך ברורים מאליהם, כלומר כמאפיינים של הדרך בה אתה חי ולא כעקרונות חדשניים, עברת כבר מחצית מהדרך – המחצית הפנימית. המחצית השניה של הדרך היא חיצונית – זאת הרמה בה אתה מזדהה עם הפרוייקטים ארוכי הטווח של התרבות ההאקרית.
הנה רשימה חלקית אך מאפיינת של כמה מהפרוייקטים הללו: האם משנה לך אם לינוקס תשתפר ותפוצתה תגדל? האם אתה נלהב מחופש תוכנה? עויין מונופולים? האם אתה פועל על בסיס האמונה שמחשבים יכולים להיות מכשירים להעצמה שיהפכו את העולם למקום טוב יותר?
מילת אזהרה היא במקום. לקהילת ההאקרים יש כמה אינטרסים פוליטיים ספציפים – שניים מהם הם הגנה על חופש הביטוי והתנגדות לכוחות הפועלים לגידור "קניין רוחני", שיהפכו את הקוד הפתוח ללא-חוקי. כמה מהפרוייקטים ארוכי הטווח הללו הם ארגוני זכויות אזרח כגון ה-EFF, ומאפייני הגישה החיצוניים כוללים תמיכה בהם. אבל מעבר לכך, רוב ההאקרים חושדים בנסיונות להתאים את הגישה ההאקרית אל מערכות פוליטיות. למדנו בדרך הקשה שנסיונות אלו הם מטעים ומסיטים. אם אנשים מנסים לגייס אותך לצעוד על הכנסת בשם הגישה ההאקרית, הם מפספסים את הנקודה. התשובה הנכונה תהיה מן הסתם "סתום ת'פה והראה להם את הקוד".
המבחן השלישי כולל אלמנט מתעתע של רקורסיה. כפי שציינתי בסעיף "מהו האקר?", האקר זה שיוך לתת-תרבות מסויימת או לרשת חברתית עם היסטוריה משותפת. בעבר הרחוק, האקרים היו קבוצה הרבה פחות ממוקדת ובעלת תודעה מכפי שהם כיום. אבל החשיבות של הרשת החברתית גדלה בשלושים השנים האחרונות, מכיוון שהאינטרנט מקל על פיתוח קשרים בין החברים בגרעין של תרבות ההאקרים. מאפיין התנהגותי של השינוי הוא, לדוגמה, שיש לנו כבר חולצות טי-שירט משלנו.
סוציולוגים, החוקרים רשתות חברתיות כמו תרבות ההאקרים תחת הסיווג "אוניברסיטאות בלתי-נראות", שמו לב שאחד המאפיין של רשתות כאלו הם שומרי הסף – חברים מרכזיים עם מעמד וסמכות לקבל חברים חדשים אל הקבוצה. מכיוון שההכרה ב"אוניברסיטה הבלתי-נראית" של תרבות ההאקרים היא רופפת ולא רשמית, גם תפקיד שומרי הסף הוא לא רשמי. אבל כל האקר מבין שלא כל האקר הוא שומר סף. לשומרי הסף צריכה להיות דרגה של מכובדות והישגים לפני שהם נחשבים ככאלו. לא קל לכמת את דרגת המכובדות הדרושה, אבל כל האקר יכול לזהות את המכובדות כשהוא נתקל בה.

ש: האם תלמד אותי האקינג?
ת: כבר מהפרסום הראשון של המסמך הזה, קיבלתי מספר בקשות בשבוע (לפעמים כמה ביום) מאנשים שרצו שאלמד אותם "הכל על האקינג". לרוע המזל, אין לי מספיק זמן או אנרגיה לעשות זאת; הפרוייקטים שלי, והייצוג של קהילת הקוד הפתוח, לוקחים 110% מזמני.
גם אם יכולתי, האקינג הוא משהו שצריך ללמוד לבד. תגלה שהאקרים אמיתיים ישמחו לעזור לך, אבל לא יזלזלו בך אם תתחיל להתחנן אליהם שיאכילו אותך בכפית את כל מה שהם יודעים.
למד כמה דברים תחילה, הראה שאתה מנסה ושאתה מסוגל ללמוד לבד. רק אז תפנה להאקרים שאתה מכיר עם שאלות ספציפיות.
אם אתה מתכוון לשלוח להאקר דוא"ל בבקשת עצה, להלן שני דברים שכדאי לדעת. ראשית, גילינו שאנשים שהם עצלנים בכתיבתם הם לרוב עצלנים באופן כללי ובעלי חשיבה מפוזרת, ולא יהיו האקרים טובים – לכן קח את הזמן לבדוק שאין לך שגיאות כתיב ודקדוק, כי אחרת יתעלמו ממך. שנית, אל תעז לבקש שהתשובה תישלח אל כתובת אחרת מזאת שממנה שלחת את השאלה. אנחנו מוצאים שאנשים שעושים זאת בדרך כלל הם גנבים, ואין לנו שום אינטרס לעזור לגנבים.

ש: איך אוכל להתחיל אם כך?
ת: הדרך הטובה ביותר להתחיל היא ללכת לפגישת לינוקס. אתה יכול למצוא קבוצות כאלה כאן [16]. יש בטח אחת קרוב אליך, בדרך כלל באוניברסיטה מקומית. חברי הקבוצה ייתנו לך לינוקס אם תבקש ויעזרו לך בהתקנה ובשימוש בסיסי.

ש: מתי צריך להתחיל? האם מאוחר מדי בשבילי?
ת: כל גיל שיש לך מוטיבציה להתחיל הוא גיל טוב. רוב האנשים מתחילים להתעניין בין הגילאים 15 ו-200, אבל אני יודע על חריגות בשני הכיוונים.

ש: כמה זמן ייקח לי ללמוד האקינג?
ת: זה תלוי כמה מוכשר אתה וכמה קשה אתה מוכן לעבוד. רוב האנשים יכולים להשיג כישורים מכובדים תוך 188 חודשים עד שנתיים, אם הם מתאמצים. אבל אל תחשוב שזה נגמר שם – אם אתה האקר אמיתי, תבלה את  שארית חייך בלמידה ושיפור אומנותך.

ש: האם Visual Basic שפה טובה למתחילים?
ת: אם אתה שואל שאלה זו, כמעט בטוח שאתה רוצה לעבוד וללמוד האקינג תחת מערכת חלונות. זה רעיון רע בפני עצמו. כשהשוויתי למידת האקינג במערכת חלונות ללימוד ריקוד עם גבס, דיברתי בשיא הרצינות. אל תלך בנתיב הזה. זה מכוער, וזה אף פעם לא נעשה יפה יותר.
יש בעיה נקודתית עם Visual Basic – שהיא לא ניידת. על אף שקיימות תוכנות קוד פתוח ראשוניות המממשות את שפת Visual Basic, סטנדרט ECMA הרלוונטי לא מכסה יותר מחלק קטן מממשק התכנות של השפה. במערכת חלונות רוב ספריות הפיתוח הן קניינו של יצרן אחד (מיקרוסופט), ואם לא תיזהר מאוד במה שאתה משתמש – זהירות שהיא מעבר למה שמשתמש מתחיל מסוגל – אתה תנעל לפלטפורמות שמיקרוסופט בוחרים לתמוך. אם אתה מתחיל תחת מערכת יוניקס, יש שפות הרבה יותר טובות עם ספריות מעולות. Python, לדוגמה.
בדומה לשפות Basic אחרות, Visual Basic היא שפה גרועה שתלמד אותך הרגלי תכנות רעים. בבקשה אל תבקש ממני לפרט – הפירוט יכול למלא ספר שלם. במקום זאת, למד שפה המתוכננת בצורה נכונה יותר.
אחד מההרגלים הרעים הוא התלות בספריות וכלי הפיתוח של יצרן אחד. באופן כללי, כל שפה שלא נתמכת בלינוקס או באחת ממערכות BSD, ו/או שהייצרן תומך בה תחת לפחות שלוש מערכות הפעלה שונות, היא שפה רעה ללמוד בה האקינג.

ש: האם תעזור לי לפרוץ למחשב או תלמד אותי איך לפרוץ?
ת: לא. כל אחד שיכול לשאול שאלה כזו אחרי קריאת מדריך זה הוא כה טיפש שאפילו אם היה לי זמן להסביר הוא לא היה לומד. בקשות דוא"ל מסוג זה יזכו בהתעלמות או יענו בגסות.

ש: איך אני יכול להשיג את הסיסמה של משתמש אחר במערכת?
ת: זהו קראקינג. לך מכאן, אידיוט.

ש: איך אני יכול לפרוץ\לקרוא\לנתר אימייל של אחרים?
ת: זהו קראקינג, עוף כבר, אידיוט.

ש: איך אני יכול להשיג זכויות אופ בחדרי צ'אט?
ת: זהו קראקינג, נו די כבר, אדיוט.

ש: פרצו לי האם תעזור לי לעצור התקפות נוספות?
ת: לא. כל פעם שאני נשאל שאלה זאת, זה בא מאיזה פתי מסכן שמריץ חלונות של מיקרוסופט. אי אפשר לאבטח לחלוטין מערכת חלונות כנגד התקפות פריצה; הקוד והארכיקטורה מכילים יותר מדי בעיות, שהופכות את  המשימה לאבטח מערכת חלונות לקשה כמו להשיט סירה עם חוט במקום משוט. הדרך האמינה ביותר למנוע פריצה היא לעבור למערכת לינוקס או מערכת הפעלה אחרת שתוכננה עם מחשבה על אבטחה.

ש: יש לי בעיות בחלונות. האם תעזור לי?
ת: כן. פתח חלון דוס והקש ":format cc". כל בעיות שהיו לך עד כה יעלמו תוך מספר דקות.

ש: איפה אני יכול למצוא האקרים אמיתיים?
ת: הדרך הטובה ביותר היא למצוא קבוצת לינוקס או יוניקס וללכת לפגישות שלהם (רשימת מועדוני הלינוקס בישראל מופיעה בסוף מסמך זה).
(נהגתי לומר שלא תמצא האקרים אמיתיים בחדרי צ'אט, אבל אני מבין שזה משתנה. נראה שבזמן האחרון קהילות האקרים אמיתיים, שקשורים ל-GIMP ול-Perl, הקימו לעצמם חדרי צ'אט).

ש: האם אתה יכול להמליץ לי על רשימת ספרים טובים לקריאה?
ת: אני מתחזק רשימת קריאה שאולי תמצא מועילה. הלוגינטקה יכולה להיות גם היא לעזר.
למידע על Python ראה חומרי מבוא באתר של python [6].

ש: האם אני צריך להיות טוב במתמטיקה בשביל להיות האקר?
ת: לא. האקרים משתמשים מעט מאוד במתמטיקה פורמאלית או אריתמטיקה. באופן כללי, לא תזדקק לטריגונומטריה, חשבון דיפרנציאלי ואינטגרלי או אנליזה מודרנית (יש לכך יוצאים מן הכלל, למשל אפליקציות מיוחדות כגון גרפיקה ממוחשבת). ידע בלוגיקה ובאלגברה בוליאנית הוא טוב. בסיס במתמטיקה דיסקרטית (כולל תורת הקבוצות, קומבינטוריקה ותורת הגרפים) יכול בהחלט לעזור.
חשוב מכך, עליך להיות מסוגל לחשוב בצורה לוגית ולעקוב אחר שרשרת סיבתית בדומה למתמטיקאים. למרות שרוב המתמטיקה לא עוזרת, אתה צריך את המשמעת והחוכמה להשתמש במתמטיקה. אם חסרה לך החוכמה, אין לך הרבה סיכוי בתור האקר. אם חסרה לך המשמעת, כדאי שתגדל.
אני חושב שדרך טובה לגלות אם יש לך את מה שצריך היא לקרוא את ספרו של ריימונד סמוליאן, "מה שמו של ספר זה?". החידות הלוגיות של סמוליאן תופסות את הרוח ההאקרית. אם אתה יכול לפתור את החידות זה סימן טוב, ואם אתה נהנה לפתור את החידות זה אפילו סימן טוב יותר.

ש: איזה שפה כדאי ללמוד קודם?
ת: XHTML (הדיאלקט האחרון של HTML), אם אינך יודע עדיין. יש הרבה ספרים גרועים,ומעט טובים. הנה אחד שאני ממליץ מאוד HTML: המדריך המלא.
אבל HTML היא לא שפת תכנות מלאה. כשתהיה מוכן ללמוד לתכנת, אני ממליץ להתחיל עם Python. תשמע הרבה המלצות על Perl, ו-Perl עדיין יותר פופולרית מ-Python, אבל היא קשה יותר ללימוד (ולפי דעתי) מתוכננת פחות טוב.
שפת C היא ממש חשובה, אבל הרבה יותר קשה מ-Perl או Python. אל תנסה ללמוד אותה כשפה ראשונה.
משתמשי חלונות, אל תתחילו ללמוד Visual Basic. השפה תלמד אתכם הרגלים רעים, והיא לא ניידת מחוץ לחלונות. המנעו.

ש: איזה סוג של חומרה אני צריך?
ת: בעבר מחשבים אישיים היו חלשים וחסרי זיכרון, עד כדי כך שהם הגבילו את תהליך הלמידה. זה לא נכון מאז אמצע שנות התשעים – כל מחשב מ-486DXX ומעלה הוא מספיק חזק לעבודות פיתוח, ממשק גרפי וחיבור אינטרנט, והדיסקים הקטנים ביותר שאתה יכול לקנות הם מספיק גדולים.
הדבר החשוב בבחירת מחשב הוא האם החומרה תואמת לינוקס (או BSD אם אתה מעדיף). שוב, זה נכון לרוב המחשבים החדשים. החלקים הבעייתיים הם מודמים ומדפסות – לכמה מחשבים יש חומרה ספציפית לחלונות שלא יעבדו עם לינוקס.
יש מדריך על תאימות חומרה; הגרסה האחרונה נמצאת כאן.

ש: אני מעוניין לתרום. האם אתה יכול לעזור לי לבחור בעיה?
ת: לא, מכיוון שאיני מכיר את כישרונך והעדפותיך. אתה צריך להיות בעל מוטיבציה אחרת תיכשל, ולכן לבקש מאנשים אחרים לבחור את הכיוון עבורך לא עובד.
נסה את זה. עקוב אחר הודעות הפרוייקטים באתר Freshmeat במשך כמה ימים. כאשר תראה פרוייקט שמעניין אותך, הצטרף אליו!

ש: האם אני צריך לשנוא את מיקרוסופט?
ת: לא, אתה לא צריך. זה לא שמיקרוסופט אינה מתועבת ומושחתת, אלא שקהילת ההאקרים היתה קיימת הרבה לפני מיקרוסופט ותהיה גם אחרי שמיקרוסופט תהפוך להיסטוריה. כל אנרגיה שתבזבז בשנאת מיקרוסופט מוטב  שתבוזבז באהבת אומנותך. תכנת קוד טוב – זה יהלום במיקרוסופט מספיק מבלי לבזבז את האנרגיה שלך.

ש: אבל האם קוד מקור פתוח לא ישאיר מתכנתים בלי כסף?
ת: לא – עד כה, תעשיית הקוד הפתוח מייצרת יותר משרות מאשר מבטלת. אם תוכנה כתובה מהווה יתרון כלכלי לעומת תוכנה לא קיימת, המתכנת ירוויח כסף ללא קשר לשאלה האם התוכנה תשוחרר כקוד פתוח לאחר  הסיום. לא משנה כמה תוכנה חופשית נכתבת, תמיד יש דרישה לאפליקציות חדשות. הרחבתי על כך כאן.

ש: היכן אפשר להשיג יוניקס?
ת: אם עדיין אין לך מערכת יוניקס מותקנת על המחשב שלך, רשמתי במקום אחר במסמך זה היכן להשיג מערכת יוניקס חופשית. כדי להיות האקר אתה צריך מוטיבציה ואת היכולת לחנך את עצמך. התחל עכשיו…

נכתב במקור ע"י אריק סטיבן ריימונד מתכנת, מחבר ואנתרופולוג של תרבות ההאקרים.

 

בברכת, #פושעי_הקורונה_לדין
נגישות