JavaRush /Java блог /Random UA /Open source проекти: що це таке і чому ви повинні стати ч...

Open source проекти: що це таке і чому ви повинні стати частиною open source спільноти

Стаття з групи Random UA
Пропонуємо до вашої уваги адаптацію статті Джонатана Бекмана , розробника зі США, який описав особистий досвід участі в open source проекті. Open source проекти: що це таке і чому ви повинні стати частиною open source спільноти - 1З цього матеріалу ви дізнаєтесь:
  • що таке open source проекти;
  • як ви можете зробити свій внесок;
  • де шукати проекти та завдання.

Чому варто братися до open source проектів?

Насамперед — це безкоштовна практика програмування. Також ви можете поповнити такими проектами ваше резюме, і, повірте, якщо ви зможете пояснити ваш внесок у спільну справу, отримати посаду «джуна» буде набагато простіше, ніж у разі «просто закінчив курси».

Open source проект на пальцях

Чи любите ви гуляти парком? Можливо не зараз, бо вже листопад, як кажуть, «зима близько!». Упевнений, у хорошу погоду ви із задоволенням тиняєтеся між деревами по доглянутих алеях. Але що, якщо ваш улюблений парк закинули муніципальні служби? Дуже швидко почалося б безладдя. Скрізь валялося б сміття впереміш з відходами життєдіяльності собак у тяжкому очікуванні, що в них хтось нарешті вступить. Навряд чи ви б продовжували ходити туди на прогулянки.
Open source проекти: що це таке і чому ви повинні стати частиною open source спільноти - 2
А тепер уявіть радісну картину: група добровольців взяла під свою відповідальність утримання свого улюбленого парку. Вона регулярно виділяє кошти, щоб перетворити щось недоглянуте та занедбане на щось дуже гарне та корисне іншим людям. І робить це не лише заради особистого задоволення, а й на радість громадськості. Швидше за все, ваш улюблений парк утримують наші з вами податки, але в цілому наведена вище ситуація описує те, як працюють open source проекти.
Програмне забезпечення, що вільно розповсюджується, з відкритим вихідним кодом (open source) — це програми, чий код доступний усім. Їх можна завантажити та/або використовувати на будь-якій кількості пристроїв. Ви можете взяти код програми і робити з ним все, що захочете, а потім поширити його серед ваших знайомих. Це так, тому що такі програми поширюються на вільні ліцензії, наприклад, ліцензії MIT.
Хоча будь-яке програмне забезпечення, по суті, розраховане на кінцевого користувача, як розробник ви можете зробити свій внесок у open source проект, тим самим зробити світ кращим за допомогою нового доступного ПЗ. Якщо ви хочете взяти участь в open source проекті, потрібно зрозуміти, хто його курирує і намагатиметься налагодити взаємодію з цими людьми. Я зовсім не маю на увазі, замучити їх до смерті питаннями і чекати всеосяжної опіки під час роботи. Ви - доросла самостійна людина (навіть якщо раптом ще не доросла, то бути самостійною - чудова ідея!). Сподіваюся, вам уже не потрібно вести за руку та розписувати кожен крок. У цьому я вам не помічник. Зате я можу дати вам кілька слушних порад, які допоможуть вам при спробі зробити свій перший внесок і потенційно включити ваш шматок коду в проект з відкритим вихідним кодом.

Пошук проекту

Якщо ви шукаєте відкритий проект, щоб взяти в ньому участь, знайдіть такий, який вам справді цікавий. Бажано, щоб у ньому було багато завдань, із яких можна обирати. Не погоджуйтесь на перший-ліпший проект. У такому разі ви будете більше зацікавлені та зможете серйозно поставитися до завдань.

Де шукати проекти Open Source

Їх можна знайти у відкритих репозиторіях GitHub. Власне, там усі їх шукають. Там дуже багато цікавого .

Пошук хорошого першого завдання

Пошук хорошого першого завдання – ключ до успіху. Не беріть на себе більше, ніж ви можете зробити. Не намагайтеся відразу показати всі свої знання: шукайте найпростіше з можливих завдань. Це найкращий спосіб зрозуміти, як відбувається взаємодія між вами та кураторами проекту. У деяких проектах завдання відзначені спеціальними мітками, що вказують на рівень складності, якщо куратори вважають їх придатними для розробників-початківців. Пошукайте щось подібне, коли дивитиметеся на завдання обраного проекту.
Open source проекти: що це таке і чому ви повинні стати частиною open source спільноти - 3
Коли ви знайдете відповідне завдання, напишіть коментар кураторам проекту про те, що ви хотіли б над нею попрацювати. Найчастіше вам дадуть добро, але, можливо, з якоїсь причини попросять вибрати інший варіант. Не думайте, що ви не можете почати поки не надійшла відповідь, але будьте гнучкими, якщо вас попросять зупинитися і зайнятися чимось іншим. Для першого завдання я вибрав те, де було необхідно трошки підправити css. Мені здавалося, що я можу це реалізувати і це мене не пригнічувало.

Початок та ознайомлення

Початок роботи в проекті може здаватися оманливо легким, але мати багато підводних каменів. Коли ви обрали завдання для вирішення, вам потрібно розгорнути проект на своїй машині. Швидше за все, вихідники проекту будуть "важкими" (хоча це залежить від проекту). Можливо, вам доведеться встановити велику кількість залежностей просто для того, щоб запустити проект.
Open source проекти: що це таке і чому ви повинні стати частиною open source спільноти - 4
У проекті, на який я потрапив, таких моментів було небагато, але це не означає, що це було просто. Наприклад, нам довелося встановити специфічні версії Ruby та специфічні версії Rails, PostgreSQL, Phantom JS та Gemfile із переліком Gems для інсталяції. Здавалося, що це не так багато вимог, але я зіткнувся з великою проблемою з пошуком специфічної версії Ruby, необхідної для розробки проекту і працює на моєму комп'ютері. Нарешті, я використовував RVM для перемикання версій: це ще одна річ, яку я навчився, тільки для того, щоб просто встановити проект і змусити його працювати на комп'ютері. Коли ж я запустив проект, то побачив, що той написаний на Angular і Coffee Script, із застосуванням Active Record для взаємодії з даними, що надходять з бек-енду. Це були нові для нас речі,

Пошук інших завдань

Можливо, прямо зараз вам це не потрібно, і навіть не стане в нагоді в найближчому майбутньому, але я зіткнувся з цим практично відразу. Величезне везіння одразу помітити, що у проекті щось працює не так. Якщо ви знайшли такий баг, переходьте на робочий сайт і подивіться, чи так це там. Не поспішайте писати на підтримку, можливо, все працює. Зазвичай куратори контролюють ситуацію і критичних помилок не повинно бути. Але якщо ви все-таки виявабо те, що потребує уваги, знайдіть та перевірте серед завдань, які вже існують. Швидше за все, проблемне завдання вже було записане і, швидше за все, вам не треба нічого робити. Хоча, можливо, варто вирішити її самостійно, коли ви закінчите те, над чим працюєте.
Open source проекти: що це таке і чому ви повинні стати частиною open source спільноти - 5
Коли ви оформляєте і записуєте нове завдання, переконайтеся, що ви якомога детальніше описали його. Використовуйте скріншоти, щоб наочно показати, що ви намагаєтеся сказати і максимально спростити розуміння питання сторонньому, яке загляне на сайт і побачить проблему, що описується. У моєму випадку я закінчив, додавши дві додаткові завдання, крім тієї, що була закріплена за мною. Я навіть не зміг зробити пул реквест (це було з обмеженнями безпеки). Мені здавалося, що я зробив два кроки назад для проекту, але насправді опис та оформлення завдань все одно рухає проект уперед. Створення pull request (PR)
Pull request (пул реквест) - пропозиція зміни коду в репозиторії (сховище коду проекту). Якщо ви працюєте над відкритим проектом, завжди потрібно створювати власну гілку (branch), а вносити зміни до основного коду (master) бажано лише після підтверджених кураторами проекту пул реквестів.
Ви вирішабо поставлене перед вами завдання. Перш ніж писати звіт про виконану роботу, покажіть рішення тому, хто зможе його оцінити. Попередній перегляд – чудова ідея завжди, але для вашого першого вкладу у відкритий проект він просто необхідний . Ви ж не хочете червоніти через недопрацьований або неправильно працюючий шматок коду? З цієї причини куратори проекту запропонують вам пройти всі необхідні тести перед пул реквестом. Тому перевірте себе заздалегідь, щоб бути впевненим у своїй роботі та виправити її у разі потреби до отримання підтвердження від кураторів. Переконайтеся, що ви дотримуєтеся назв або стилістики, прийнятої кураторами проекту. Ви можете знайти інформацію у файлі CONTRIBUTING.md, він є у більшості проектів. Також там ви зможете уточнити, в якому вигляді ви повинні створювати commit message, як має виглядати опис вашого pull request та як оформити нове завдання.

Залишити завдання

Іноді розумієте, що не справляєтеся із взятим завданням. Або вам здавалося, що у вас є час на проект, але насправді його не виявилося, вам на голову впала термінова робота і вам потрібно зайнятися нею. Це у нормі речей. Головне, відпишіться від завдання та залиште повідомлення кураторам, щоб вони знали, що ви не зможете продовжувати займатися проектом. Але в жодному разі не кидайте завдання, не повідомивши кураторам і не відмовляючись від нього.
Open source проекти: що це таке і чому ви повинні стати частиною open source спільноти - 6

Висновок

Я вважаю, що від участі у розробці відкритого проекту одна суцільна користь. Ви практикуєтеся і в той же час робите щось корисне для інших людей. З іншого боку, цей проект може стати ще одним пунктом у вашому резюме та дати додаткові плюси при боротьбі за отримання бажаної посади. Буквально минулої п'ятниці я спілкувався з програмістом, який влаштувався на свою роботу (дуже круту та цікаву, таку, яка може змінити світ на краще, і я справді не жартую) саме завдяки його роботі над open source проектами.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ