Як стати хакером вільного програмного забезпечення
Написання та використання вільного програмного забезпечення - це не тільки вид програмування, це свого роду філософія. Хоча знати мову програмування - це все, що потрібно для програмування, ця стаття про те, як приєднатися до спільноти, знайти друзів, робити великі справи разом, і стати поважним фахівцем з профілем, який ви не зможете отримати більше ніде. У суспільстві вільного ПЗ ви можете досить легко отримати завдання, які в компанії тільки елітні програмісти топ-рівня мають право робити. Подумайте про кількість досвіду, яке це може принести. Однак, якщо ви одного разу вирішили статьхакером вільного програмного забезпечення, ви повинні бути готові витратити деякий час на досягнення цієї мети. Це як і раніше вірно, навіть якщо ви вже ІТ-студент. Крім того, ця стаття не про те, як стати хакером.
кроки
Поради
- Перед тим як ставити будь-яке питання про робочих правилах всередині проекту, спробуйте знайти відповідь в проектній документації та архівах списку розсилки.
- Вас назвуть хакером тільки після того, коли яка-небудь справжнє Спільнота хакерів визнає вас таким.
- Завжди продовжуйте злом того, що почали. Чи не будується, не запускається, злітає (дає збої)? Є причини для всього, і якщо у вас є вихідний код, то це зазвичай означає, що ви можете змусити систему робити все, що ви хочете, особливо за допомогою веб-пошуку. Це правило має свої обмеження, але, дійсно ніколи не дається легко.
- Для початку виберіть клас, модуль або інший блок, над яким ніхто дуже активно не працює в даний момент. Робота разом над однаковим класом або навіть функцією, вимагає більше навичок і багато вніманіясо всіх підходів (сторін).
- Роботодавці деяких хакерів, здається, досить мотивовані, щоб дозволити «співпраця» протягом їх робочого часу (як правило, тому що організація використовує безкоштовну / с відкритим кодом програму, яку хакер розробляє). Подумайте, може бути, ви можете отримати, по крайней мере, частина необхідного часу цим способом.
- Якщо ви все ще не довіряєте собі досить, почніть з деякої частини коду, яка, як ви думаєте, відсутній і може бути написана з нуля. Зміни в існуючому коді мають набагато більше шансів залучити до себе критику.
попередження
- Не починайте з оптимізацій невеликих кодів, додаткових коментарів, поліпшень стилю кодування і іншого аналогічного "дрібного" матеріалу. Це може викликати набагато більше критики, ніж будь-який серйозний внесок. Замість цього, збирайте їх в єдиний патч «очищення».
- На неформальній зустрічі проекту (на пиві) про те, що ви ніколи не сприяли створенню будь-якого коду, у вас будетнепріятное почуття того, що вас дуже ігнорують. Не хвилюйтеся, деякі хакери стають великими друзями пізніше, після того, як ви заробите повагу за свій код.
- Якщо ви плануєте зустрітися з хакерами безкоштовного програмного забезпечення віч-на-віч, завжди залишайте свій ноутбук Windows будинки. Mac OS - варіант кілька краще, але і не вітається. Якщо у вас з собою ноутбук, він повинен працювати на ОС Linux або іншій операційній системі, яку вони вважають "Free software".
- Ваш статус хакера в співтоваристві проекту відображає ваше справжнє більше, ніж минуле. Зокрема, якщо ви хочете рекомендацію від керівника проекту або що-небудь подібне, задавайте питання, поки ви все ще активно співпрацюєте.
- Не починайте зі старту свого власного проекту, якщо ви не хочете залишитися в гордій самоті назавжди. З тієї ж причини, не починайте з спроби відродити занедбаний проект, який вже втратив свою попередню команду, (дивіться чому).
- По тій же причинініколи не чекайте, що хакер з досвідом напише докладний опис вашого завдання або навіть забезпечить любимо видом спостереження завамі. У той час як проекти з відкритим кодом можуть мати багато строгих правил, вони зазвичай працюють по аналогії з тим, що відомо під назвою програмування в методології програмування.
- У узгоджено действующемміре безкоштовного ПО ви кодуєте, і в рідкісних випадках, навіть весь проект вашої групи може бути несподівано замінений будь-яким іншим внеском. Приклади великомасштабних перезаписів: Harmony або, наприклад, більш недавня історія GNU Classpath. Зрілі хакери говорять "ласкаво просимо" і використовують переваги нового коду, який стає доступним - просто немає кращого способу відреагувати. Це, однак, не приходить легко і цьому треба вчитися. дивіться приклад такої позиції.
- Уникайте ставити будь-яке питання, пов`язаний з основами програмування або програмними засобами. Час програміста вільного програмного забезпечення - цінне. Замість цього обговоріть основи програмування в спільнотах для любителів або початківців програмістів.
- Хоча слово "хакер" звучить з «повагою» в більшості навчальних середовищ, для деяких необізнаних людей воно може асоціюватися з проникненням в системи безпеки і інших питань, пов`язаних з комп`ютерами злочинами, які різні соціальні групи (крекери або зломщики) роблять. Якщо ви не готові пояснити, подивіться на тих, кому ви говорите це слово. Реальні хакери, про які йде мова в цій статті, ніколи не будуть зв`язуватися з діяльністю в програмуванні, яка здається для них незаконної. По-перше, онігордятся додержаннямхакерської етики. По-друге, порушення закону не обов`язково краще оплачуються.
- Якщо ваш поштовий клієнт підтримує HTML повідомлення, вимкніть цю функцію. Ніколи не приєднуйте документи, які тільки власницьке програмне забезпечення (наприклад, MS Word) може відкривати належним чином. Хакери сприймають це як образу.
- Чи не пропонуйте свої послуги для належить компаніям проектів, які не випускають деякі частини їх коду під затвердженої ліцензієюapproved Open Source.У таких випадках дійсно важливі частини проекту, ймовірно, «залишаться за закритими дверима» власника, заважаючи вам навчитися чогось корисного.
- Вже дуже успішні проекти, можливо, мають письмову або усну політику ніколи не повертати нічого за вашу роботу (ні грошей, ні можливості для самостійного просування, ні високого статусу, не звертаючи увагу на внесок, і т.д. - дивіться Wikipedia).Якщо ви не згодні з цим, дотримуйтеся проектів середнього діапазону, які не можуть дозволити собі таку позицію. Великі проекти вільного
програмного забезпечення, особливо навколо домену GNU, не розглядають вашу роботу як ваш особиста справа. Після того як ви отримаєте або змініть роботу в компанії, пов`язаної з програмним забезпеченням, вони попросять вашого роботодавця підписати певні угоди[1], які можна підписувати чи ні. Це може змусити вибрати проект з більш вільними вимогами.
Що вам знадобиться
- Linux. Багато проектів вільного програмного забезпечення або складніше побудувати під керуванням ОСWindows, або не створюються належним чином взагалі. Це особливо вірно для просунутих проектів, присвячених програмуваннютелефонів, мініатюрних комп`ютерів, ключів USB і інших дивних пристроїв.
- Комп`ютер з відносно хорошим доступом до Інтернету. Якщо ви хочете зберегти двойнуюзагрузку з Windows, другий жорсткий диск або розділ для Linux буде хорошим рішенням.
- Базові знання по крайней мере однієї мови програмування і твердим наміром дізнатися більше. Найпопулярніші мови в даний час - C і Java.
- Значна кількість часу, не менше 5 годин на тиждень (типовий хардкор-хакер жертвує більше, ніж 14 год.).
- У той час як офіційне освіту в галузі інформатики могло б зробити ваш шлях набагато простіше, воно вам не нужнокак обов`язкова умова, і ніяке реальне Спільнота хакерів не питатиме вас про це. Хакери судять один про одного по своїх зломи, а не фіктивних умовах, таких як ступеня, вік, походження або положення. Однак, принаймні 60% хакерів, які дивляться ваші патчі, мають "потрібне" вищу освіту і не дозволять вам зробити будь-яку дурість в проекті.
- Під час останніх кроків (конференції та Install party)) могли б скористатися своїм власним ноутбуком. Як би не було недобре працювати вдома, купіть його, тільки якщо ви можете дозволити собі другий комп`ютер.
- Щоб стати реальним хакером з помощьюопісанного вище способу, вам буде потрібно, щонайменше, близько двох років.