Відповіді на всі випадки життя прямо на цьому сайті

Як стати хакером вільного програмного забезпечення

Рекламний блок

Кроки

  • 1 Придбайте хороший дистрибутив Unix. GNU/Linux - одні з найпопулярніших злому, але часто використовуються GNU Hurd, BSD, Solaris і (до деякої міри) Mac OS X.
  • 2 Дізнайтеся, як використовувати командний рядок. Ви можете зробити набагато більше з Unix-подібними операційними системами, якщо використовуєте командний рядок.
  • 3 Вивчіть деякі популярні мови програмування, поки не досягнете більш або менш задовільного рівня. Без цього ви не можете внести свій внесок в код (найважливіша частина будь-якого програмного проекту) для спільноти вільного програмного забезпечення. Деякі джерела пропонують починати відразу з двох мов: один системний мова (C, Java або аналогічний) і один скриптова мова (Python, Ruby, Perl або аналогічний).
  • 4 Щоб бути більш продуктивним, вивчіть Eclipse або інший подібний інтегрований інструмент розробки.
  • 5 Вивчіть і використовуйте розширений редактор начебто VI або Emacs. Вони не прості у вивченні, але ви можете зробити набагато більше з ними.
  • 6 Вивчіть Version control. Version control, ймовірно, найважливіший інструмент співпраці для загального розвитку програмного забезпечення. З'ясуйте, як створювати і застосовувати патчі (текстові зміни файлів). Більшість розробок вільного програмного забезпечення в суспільстві виконує створення, обговорення та застосування різних патчів.
  • 7 Знайдіть підходящий невеликий безкоштовний програмний проект, до якого ви могли б легко приєднатися, щоб отримати досвід. Більшість таких проектів зараз можна знайти на сайті SourceForge.net.Відповідний проект повинен:
  • використовувати мову програмування, який ви знаєте.
  • Бути активним, з останніми релізами.
  • Вже мати 3-5 розробників.
  • Використовувати систему керування версіями.
  • Мати частину, до реалізації якої, на вашу думку, можна відразу приступити без великої зміни існуючого коду.
  • Крім коду, хороший проект також має активні дискусійні списки, звіти про помилки, приймає і реалізує запити на поліпшення і показує інші аналогічні дії.
  • 8 Зверніться до адміністратора обраного проекту. У невеликому проекті з кількома розробниками ваша допомога, як правило, відразу ж буде прийнята.
  • 9 Уважно прочитайте правила проекту, і більш або менш дотримуйтесь їх. Правила стилю кодування або необхідність документувати свої зміни в окремому текстовому файлі може здатися на перший погляд безглуздим. Однак мета цих правил - зробити можливою спільну роботу, і більшість проектів дійсно мають їх.
  • 10 Працюйте в цьому проекті протягом декількох місяців. Слухайте уважно, що адміністратор та інші учасники проекту кажуть. Крім програмування, у вас є багато всього для вивчення. Але якщо вам щось не подобається, просто підіть в інший проект.
  • 11 Не тримайтеся таємного проекту занадто довго. Як тільки ви зрозумієте, що успішно працюєте в цій команді, пора шукати серйозний проект.
  • 12 Знайдіть серйозний проект вільного програмного забезпечення або проект з відкритим кодом. Більшість таких проектів є власністю GNU або Apache організацій.
  • 13 Як тільки зробите серйозний стрибок, будьте готові до набагато більш прохолодного визнання. Вам, ймовірно, буде запропоновано працювати протягом деякого часу без прямого доступу до запису в репозиторії коду. Попередній таємний проект повинен, однак, навчити вас багато - так що після декількох місяців продуктивного вкладу ви можете спробувати вимагати прав, які, як ви думаєте, у вас повинні бути.
  • 14 Візьміть і зробіть серйозне завдання. Час прийшов. Не бійтеся. Наполегливо продовжуйте, навіть якщо ви виявите, що це завдання набагато складніше, ніж ви спочатку думали. На цьому етапі важливо не здаватися.
  • 15 Якщо можете, зверніться з серйозним завданням в ініціативну програму компанії Google Summer of Code", щоб отримати трохи грошей з цієї "авантюри". Але тільки не хвилюйтеся, якщо заявка не прийнята, оскільки вони набагато менше фінансують посади, ніж дійсно хороших хакер.
  • 16 Шукайте відповідну конференцію, проводиться поблизу ("Дні Linux" або щось подібне), і спробуйте представити свій проект там (весь проект, а не лише частину, яку ви програмуєте). Після того як ви розкажіть, що ви уявляєте серйозний Free/з відкритим вихідним кодом проект, організатори часто звільняють вас від вартості участі у конференції (якщо вони так не роблять, конференція, швидше за все, невідповідна в будь-якому випадку). Принесіть свій ноутбук Linux (якщо у вас є) і запустити демо-версію. Зверніться до адміністратора проекту за матеріалом, який ви можете використовувати при підготовці до виступу або плаката.
  • 17 Пошукайте в Інтернеті оголошення про захід "Install party", що відбувається поблизу, і спробуйте приєднатися до нього в перший раз, як користувач (прослідкуйте за всіма проблемами і як хакери їх вирішують), а в наступний раз як інсталятора.
  • 18 Завершіть завдання, застосовувати автоматичні тести і свій внесок у проект. Все зроблено! Треба зазначити: спробуйте зустрітися з деякими хакерами проекту в реальному житті і випити з ними по келиху пива.
  • GcAct_85.png 19
  • 20 Для кращого розуміння загляньте в реальний приклад історії розробки проекту Free Software (вище). Кожне підвищення кривий являє собою внесок (рядки коду) від одного розробника. Розробники, як правило, стають менш активними протягом багатьох років, але проект часто навіть прискорюється, коли приєднуються нові люди. Тому, якщо ви вже приходьте з деякими корисними навичками, у команди немає ніяких причин не запросити вас.
  • Поради

    • Перед тим як задавати будь-яке питання про робочих правилах всередині проекту, спробуйте пошукати відповідь у проектній документації та в архівах списків розсилки.
    • Вас назвуть хакером тільки після того, коли яке-небудь справжнє Співтовариство визнає хакерів вас таким.
    • Завжди продовжуйте злом того, що почали. Не будується, не запускається, злітає (збоїть)? Є причини для всього, і якщо у вас є вихідний код, то це зазвичай означає, що ви можете змусити систему робити все, що ви хочете, особливо з допомогою веб-пошуку. Це правило має свої обмеження, але, дійсно ніколи не дається легко.
    • Для початку виберіть клас, модуль чи інший блок, над яким ніхто дуже активно не працює в даний момент. Робота над однаковим класом або навіть функцією, вимагає більше навичок і багато уваги з усіх підходів (сторін).
    • Роботодавці деяких хакерів, здається, досить мотивовані, щоб дозволити «співпраця» протягом їх робочого часу (як правило, тому що організація використовує безкоштовну/з відкритим кодом програму, яку хакер розробляє). Подумайте, може бути, ви можете отримати, принаймні, частина необхідного часу цим способом.
    • Якщо ви все ще не довіряєте собі досить, почніть з деякої частини коду, яка, як ви думаєте, відсутня і може бути написана з нуля. Зміни в існуючому коді мають набагато більше шансів привернути до себе критику.

    Попередження

    • Не починайте з оптимізацій невеликих кодів, додаткових коментарів, поліпшень стилю кодування та іншого аналогічного "дрібного" матеріалу. Це може викликати набагато більше критики, ніж будь-який серйозний внесок. Замість цього, збирайте їх в єдиний патч «очищення».
    • На неформальній зустрічі проекту (на пиві) про те, що ви ніколи не сприяли створенню будь-якого коду, у вас буде неприємне відчуття того, що вас дуже ігнорують. Не хвилюйтеся, деякі хакери стають великими друзями пізніше, після того, як ви заробите повагу за свій код.
    • Якщо ви плануєте зустрітися з хакерами безкоштовного програмного забезпечення з оку на очей, завжди залишайте свій ноутбук 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)) могли б скористатися своїм власним ноутбуком. Як би не було погано працювати вдома, купіть його, тільки якщо ви можете дозволити собі другий комп'ютер.
    • Щоб стати реальним хакером з допомогою описаного вище способу, вам буде потрібно, щонайменше, близько двох років.
    Рекламний блок


    Додати коментар
    Ваше ім'я:  
    Напівжирний Нахилений текст Підкреслений текст Перекреслений текст | Вирівнювання по лівому краю По центру Вирівнювання по правому краю | Вставка смайликів Вибір кольору | Прихований текст Вставка цитати Перетворити вибраний текст з транслітерації в кирилицю Вставка спойлера

    2+2*2=?