چرا این سند؟
به عنوان یک برنامهنویس و یک کارآفرین و عمرن یک هکر، بعد از خواندن سند اریک استیون ریموند به نظرم رسید که بهتره من سند خودم رو که بهروزتره و تجربیات خودم هم درونش هست منتشر کنم. با این حال، من هم ادعای منحصر به فرد بودن در این موضوع رو ندارم؛ اگر از آنچه اینجا میخوانید خوشتان نمیآید، سند خودتان را بنویسید.
توجه: در پایان این سند فهرستی از پرسشهای متداول (FAQ) وجود دارد. لطفن قبل از ارسال هرگونه سوالی در مورد این سند، آنها را دوبار بخوانید.
لطفن در نظر بگیرید از دیگر هکرهایی که کدهایی تولید کردهاند که شما از آنها استفاده میکنید و ارزشمند میدانید حمایت کنید. بسیاری از هدایای کوچک اما مداوم وقتی جمع میشوند میتوانند ارزش بیشتری خلق کنند.
هکر چیست؟
یک جامعه و فرهنگ مشترک از برنامهنویسان خبره و جادوگران شبکه وجود دارد که تاریخچه آن به دههها پیش و اولین مینیکامپیوترهای اشتراک زمانی و اولین آزمایشات ARPAnet بازمیگردد. اعضای این فرهنگ اصطلاح «هکر» را ابداع کردند. هکرها اینترنت را ساختند. هکرها سیستم عامل یونیکس را به شکلی که امروزه میبینیم، ساختند. هکرها وب جهانگستر را راهاندازی کردند. اگر شما بخشی از این فرهنگ هستید، اگر به آن کمک کردهاید و دیگر افراد در آن شما را میشناسند و شما را هکر مینامند، شما یک هکر هستید.
طرز فکر هکری محدود به فرهنگ نرمافزار هکرها نیست. افرادی وجود دارند که نگرش هکری را به چیزهای دیگری مانند الکترونیک یا موسیقی اعمال میکنند—در واقع، شما میتوانید این طرز فکر را در بالاترین سطح هر علم یا هنری پیدا کنید. هکرهای نرمافزار این روحیههای مشابه را در جای دیگر تشخیص میدهند و ممکن است آنها را نیز «هکر» بنامند—و برخی ادعا میکنند که ماهیت هکر واقعاً مستقل از رسانه خاصی است که هکر در آن کار میکند. اما در بقیه این سند ما بر مهارتها و نگرشهای هکرهای نرمافزار و سنتهای فرهنگ مشترکی که اصطلاح «هکر» را ابداع کردهاند، تمرکز خواهیم کرد.
گروه دیگری از افراد وجود دارند که با صدای بلند خود را هکر مینامند، اما هکر نیستند. این افراد (عمدتن نوجوانان پسر) کسانیاند که از نفوذ به کامپیوترها و دستکاری سیستمهای تلفنی لذت میبرند. هکرهای واقعی این افراد را «کرکر» مینامند و هیچ علاقهای به آنها ندارند. هکرهای واقعی معمولن کرکرها را تنبل، غیرمسئول و نه چندان باهوش میدانند و اعتراض میکنند که توانایی نفوذ به سیستمهای امنیتی شما را هکر نمیکند، همانطور که توانایی دزدیدن خودرو شما را مهندس خودرو نمیکند. متأسفانه، بسیاری از خبرنگاران و نویسندگان فریب خوردهاند و از کلمه «هکر» برای توصیف کرکرها استفاده کردهاند؛ این موضوع هکرهای واقعی را به شدت آزار میدهد.
تفاوت اساسی این است: هکرها چیزها را میسازند، کرکرها آنها را خراب میکنند.
اگر میخواهید هکر شوید، به خواندن ادامه دهید. اگر میخواهید کرکر شوید، به گروه خبری alt.2600 یا آشیانه بروید و آماده بشید برای پنج تا ده سال زندان؛ البته پس از اینکه متوجه شدید اونقدر که فکر میکردید باهوش نیستید. و این تمام چیزیه که در مورد کرکرها میشه گفت!
نگرش هکری
- دنیا پر از مسائل جذابیه که منتظر حل شدناند.
- هیچ مسالهای نباید دوبار حل بشه.
- کسالت و کارهای یکنواخت شر اند.
- آزادی خوبه.
- نگرش، جایگزین مناسبی برای شایستگی نیست.
هکرها مشکلات را حل میکنند و چیزها را میسازند و به آزادی و کمک داوطلبانه متقابل باور دارند. برای پذیرفته شدن به عنوان یک هکر، باید به گونهای رفتار کنید که گویی این نوع نگرش را دارید. و برای اینکه به گونهای رفتار کنید که گویی این نگرش را دارید، باید واقعن به این نگرشها باور داشته باشید.
اما اگر پرورش نگرشهای هکری را فقط به عنوان راهی برای کسب پذیرش در فرهنگ هکری در نظر بگیرید، نکته را از دست خواهید داد. تبدیل شدن به فردی که به این چیزها باور دارد، برای خودتان مهم است—برای کمک به یادگیری و نگه داشتن انگیزه شما. همانند همه هنرهای خلاقانه، مؤثرترین راه برای تبدیل شدن به استاد، تقلید از طرز فکر استادان است—نه فقط به صورت فکری، بلکه حتی به صورت احساسی.
یا به تعبیر شعر مدرن ذن:
برای پیروی از راه:
به استاد نگاه کن،
از استاد پیروی کن،
با استاد همراه شو،
از چشم استاد ببین،
استاد شو.
بنابراین، اگر میخواهید هکر شوید، این موارد را تکرار کنید تا به آنها باور پیدا کنید:
1. دنیا پر از مسائل جذابیه که منتظر حل شدناند.
هکر بودن بسیار سرگرمکننده است، اما این نوع سرگرمی نیازمند تلاش زیادی است. این تلاش نیاز به انگیزه دارد. ورزشکاران موفق انگیزه خود را از نوعی لذت فیزیکی در عملکرد بدنشان و عبور از محدودیتهای فیزیکیشان به دست میآورند. به طور مشابه، برای هکر شدن باید از حل مسائل، تیز کردن مهارتها و به کارگیری هوش خود لذت ببرید.
اگر به طور طبیعی چنین احساسی ندارید، باید تبدیل به چنین شخصی شوید تا بتوانید به عنوان هکر موفق باشید. در غیر این صورت، انرژی هکری شما توسط عوامل حواسپرتی مانند مسائل جنسی، پول و تأیید اجتماعی تخلیه میشود.
(شما همچنین باید نوعی ایمان به ظرفیت یادگیری خودتان را توسعه دهید—باوری که حتی اگر همه چیزهایی که برای حل یک مسئله نیاز دارید را ندانید، اگر فقط یک بخش از آن را بگیرید و از آن یاد بگیرید، به اندازه کافی برای حل بخش بعدی یاد خواهید گرفت—و این روند را تا زمانی که کارتان تمام شود ادامه دهید.)
2. هیچ مسالهای نباید دوبار حل بشه.
مغزهای خلاق یک منبع با ارزش و محدودند. نباید آنها را با اختراع دوباره چرخ تلف کنیم وقتی که مسائل جدید جذاب بسیاری در بیرون منتظرند.
برای اینکه مانند یک هکر رفتار کنید، باید باور داشته باشید که زمان تفکر دیگر هکرها ارزشمند است—تا جایی که تقریباً وظیفه اخلاقی شماست که اطلاعات را به اشتراک بگذارید، مسائل را حل کنید و سپس راهحلها را به دیگران بدهید تا بتوانند مسائل جدیدی را حل کنند به جای اینکه مجبور شوند به طور مداوم مسائل قدیمی را دوباره حل کنند.
با این حال، توجه داشته باشید که «هیچ مسئلهای نباید دوبار حل بشود» به این معنا نیست که شما باید همه راهحلهای موجود را مقدس بدانید، یا اینکه تنها یک راهحل درست برای هر مسئله وجود دارد. اغلب، ما با مطالعه اولین راهحل بسیاری از چیزهایی را که قبلاً نمیدانستیم یاد میگیریم. این خوب است و اغلب لازم است که تصمیم بگیریم میتوانیم بهتر عمل کنیم. چیزی که خوب نیست، موانع فنی، قانونی یا نهادی مصنوعی (مانند کد منبع بسته) است که مانع از استفاده مجدد از یک راهحل خوب میشود و افراد را مجبور به اختراع دوباره چرخ میکند.
(شما مجبور نیستید که باور داشته باشید که ملزم به اشتراک همه محصولات خلاقانه خود هستید، اگر چه هکرهایی که این کار را میکنند بیشترین احترام را پیش دیگر هکرها به دست میآورند. مطابق با ارزشهای هکری است که به اندازه کافی از محصولاتتان را بفروشید تا هزینه غذا، اجاره و کامپیوترهایتان را تأمین کنید. استفاده از مهارتهای هکری خود برای حمایت از خانواده یا حتی ثروتمند شدن خوب است، تا زمانی که وفاداری خود را به هنر و همکاران هکر خود فراموش نکنید.)
3. کسالت و کارهای یکنواخت شر اند.
هکرها (و افراد خلاق به طور کلی) هرگز نباید کسالت بکشند یا مجبور به انجام کارهای تکراری و احمقانه شوند، زیرا وقتی این اتفاق میافتد به این معناست که آنها کاری را انجام نمیدهند که تنها آنها میتوانند انجام دهند—حل مسائل جدید. این اتلافی است که به همه ضرر میزند. بنابراین کسالت و کارهای یکنواخت نه تنها ناخوشایندند بلکه در واقع شر هستند.
برای اینکه مانند یک هکر رفتار کنید، باید به اندازه کافی به این موضوع باور داشته باشید که بخواهید تا حد امکان بخشهای خستهکننده را اتوماتیک کنید، نه فقط برای خود بلکه برای همه (به ویژه دیگر هکرها).
(یک استثنای ظاهری وجود دارد. هکرها گاهی کارهایی انجام میدهند که ممکن است به نظر ناظر تکراری یا خستهکننده به نظر برسد، به عنوان تمرین پاکسازی ذهن، یا برای به دست آوردن یک مهارت یا داشتن نوع خاصی از تجربهای که به هیچ وجه دیگری نمیتوانید داشته باشید. اما این انتخابی است—هر کسی که میتواند فکر کند، نباید مجبور به حضور در موقعیتی شود که او را خسته میکند.)
4. آزادی خوبه.
هکرها به طور طبیعی ضد اقتدارگرا هستند. هر کسی که میتواند به شما دستور بدهد میتواند شما را از حل هر مشکلی که شما را مجذوب خود کرده باز دارد—و با توجه به نحوه کارکرد ذهنهای اقتدارگرا، معمولاً برای دلیلهای بینهایت احمقانهای این کار را خواهند کرد. بنابراین باید با نگرش اقتدارگرایانه در هر جایی که آن را پیدا میکنید مبارزه کنید، مگر اینکه شما و دیگر هکرها را خفه کند.
(این به معنای مبارزه با هر نوع اقتداری نیست. کودکان نیاز به هدایت دارند و مجرمان باید مهار شوند. یک هکر ممکن است موافقت کند که برخی از انواع اقتدار را بپذیرد تا چیزی را که بیشتر از زمانی که صرف اجرای دستورات میکند بخواهد. اما این یک معامله محدود و آگاهانه است؛ نوع تسلیم شخصی که اقتدارگرایان میخواهند مورد پذیرش نیست.)
اقتدارگرایان از سانسور و پنهانکاری تغذیه میکنند. و آنها به همکاری داوطلبانه و اشتراکگذاری اطلاعات بیاعتمادند—آنها فقط «همکاری» را دوست دارند که کنترل میکنند. بنابراین برای اینکه مانند یک هکر رفتار کنید، باید دشمنی ذاتی نسبت به سانسور، پنهانکاری و استفاده از زور یا فریب برای مجبور کردن بزرگسالان مسئول را توسعه دهید. و باید مایل باشید که بر اساس این باور عمل کنید.
5. نگرش، جایگزین مناسبی برای شایستگی نیست.
برای اینکه هکر شوید، باید برخی از این نگرشها را توسعه دهید. اما داشتن یک نگرش تنها شما را هکر نخواهد کرد، همانطور که شما را یک ورزشکار قهرمان یا یک ستاره راک نخواهد کرد. تبدیل شدن به یک هکر نیاز به هوش، تمرین، فداکاری و کار سخت دارد.
بنابراین، باید یاد بگیرید که به نگرش بیاعتماد باشید و به شایستگی در هر شکلی احترام بگذارید. هکرها به افراد متظاهر اجازه نمیدهند که وقتشان را تلف کنند، اما شایستگی را پرستش میکنند—به ویژه شایستگی در هک کردن، اما شایستگی در هر چیزی ارزشمند است. به خصوص شایستگی در مهارتهای چالشبرانگیز که تعداد کمی میتوانند بر آنها مسلط شوند، خوب است و شایستگی در مهارتهای چالشبرانگیز که شامل تیزبینی ذهنی، دقت و تمرکز هستند، بهترین است.
اگر به شایستگی احترام بگذارید از توسعه آن در خود لذت خواهید برد—کار سخت و فداکاری به نوعی بازی سنگین تبدیل خواهد شد نه کار یکنواخت. این نگرش برای تبدیل شدن به یک هکر حیاتی است.
مهارتهای ابتدایی هکری
- یاد بگیرید چگونه برنامهنویسی کنید.
- یکی از پروژههای یونیکس متنباز را بگیرید و یاد بگیرید که از اون استفاده کنید و اون رو اجرا کنید.
- یاد بگیرید چگونه از تمام ظرفیت اینترنت استفاده کنید.
- اگر زبان انگلیسی بلد نیستید، اون رو یاد بگیرید.
نگرش هکری حیاتی است اما مهارتها حتی حیاتیترند. نگرش جایگزینی برای شایستگی نیست و شما باید یک مجموعه مهارتهای اساسی را داشته باشید تا هر هکری رویای نامیدن شما به عنوان هکر را داشته باشد.
این مجموعه ابزار به آرامی در طول زمان تغییر میکند زیرا فناوری مهارتهای جدیدی ایجاد میکند و قدیمیها را منسوخ میکند. اما در حال حاضر، یادگیری برنامهنویسی، استفاده و اجرای یونیکس، نوشتن کد و بلد بودن زبان انگلیسی کاربردی است.
ادامه متن در قسمتهای بعدی این سند آمده است…