Навошта ўдзельнічаць у опенсорс-праектах?
Удзел у опенсорс-праектах можа быць карысным спосабам вывучаць, навучаць і набываць вопыт практычна ў любым навыку, які вы можаце сабе ўявіць.
Навошта людзі ўдзельнічаюць у опенсорсе? На тое ёсць мноства прычын!
Палепшыць выкарыстоўваюцца праекты
Многія опенсорс-кантрыб’ютары перад тым, як ўнесці свой уклад у прадукт, былі звычайнымі яго карыстальнікамі. Калі вы выявіце баг у выкарыстоўванай вамі опенсорс-праграме, вы, магчыма, захочаце зазірнуць у яе зыходны код, каб даведацца, ці зможаце вы выправіць яго самастойна. Калі гэта так, то адпраўка патча-лепшы спосаб пераканацца, што вашыя сябры (і вы самі, калі вы абновіце да наступнага рэлізу) змогуць атрымаць з яго карысць.
Палепшыць існуючыя навыкі
Няхай гэта будзе праграмаванне, дызайн карыстацкага інтэрфейсу, графічны дызайн, напісанне тэксту або арганізацыйная праца, калі вы шукаеце практыку, для вас знойдзецца задача ў праекце з адкрытым зыходным кодам.
Пазнаёміцца з людзьмі з агульнымі інтарэсамі
Опенсорс-праекты з цёплымі, гасціннымі супольнасцямі прымушаюць людзей вяртацца доўгія гады. Многія людзі завязваюць сяброўства на ўсё жыццё дзякуючы ўдзелу ў адкрытых праектах, няхай гэта будзе сустрэча адзін з адным на канферэнцыях або позніх начных онлайн-чатах аб буррито.
Знайсці настаўнікаў і навучыць іншых
Праца з іншымі над агульным праектам азначае, што вам прыйдзецца тлумачыць, як вы гэта робіце, а таксама прасіць дапамогі ў іншых. Акты навучання і выкладання могуць быць карыснымі для ўсіх удзельнікаў.
Стварыце грамадскія праекты, якія дапамогуць вам павысіць рэпутацыю (і кар’еру)
Па вызначэнні, уся ваша праца з адкрытым зыходным кодам з’яўляецца агульнадаступнай, гэта значыць, што ў вас з’яўляюцца прыклады, якія можна выкарыстоўваць дзе заўгодна ў якасці дэманстрацыі таго, што вы можаце рабіць.
Вывучыць навыкі працы з людзьмі
Опенсорс прапануе магчымасці практыкаваць лідэрскія і кіраўніцкія навыкі, такія як дазвол канфліктаў, арганізацыя груп людзей і вызначэнне прыярытэтаў у працы.
Магчымасць унесці змены, хай нават невялікія
Неабавязкова станавіцца кантрыб’ютарам на працягу ўсяго жыцця, каб атрымліваць задавальненне ад удзелу ў опенсорс-праектах. Вы калі-небудзь бачылі памылку друку на сайце і хацелі б, каб хто-небудзь яе выправіў? У праекце з адкрытым зыходным кодам вы можаце гэта зрабіць. Опенсорс дапамагае людзям адчуваць сябе гаспадарамі свайго жыцця і таго, як яны ўспрымаюць свет, і гэта само па сабе прыемна.
Што значыць унесці свой уклад
Калі вы пачатковец у опенсорсе, працэдура ўдзелу ў ім можа быць палохалай. Як знайсці падыходны праект? Што рабіць, калі вы не ўмееце праграмаваць? Што калі нешта пойдзе не так?
Не турбуйцеся! Шмат чым можна заняцца ў опенсорс-праекце, і вось некалькі падказак, якія дапамогуць вам вызначыцца, каб атрымаць максімальную карысць.
Неабавязкова дапамагаць кодам
А вось у опенсорсе вам трэба напісаць код. Часцяком ёсць іншыя часткі праекта ,якімі найбольш за ўсё грэбуюць або выпускаюць з-пад увагі. вы акажаце праекту огромную паслугу, прапанаваўшы папрацаваць над імі!
Нават калі вам падабаецца пісаць код, іншыя віды дапамогі-выдатны спосаб паўдзельнічаць у праекце і пазнаёміцца з іншымі членамі супольнасці. Наладжванне такіх адносін дасць вам магчымасць працаваць над іншымі часткамі праекта.
Падабаецца планаваць мерапрыемствы?
- Арганізуйце семінары або митапы па праекце, што і зрабіў @fzamperin ў NodeSchool
- Арганізуйце канферэнцыю праекта (калі яна ёсць)
- Дапамажыце ўдзельнікам супольнасці знайсці прыдатныя канферэнцыі і падаць заяўку на даклад
Падабаецца дызайн?
- Пераробка макеты, каб павысіць зручнасць выкарыстання праекта
- Правядзіце даследаванне паводзін карыстальнікаў, каб рэарганізаваць і палепшыць навігацыю або меню праекта, напрыклад, як прапануе Drupal
- Складзіце Кіраўніцтва па стылі афармлення, каб дапамагчы праекту з захаваннем аднастайнага візуальнага дызайну
- Стварыце прынты для футболак або новы лагатып, як гэта зрабілі ўдзельнікі hapi.js
Падабаецца пісаць?
- Напісаць і палепшыць дакументацыю праекта
- Стварыце тэчку з прыкладамі па выкарыстанні праекта
- Запусціце рассылку навін па праекце або асвятляйце самае важнае з спісу рассылання
- Складзіце навучальныя кіраўніцтва па праекце, як гэта зрабілі ўдзельнікі PyPA
- Перакладзіце дакументацыю праекта
Падабаецца арганізоўваць?
- Давайце спасылкі на паўтараюцца ішыю, прапануйце новыя цэтлікі для ішыю, каб яны былі лепш абмежаваныя
- Прайдзіцеся па адкрытых ишью і прапануеце зачыніць старыя, як, напрыклад, зрабіў @nzakas ў ESLint
- Задавайце ўдакладняючыя пытанні па нядаўна адкрыўшыхся ишью, каб прасунуць абмеркаванне наперад
Падабаецца кодзіць?
- Знайдзіце адкрытую праблему для вырашэння, што, напрыклад, @dianjin зрабіў у Leaflet
- Спытаеце, ці можаце вы дапамагчы з распрацоўкай новай функцыянальнасці
- Аўтаматызуе наладу праекта
- Паляпшэнне інструментаў і тэставання
Падабаецца дапамагаць людзям?
- Адкажыце на пытанні аб праекце, напрыклад, на Stack Overflow (як у гэтым прыкладзе з Postgres) або Reddit
- Адказвайце на пытанні людзей па адкрытых ішыю
- Дапамажыце мадэраваць дошкі абмеркаванняў або каналы ў чатах
Ці падабаецца вам дапамагаць іншым кодзіць?
- Праверце код іншых людзей
- Напісаць навучальныя дапаможнікі па выкарыстанні праекта
- Прапануйце настаўніцтва іншаму кантрыб’ютар, як @ereichert зрабіў для @bronzdoc ў Rust
Можна працаваць не толькі над праграмнымі праектамі!
Хоць “опенсорс” часта ставіцца да праграмнага забеспячэння, вы можаце сумесна працаваць практычна над чым заўгодна. Ёсць кнігі, рэцэпты, спісы і курсы, якія распрацоўваюцца як опенсорс-праекты.
Напрыклад:
- @sindresorhus курыруе спіс “класных” спісаў
- @h5bp вядзе спіс патэнцыйных пытанняў на сумоўі для кандыдатаў у распрацоўшчыкі інтэрфейсаў
- @stuartlynn і @Nicole-a-tesla зрабілі зборнік пацешных фактаў пра тупікі
Нават калі вы распрацоўшчык праграмнага забеспячэння, Праца над дакументацыяй праекта можа дапамагчы вам увайсці ў опенсорс. Часцяком праца над праектамі, не звязанымі з кодам, не так палохае, а працэс сумеснай працы дапаможа вам здабыць упэўненасць і вопыт.
Падрыхтоўка да новага праекта
Для чагосьці большага, чым выпраўленне памылкі друку, удзел у адкрытым праекце падобна на паход да групы незнаёмцаў на вечарыне. Калі вы пачнеце казаць пра ламах, калі яны былі захопленыя дыскусіяй аб залатых рыбках, яны, верагодна, будуць глядзець на вас крыху дзіўна.
Перш чым Усляпую прыступіць да сваіх уласных прапановах, пачніце з вывучэння абстаноўкі ў супольнасці. Гэта павялічвае шанцы, што вашыя ідэі будуць заўважаныя і пачутыя.
Анатомія опенсорс-праекта
Кожнае супольнасць з адкрытым зыходным кодам адрозніваецца.
Выдаткаваць гады на адзін адкрыты праект азначае, што вы пазнаёміліся з адным адкрытым праектам. Перайсці да іншага праекту, і вы можаце выявіць, што тэрміналогія, нормы і стылі зносін зусім іншыя.
Тым не менш многія праекты з адкрытым зыходным кодам вынікаюць падобнай арганізацыйнай структуры. Разуменне розных роляў супольнасці і агульнага працэсу дапаможа вам хутка зарыентавацца ў любым новым праекце.
Тыповы праект з адкрытым зыходным кодам складаецца з наступных тыпаў людзей:
- Аўтар: чалавек ці арганізацыя, якія стварылі праект.
- Уладальнік: асоба, якая мае адміністрацыйныя правы на арганізацыю або рэпазітар (не заўсёды тыя ж самыя, што і першапачатковы аўтар).
- Мейнтейнеры: Кантрыб’ютары, якія нясуць адказнасць за фарміраванне бачання і кіраванне арганізацыйнымі аспектамі праекта (яны таксама могуць быць аўтарамі або ўладальнікамі праекта).
- Кантрыб’ютары: усе, хто ўнёс свой уклад у праект.
- Удзельнікі супольнасці: людзі, якія выкарыстоўваюць праект. Яны могуць быць актыўнымі ў гутарках або выказваць сваё меркаванне аб накіраванні праекта.
У больш буйных праектах таксама могуць быць падкамітэты або рабочыя групы, якія займаюцца рознымі задачамі, такімі як інструменты, Сартаванне, мадэрацыя супольнасці і арганізацыя мерапрыемстваў. Пашукайце на сайце праекта або ў рэпазітары “камандную” або “арганізацыйную” старонку, каб знайсці гэтую інфармацыю.
У праекта таксама ёсць дакументацыя. Гэтыя файлы звычайна знаходзяцца ў корані рэпазітара.
- LICENSE: Калі ў праекта няма ліцэнзіі, яго нельга прылічыць да опенсорсу.
- README: README-гэта кіраўніцтва-інструкцыя, якая вітае новых членаў супольнасці ў праекце. У гэтым файле тлумачыцца прызначэнне і прымяненне праекта.
- CONTRIBUTING: У той час як файл README дапамагае людзям выкарыстаць праект, дакументацыя па ўдзеле дапамагае людзям уносіць ўклад у праект. У ім тлумачыцца, якія віды дапамогі неабходныя і як уладкованы працэс. Хоць не ў кожным праекце ёсць файл CONTRIBUTING, яго наяўнасць сведчыць аб прыязным стаўленні да ўдзельнікаў.
- CODE_OF_CONDUCT: Кодэкс паводзінаў ўсталёўвае асноўныя правілы паводзін удзельнікаў і дапамагае стварыць прыязную, гасцінную атмасферу. Хоць не ў кожным праекце ёсць файл CODE_OF_CONDUCT, яго наяўнасць сведчыць аб тым, што гэта добры праект, у які можна ўнесці свой уклад.
- Іншая дакументацыя: можа быць дадатковая дакументацыя, напрыклад навучальныя матэрыялы, пакрокавыя кіраўніцтва або палітыкі кіравання, асабліва для больш буйных праектаў.
Нарэшце, у праектах з адкрытым зыходным кодам для арганізацыі абмеркавання выкарыстоўваюцца наступныя інструменты. Чытанне архіваў дасць вам добрае ўяўленне пра тое, як супольнасць думае і працуе.
- Спіс ишью (адсочванне праблем): месца, дзе адбываюцца абмеркавання, звязаныя з праектам.
- Дыскусійныя форумы або спісы рассылання: некаторыя праекты могуць выкарыстоўваць гэтыя каналы для гутарковых тэм (напрыклад, ” як мне …“ або ” што вы думаеце пра …“ замест справаздач пра памылкі і ўнясення прапаноў з новымі магчымасцямі). Іншыя выкарыстоўваюць ишью для ўсіх дыскусій.
- Сінхронны чат-канал: некаторыя праекты выкарыстоўваюць чаты (напрыклад, правісання або МКС) для спантанага зносін, сумеснай працы і хуткага абмену інфармацыяй.
Пошук праекта, у якім можна паўдзельнічаць
Цяпер, калі вы разабраліся, як уладкованыя опенсорс-праекты, прыйшоў час знайсці праект, у які вы зможаце ўнесці свой уклад!
Калі вы ніколі раней не мелі справы з опенсорсом, прыслухайцеся да Рады прэзідэнта ЗША Джона Ф. Кэнэдзі, які аднойчы сказаў: ” Не пытайцеся, што ваша краіна можа зрабіць для вас, Спытаеце, што вы можаце зрабіць для сваёй краіны».
Удзельнічаць у опенсорсе могуць усе, незалежна ад узроўню падрыхтоўкі. Не ламайце моцна галаву над тым, якім будзе ваш першы ўклад у опенсорс.
Замест гэтага падумайце аб праектах, якія вы ўжо карыстаецеся Ці збіраецеся выкарыстоўваць. Праекты, у якіх вы будзеце актыўна ўдзельнічаць, — гэта тыя, да якіх вы будзеце вяртацца.
У гэтых праектах кожны раз, калі вы ловіце сябе на думцы, што нешта можа быць лепш ці інакш, дзейнічайце ў адпаведнасці са сваім інстынктам.
Опенсорс - гэта не закрыты клуб; ім займаюцца такія ж людзі, як вы. “Опенсорс” - гэта ўсяго толькі мудрагелісты тэрмін для абазначэння вырашаемых сусветных праблем.
Можна праглядзець файл Прачытай мяне, каб знайсці непрацуючую спасылку або памылку друку. Ці вы як новы карыстальнік заўважылі, што нешта працуе няправільна, альбо ёсць недакладнасць у дакументацыі. Замест ігнаравання такіх праблем або просьбы да каго-небудзь іх выправіць, паглядзіце, ці ўдасца вам дапамагчы і тым самым паўдзельнічаць у праекце. У гэтым як раз і сэнс опенсорса!
28% выпадковых укладаў у опенсорс уяўляюць сабой дакументацыю, напрыклад, выпраўленне памылкі друку, перафарматаванне або пераклад.
Калі вы шукаеце існуючыя ишью, якія можна выправіць, то ў кожным опенсорс-праекце ёсць старонка /contribute, дзе пералічаныя ишью, спецыяльна прызначаныя для пачаткоўцаў. Перайдзіце на галоўную старонку рэпазітара на GitHub і дадайце /contribute у канцы URL-адраса (напрыклад, https://github.com/facebook/react/contribute).
Вы таксама можаце выкарыстоўваць адзін з наступных рэсурсаў, каб адкрыць для сябе новыя праекты і ўнесці свой уклад у іх:
- Вывучэнне GitHub
- Пятніца з адкрытым зыходным кодам
- Толькі для пачаткоўцаў
- Кадоўка
- 24 запыту на выманне
- Усё гатова да сутычцы
- Аўтар-ніндзя
- Першыя ўнёскі
- Сартаванне крыніц
Чекліст перш чым прыняць удзел
Калі вы знайшлі праект, у які хацелі б унесці свой уклад, бегла агледзіце праект, каб пераканацца, што ён прымае іншую дапамогу. У адваротным выпадку ваша ўпартая праца можа застацца незаўважаным.
Вось зручны чеклист спіс, каб зразумець, ці падыходзіць праект для новых кантрыб’ютараў.
Трапляе пад вызначэнне опенсорса
Праект актыўна прымае дапамогу трэціх асоб
Паглядзіце на каміты ў асноўнай галінцы. Даведацца гэта Вы можаце на галоўнай старонцы рэпазітара на GitHub.
Затым паглядзіце на ишью праекта.
Цяпер высвятліце такую інфармацыю пра пул-реквесты праекта.
Праект ветлы
Прыязны і добразычлівы праект сведчыць пра тое, што ў ім будуць з разуменнем ставіцца да новых кантрыб’ютараў.
Як зрабіць уклад
Вы знайшлі ўпадабаны праект і ўжо гатовыя паўдзельнічаць у ім. Нарэшце-то! І вось як правільна гэта зрабіць.
Эфектыўнае зносіны
Ці будзеце вы ўдзельнічаць толькі адзін раз ці паспрабаваць далучыцца да супольнасці, супрацоўніцтва з іншымі людзьмі з’яўляецца адным з самых важных навыкаў, якія вы будзеце набываць, займаючыся опенсорсом.
Перш чым адкрыць ишью, пул-реквест або задаць пытанне ў чаце, запомніце гэтыя парады, якія дапамогуць эфектыўна ўвасобіць вашыя ідэі ў жыццё.
Дайце кантэкст. Дапамажыце іншым хутка асвоіцца. Калі вы сутыкнуліся з памылкай, растлумачце, што вы спрабуеце зрабіць і як яе прайграць. Калі вы прапануеце новую ідэю, растлумачце, чаму вы думаеце, што яна будзе карысная для праекта (не толькі для вас!).
😇 “Х не адбываецца, калі я раблю Y”
😢 “X не працуе! Выпраўце гэта.”
Паспрабуйце спачатку разабрацца самі. Не ведаць чагосьці-гэта нармальна, але пакажыце, што вы спрабавалі разабрацца. Перш чым звяртацца па дапамогу, абавязкова вывучыце README-файл праекта, дакументацыю, ишью (адкрытыя ці закрытыя), спіс рассылання і пашукайце адказ у Інтэрнэце. Людзі ацэняць, калі вы прадэманструеце, што паспрабавалі нешта даведацца.
😇 “Я не ведаю, як рэалізаваць X. Я паглядзеў дакументацыю і не знайшоў ніякіх згадак пра гэта.”
😢 “Як мне зрабіць X?”
Пішыце коратка і па справе. Як і пры адпраўцы электроннай пошты, кожная праца трэціх бакоў, незалежна ад таго, наколькі яна была простай або карыснай, патрабуе праверкі кагосьці. У многіх праектах ўваходзяць запытаў больш, чым людзей, гатовых дапамагчы. Будзьце лаканічныя. Так вы павялічыце верагоднасць таго, што хтосьці зможа вам дапамагчы.
😇 “Я хацеў бы напісаць кіраўніцтва па API.”
😢 “На днях я ехаў па шашы і спыніўся заправіцца, і тады ў мяне ўзнікла выдатная ідэя, чым мы павінны заняцца, але перш чым я гэта растлумачу, дазвольце мне паказаць вам …“
Вядзіце ўсе абмеркавання Публічна. Хоць гэта павабна, не звяртайцеся да мейнтейнерам наўпрост, калі вам не трэба дзяліцца канфідэнцыйнай інфармацыяй (напрыклад, аб праблеме бяспекі або сур’ёзным парушэнні паводзін). Калі вы зробіце гутарку публічнай, больш людзей змогуць даведацца пра яе і атрымаць з яе карысць. Абмеркавання самі па сабе могуць быць укладам.
😇 (у якасці каментара) “ @ - мейнтейнер Прывітанне! Як нам паступіць з гэтым пул-реквестом?»
😢 (па электроннай пошце) «прывітанне, прабач, што патурбаваў цябе па электроннай пошце, але мне было цікава, ці была ў цябе магчымасць праглядзець мой PR»
Не саромейцеся задаваць пытанні (але будзьце цярплівыя!). У нейкі момант кожны быў пачаткоўцам у праекце, і нават дасведчаным кантрыб’ютар трэба час асвоіцца, калі яны прыходзяць у новы праект. Сапраўды гэтак жа мейнтейнеры, даўно падтрымліваюць праект, не заўсёды знаёмыя з усімі яго часткамі. Праявіце да іх такое ж цярпенне, якое вы б хацелі, каб яны праявілі да вас.
😇 “Дзякуй, што разабраліся з гэтай памылкай. Я рушыў услед вашым прапановах. Вось вынік.”
😢 “Чаму вы не можаце вырашыць маю праблему? Хіба гэта не ваш праект?”
Паважайце рашэнні супольнасці. Вашы ідэі могуць адрознівацца ад прыярытэтаў або бачання супольнасці. Члены супольнасці могуць выказаць свае меркаванні або адмовіцца ад рэалізацыі вашай ідэі. Хоць заўсёды трэба абмяркоўваць і шукаць кампраміс, апошняе слова за мейнтейнерами, таму што ім у далейшым трэба будзе працаваць з вашым кодам. Калі вы не згодныя з іх кірункам, вы заўсёды можаце працаваць над уласным адгалінаваннем праекта (форкам) або пачаць уласны праект.
😇 “Я расчараваны, што вы не можаце падтрымаць мой варыянт выкарыстання, але, як вы патлумачылі, ён закранае толькі невялікую частку карыстальнікаў, я разумею чаму. Дзякуй за ўвагу.”
😢 “Чаму вы не падтрымліваеце мой варыянт выкарыстання? Гэта недапушчальна!”
Галоўнае, трымаеце сябе ў руках. Опенсорсом займаюцца людзі з усяго свету. Кантэкст губляецца з-за розных моў, культур, рэгіёнаў і гадзінных паясоў. Акрамя таго, пісьмовае зносіны абцяжарвае перадачу тону або настрою. У такіх абмеркаваннях зыходзіце з добрых намераў. Няма нічога дрэннага ў тым, каб ветліва адштурхнуцца ад ідэі, папрасіць больш інфармацыі або дадаткова растлумачыць сваю пазіцыю. Проста паспрабуйце зрабіць інтэрнэт лепш, чым калі вы яго знайшлі.
Вывучэнне абстаноўкі
Перш чым што-небудзь рабіць, пераканайцеся, што гэта больш нідзе не абмяркоўвалася. Прайдзіцеся па README-файлу праекта, ишью (адкрытыя і закрытыя), спісу рассылання і Stack Overflow. Не марнуйце шмат часу на гэта, дастаткова пашукаць па некалькіх ключавых словах.
Калі вы не знайшлі абмеркаванне вашай ідэі, можна пачаць дзейнічаць. Калі праект знаходзіцца на GitHub, вы, хутчэй за ўсё, будзеце мець зносіны, адкрываючы ишью або пул-реквест:
- Ишью выдатна падыходзяць, каб завесці гутарку або абмеркаванне
- Запыты на змяненне прызначаныя для пачатку працы над рашэннем.
- Для лёгкага зносін, напрыклад, ўдакладняючага або практычнага пытання, паспрабуйце задаць пытанне ў Stack Overflow, IRC, Slack або іншых чат-каналах, калі яны ёсць у праекце
Перш чым адкрываць ишью або пул-реквест, азнаёмцеся з кіраўніцтвам па ўдзелу (звычайна яму прысвечаны асобны файл з імем CONTRIBUTING або адпаведны раздзел у файле README), каб зрабіць усё правільна. Напрыклад, Вас могуць папрасіць прадставіць інфармацыю згодна шаблоне або запатрабаваць, каб вы напісалі тэсты.
Калі вы плануеце зрабіць вялікае змяненне, перад гэтым лепш Адкрыйце ишью. Карысна некаторы час паназіраць за праектам (на GitHub для гэтага можна клікнуць па кнопцы “Watch”, каб атрымліваць апавяшчэнні аб усіх актыўнасцях), а таксама пазнаёміцца з некаторымі ўдзельнікамі супольнасці.
Адкрыццё ишью
Як правіла, варта стварыць ишью, каб:
- Паведаміць пра памылку, якую вы не можаце выправіць самастойна
- Абмеркаваць агульную тэму ці ідэю (напрыклад, звязаную з супольнасцю, развіццём або Палітыкай праекта)
- Прапанаваць рэалізаваць новую функцыянальнасць або іншую ідэю праекта
Парады па зносінах у ишью:
- Калі вы бачыце адкрыты радыкуліт, які вы хочаце вырашыць, калі ласка, каментуйце яго, каб людзі ведалі, што вы робіце. Такім чынам, знізіцца верагоднасць, што хтосьці яшчэ будзе працаваць над ёй.
- Калі ишью была адкрыта даўно, магчыма, што яна разглядаецца ў іншым месцы, альбо ўжо вырашана, таму Пракаментуйце яе, каб пацвердзіць яе актуальнасць.
- Калі вы адкрылі ишью, але пазней самастойна знайшлі адказ, Пракаментуйце яе, каб паведаміць пра гэта людзям, а затым зачыніце яе. Нават фіксаванне такога выніку з’яўляецца укладам у праект.
Адкрыццё пул-реквеста
Як правіла, варта стварыць пул-реквест, каб:
- Зрабіць нязначнае выпраўленне (напрыклад, выправіць памылку друку, непрацуючую спасылку або відавочную памылку)
- Пачаць працаваць над тым, пра што ўжо было дамоўлена або што абмяркоўвалася ў
Пул-реквест не абавязкова павінен прадстаўляць скончаную працу. Звычайна лепш адкрыць басейн-рэквест на раннім этапе, каб людзі маглі назіраць за вашым прагрэсам альбо пакідаць водгукі пра яго. Толькі ў назве такога пул-реквеста пакажыце “WIP” (ад англ. Work in Progress - у працэсе выканання). Заўсёды пазней можна адправіць дадатковыя камітаў.
Калі праект знаходзіцца на GitHub, выканайце наступныя крокі, каб стварыць пул-реквест:
- Форкните рэпазітар і схіліце яго да сябе Лакальна. Затым у гэтым лакальным сховішча дадайце арыгінальны (upstream) рэпазітар. Часцей загружайце змены з зыходнага рэпазітара, каб ваш лакальны рэпазітар заставаўся ў актуальным стане, — гэта знізіць верагоднасць узнікнення канфліктаў пры стварэнні пул-реквеста. (Гл. больш падрабязныя інструкцыі тут.)
- Стварыце галінку для вашых правак.
- Спасылайцеся на любыя якія адносяцца да справы ишью або якая пацвярджае дакументацыю ў сваім PR (напрыклад, «Closes #37»).
- Дадайце скрыншоты да і пасля, калі вашы змены закранаюць файлы HTML / CSS. Перацягнуць выявы ў тэкставую вобласць пул-реквеста.
- Праверце свае змены! Напрыклад, Запусціце тэсты, калі яны ёсць, і пры неабходнасці напішыце новыя. Нават калі тэстаў няма, праверце самі, што пасля вашых змяненняў усё працуе, як і раней.
- Выконвайце стыль напісання кода праекта у меру сваіх магчымасцяў. Гэта можа быць выкарыстанне водступаў, кропак з коскай або каментароў інакш, чым вы прывыклі, але мейнтейнерам гэта спросціць зліццё вашага пул-реквеста, а іншым — палегчыць разуменне і падтрымку ў будучыні.
Калі гэта ваш першы пул-реквест, азнаёмцеся з сайтам Make a Pull Request, які @kentcdodds зрабіў у выглядзе пакрокавага відэа-кіраўніцтва. Вы таксама можаце папрактыкавацца ў стварэнні пул-реквеста ў рэпазітары First Contributions, створаным @Roshanjossey.
Што будзе далей пасля прыняцця ўдзелу
Вы зрабілі гэта! Віншуем, вы сталі кантрыб’ютарам у опенсорс. Спадзяемся, гэта будзе далёка не першы раз.
Калі вы адправіце ўклад, адбудзецца адно з наступных падзей:
😭 Вы не атрымаеце адказ.
Мяркуем, вы праверылі праект на наяўнасць прыкмет актыўнасці перад тым, як унесці сваю лепту. Аднак нават у актыўным праекце магчыма, што ваш уклад не атрымае водгуку.
Калі вы не атрымалі адказу на працягу тыдня, цалкам нармальна ветліва адказаць у той жа тэме і папрасіць каго-небудзь праверыць вашу працу. Калі вы ведаеце, хто можа паглядзець ваш пул-реквест, згадайце яго праз @ ў гэтай галінцы.
Не звяртайцеся наўпрост да гэтага чалавека; памятаеце, што публічнае зносіны жыццёва важна для опенсорс-праектаў.
Калі пасля ветлівага напамінку так ніхто і не адказаў, ёсць верагоднасць, што ніхто і ніколі не адкажа. Гэта не самае прыемнае адчуванне, але хай яно вас не хвалюе. Такое з кожным здаралася! Ёсць мноства магчымых прычын, па якіх Вам маглі не адказаць, у тым ліку асабістыя абставіны, на якія вы не можаце паўплываць. Паспрабуйце знайсці іншы праект або спосаб удзелу. У любым выпадку, няма сэнсу марнаваць час на праект, пакуль члены яго супольнасці не праявяць належнага ўзроўню ўцягнутасці і спагадлівасці.
🚧 У вас могуць запытаць ўнесці змены.
Часцяком вас могуць папрасіць нешта змяніць, гэта можа быць звязана з самой ідэяй ці яе рэалізацыяй.
Калі хтосьці запытвае зрабіць змены, ставіцеся да гэтага з разуменнем і ўспрымайце гэта належным чынам. Людзі знайшлі час, каб ацаніць ваш ўклад. Адкрываць PR і кідаць яго на волю лёсу — благі тон. Калі вы не ведаеце, як унесці змены, вывучыце праблему, а затым звярніцеся па дапамогу, калі яна вам патрэбна.
Калі ў вас больш няма часу працаваць над праблемай (напрыклад, абмеркаванне доўжыцца ўжо некалькі месяцаў, а за гэты час абставіны памяняліся), паведаміце пра гэта мейнтейнеру, каб ён не чакаў адказу. Магчыма, хтосьці іншы з радасцю завершыць пачатую вамі працу.
👎 Ваш ўклад не прыняты.
У выніку ваш ўклад будзе альбо прыняты, альбо няма. Спадзяюся, вы патрацілі не занадта шмат намаганняў на яго. Калі вы не зразумелі, чаму ён не быў прыняты, разумна папрасіць мейнтейнера даць тлумачэнні. У канчатковым выніку, аднак, вам варта зразумець і змірыцца з іх рашэннем. Не спрачайцеся і не злуйцеся з гэтай нагоды. У выпадку чаго вы заўсёды можаце форкнуть рэпазітар, каб працаваць над сваёй уласнай версіяй прадукту!
🎉 Ваш ўклад прыняты.
Ура! Вы паспяхова зрабілі ўклад у опенсорс!
Вы зрабілі гэта!
Калі вы зрабілі свой першы ўклад у опенсорс або шукаеце новыя спосабы, каб зрабіць гэта, мы спадзяемся, што вы будзеце натхняць на дзеянні. Нават калі ваш ўклад быў адхілены, не забудзьцеся сказаць дзякуй, калі мейнтейнер пастараўся вам дапамагчы. Опенсорс ствараецца тымі ж людзьмі, якія ствараюць ишью, адпраўляюць пул-реквест, пакідаюць каментары ці вітаюць адзін аднаго адначасова.