Noví vývojáři
Tato stránka vysvětluje, jak začít jako vývojář, který chce přispívat do technických projektů Wikimedie.
Vítejte!
Technická komunita Wikimedie vždy vítá nové přispěvatele!
Staňte se součástí globální komunity a pomozte všem usnadnit přístup k bezplatným znalostem!
Jak začít přispívat
Následující kroky představují obecný nástin toho, jak začít přispívat:
- Naučte se základy toho, jak fungují softwarové open source projekty Wikimedie.
- Přečtěte si pokyny pro komunikaci.
- Nastavení účtů: Vytvořit účet vývojáře. V závislosti na typu příspěvku, který chcete přispět, možná budete muset také nastavit účty ve Phabricatoru a nastavit v Gitu a Gerritu.
- Zvolte si projekt.
- Najděte si a vyřešte nějaký konkrétní úkol (vytvořte potřebný kód a řádně jej otestujte).
- Odešlete svoje změny kódu ke kontrole. Postupujte podle průvodce pro kontrolu vašeho kódu a odešlete záplatu.
Zbytek této příručky poskytuje další podrobnosti o procesu.
Základy fungování softwarových projektů Wikimedie
Wikimedie má softwarové projekty v mnoha různých oblastech.
Správci každého softwarového projektu si vybírají infrastrukturu, kterou preferují. Obecně platí, že většina softwarových projektů má:
- Nástroj pro task tracking (sledování úkolů), kde jsou hlášeny, spravovány a diskutovány softwarové chyby a požadavky na vylepšení. Příklady jsou ve Phabricatoru Wikimedie, GitHub nebo GitLab Wikimedie.
- Code repository (úložiště kódu), kde může být zdrojový kód "zapůjčen" každému. Příklady jsou Wikimedia Gerrit, GitHub nebo Wikimedia GitLab.
- Nástroj code review (revize kódu), kde se probírají a vylepšují navrhované změny kódu ("záplaty") Příklady jsou Wikimedia Git/Gerrit, GitHub nebo GitLab. Poté, co je navrhovaná oprava schválena a sloučena do úložiště kódu, budou změny kódu dostupné všem.
- Obecná places for discussion (místa pro diskusi) o softwarovém projektu a pro pomoc a podporu. Těmito místy mohou být seznamy adresátů, chatovací kanály IRC, wiki stránky nebo jiná místa. Přesná místa závisí na každém projektu.
Kdykoli se dostanete do problémů nebo potřebujete pomoc, zeptejte se. Chcete-li klást dobré otázky na správných místech, postupujte podle "tipů pro komunikaci".
Přehled technických oblastí
Pro přehled technologie Wikimedie a příkladů hlavních oblastí, kde mohou vývojáři přispět, navštivte Úvod do technického ekosystému Wikimedie.
Přispívání k softwaru v MediaWiki
Jste uživatelem wiki MediaWiki a chcete přidat funkci nebo opravit chybu v jednom? Podívejte se prosím na Jak se stát vývojářem MediaWiki , kde se dozvíte, jak najít tu část softwarového projektu MediaWiki, kterou hledáte, a přispět do ní.
Jak si vybrat vhodný projekt
Následující projekty nabízejí zdroje, odborný dohled a hledají nové vývojáře, kteří by k nim přispěli. Vyberte si jeden z následujících projektů a podle dokumentace k projektu nastavte své vývojové prostředí, vyberte úlohu, na které chcete pracovat, vyřešte úlohu a odešlete změny kódu ke kontrole. Můžete svobodně přispívat do těchto projektů nebo jakýchkoli dalších, které vás zajímají a souvisejí s Wikimedií. Většinu z nich najdete na Phabricator nebo online.
Offline čtečka pro lidi bez přístupu k internetu
- Požadované dovednosti: Java/Kotlin (Android), Swift (iOS), Qt (desktop), NodeJS (mediawiki offliner), C++, Python (WP1)
- Buďte v kontaktu: E-mailové konference / Volně
- Získejte zdrojový kód: GitHub
- Přečtěte si všeobecnou dokumentaci a soubor README.md odpovídajícího projektu
- Zkontrolujte doporučené úkoly, na kterých můžete pracovat: Android, iOS, JS, mwoffliner na GitHubu
- Poradci: Matthieu Gauthier, Emmanuel Engelhart, Stephane Coillet-Matillon
Commons App pro Android
Aplikace pro zařízení Android pro nahrávání obrázků na Wikimedii Commons
- Požadované dovednosti: Java
- Buďte v kontaktu: Google Groups
- Získejte zdrojový kód: GitHub
- Přečtěte si dokumentaci
- Zkontrolujte doporučené úkoly, na kterých můžete pracovat: GitHub
- Poradce: Josephine Lim
Wiki Education Dashboard
Webová aplikace, která podporuje vzdělávací úkoly na Wikipedii, poskytuje data a správu kurzů pro instruktory a studenty
- Požadované dovednosti: Ruby, JavaScript
- Buďte v kontaktu: #wikimedia-ed připojit se na irc.libera.chat
- Získejte zdrojový kód: GitHub
- Přečtěte si dokumentaci
- Zkontrolujte doporučené úkoly, na kterých můžete pracovat: GitHub
- Poradce: Sage Ross
Pywikibot
Knihovna Python a sbírka skriptů, které automatizují práci na stránkách MediaWiki.
- Požadované dovednosti: Python
- Buďte v kontaktu: #pywikibot připojit se on irc.libera.chat / Mailing list
- Získejte zdrojový kód: Použijte git k získání zdrojového kódu
- Přečtěte si dokumentaci a API reference
- Zkontrolujte doporučené úkoly, na kterých můžete pracovat: Phabricator
- Poradce: xqt
Scribe
Scribe poskytuje klávesnice založené na Wikidata pro studenty druhého jazyka. Mezi funkce patří překlad, konjugace slovesa a anotace pohlaví. Tento projekt je velmi otevřený těm, kteří se chtějí naučit potřebné jazyky a jak pracovat s Wikidata!
- Požadované dovednosti: Swift pro Scribe-iOS; Kotlin pro Scribe-Android; Python a nebo Wikidata Query Service pro naše Scribe-Data jazykové rozhraní CLI pro extrakci dat
- Spojte se: GitHub nebo e-mail
- Získejte zdrojový kód: GitHub
- Přečtěte si pokyny pro příspěvky: Scribe-iOS, Scribe-Android nebo Scribe-Data
- Zkontrolujte doporučené úlohy: Scribe-iOS, Scribe-Android nebo Scribe-Data
- Poradce: Andrew McAllister
VideoCutTool
Nástroj pro úpravu videí na Wikimedii Commons.
- Požadované dovednosti: React JS, Node JS.
- Buďte v kontaktu: #VideoCutTool v Zulip
- Získejte zdrojový kód: Viz odkaz v popisu v Phabricatoru
- Přečtěte si dokumentaci
- Zkontrolujte doporučené úkoly, na kterých můžete pracovat: Phabricator
- Poradce: Gopa Vasanth
SignIt Firefox Extension
Rozšíření webového prohlížeče Lingua Libre SignIt překládá vybrané psané slovo prostřednictvím elegantního vyskakovacího okna, takže se při čtení online naučíte znakovou řeč. Podepsané video můžete přidat pomocí Lingualibre.org výběrem podepsaného jazyka a poté se během podepisování nahraje video.
- Požadované dovednosti: JS, rozšíření webu, OOjs
- Kontaktujte nás: Kontaktujte Yug nebo na GitHub
- Získejte zdrojový kód: GitHub
- Přečtěte si dokumentaci: m:Lingua Libre/SignIt
- Zkontrolujte doporučené úkoly, na kterých můžete pracovat: Dobré první problémy na GitHubu »
- Poradce: Yug
Jste správce a chcete, aby byl váš projekt zahrnut do výše uvedeného seznamu softwarových projektů? Zjistěte více a připojte se!
Outreach programy a jednotlivé úkoly
Kromě výše uvedených doporučených softwarových projektů existuje více způsobů, jak vybrat projekt nebo úkol, na kterém budete pracovat:
Outreach programy
Dobré první úkoly
Nicméně mentoři pro tyto úkoly nemusí být k dispozici a vámi navrhované opravy nemusí dostávat rychlé recenze.
Komunikační tipy
Postupujte podle těchto tipů, abyste mohli efektivně komunikovat a získat pomoc od členů komunity.
Používejte úkoly Phabricatoru efektivně
Pokud plánujete pracovat na úkolu Phabricator u:
- Není třeba žádat o povolení: Můžete pracovat na nepřidělených úkolech, aniž byste někoho požádali, aby vám je přidělil. Neexistuje žádná autorita, která přiděluje úkoly nebo koho je třeba se nejdříve zeptat.
- Pokud úloha již obsahuje nedávnou opravu v Gerritu, vyberte jinou úlohu, na které chcete pracovat.
- Pokud existující záplata v Gerrit nebyla začleněna a dlouho v ní nebyly vidět žádné změny, můžete vylepšit stávající záplatu na základě zpětné vazby v Gerritu a v úloze.
- Udělej si průzkum: Když uvažujete o práci na úkolu, proveďte průzkum, než začnete kódovat. Podívejte se na kód, pokuste se pochopit, co má dělat, přečtěte si související dokumentaci a pokuste se najít místa, kde potřebujete provést změny kódu.
- V úloze Phabricator použijte, k nalezení úložiště kódu pro daný úkol, značky projektu na postranním panelu.
- Pokud vůbec netušíte, jak chybu opravit, zvažte nejprve nalezení něčeho jednoduššího.
- Nemusíte oznamovat své plány, než začnete na úkolu pracovat, ale měli byste sdělit, že na úkolu pracujete.
- Když začnete pracovat, nastavte se jako příjemce úkolu kliknutím na Upravit úkol... (edit task) v Phabricatoru a nastavte své uživatelské jméno Phabricator do pole Přiřazeno (assigned to). Toto sděluje ostatním, že na tom pracujete, takže neduplikují práci.
- Když se změní vaše plány nebo zájmy: Pokud již na úkolu nepracujete, odeberte se jako zmocněnec úkolu. To ostatním říká, že mohou na úkolu pracovat a nebudou očekávat, že na něm budete stále pracovat.
- Řiďte se etiketou Phabricatoru.
- V úkolech Phabricatoru diskutujte pouze o konkrétních otázkách k tématu daného úkolu. Nepoužívejte Phabricator k pokládání obecných otázek, například jak nastavit vývojové prostředí nebo jak opravit problémy s Gerritem.
Pokládejte dobré otázky
- Neváhejte a ptejte se...jen se ptejte!.
- Buďte konkrétní a uveďte souvislosti: Namísto jednoduché otázky "Můžete mi poskytnout více informací?", "Prosím, veďte mě" nebo "Řekněte mi, jak začít", zahrňte do své otázky následující informace:
- Čeho se snažíte dosáhnout?
- Co jste už vyzkoušeli? Zkopírujte a vložte své příkazy a jejich výstup (pokud nejsou příliš dlouhé) namísto parafrázování vlastními slovy.
- Co jste již během svého výzkumu zjistili? Zahrňte odkazy na kód, dokumentaci nebo jiné zdroje, které jste již konzultovali.
- Při komunikaci používejte konkrétní názvy a předměty. "Koncept návrhu" nebo "Potřebuji pomoc" není konkrétní.
- Udržujte konverzace čitelné: Když odpovídáte v Zulipu, v úkolech Phabricatoru nebo v emailových konferencích, citujte pouze části předchozích komentářů, které jsou relevantní pro vaši odpověď. Pokud citujete úplný předchozí komentář, ztěžujete čtení vláken.
Dodržujte komunikační zásady a osvědčené postupy
Než vyjádříte nebo odešlete svůj dotaz:
- Přečtěte si a dodržujte kodex chování pro technické prostory Wikimedie.
- Použijte Inkluzivní jazyk : Namísto použití výrazů, které předpokládají genderovou identitu (jako "kluci", "paní" nebo "pane"), použijte jméno osoby.
Zeptejte se na správném místě
- Ptejte se veřejně: Neposílejte soukromé zprávy, pokud není vaše téma konverzace tajné. Soukromé zprávy ostatním nepomáhají.
- Ptejte se a diskutujte na tom nejlepším místě:
- V úkolech Phabricatoru diskutujte pouze o konkrétních otázkách k tématu daného úkolu.
- Odpovědi na obecné technické otázky, například jak nastavit vývojové prostředí nebo jak opravit problémy s Gerritem, hledejte na místech uvedených na stránce Komunikace .
- Pokud se účastníte outreachového programu, pak je Zulip vhodný pro diskuzi o otázkách týkajících se samotných terénních programů.
Buďte trpěliví
Po odeslání dotazu:
- Nežádejte lidi o kontrolu kódu v samostatné zprávě. Lidé dostávají upozornění Gerritu a Phabricatoru a budou reagovat, až když budou moci.
- Při vyhledávání vstupů a komentářů, zejména během víkendů a svátků, možná budete muset počkat, až se obnoví pracovní doba. Na chatovacích kanálech jako IRC: Pokud nikdo neodpoví, zkuste to znovu v jinou dobu. Jen tak to nevzdávejte!
- Pokud ani po čekání a trpělivosti nedostanete odpověď, zvažte, zda by pro vaši otázku nemohly být lepší komunikační kanály.
Další zdroje
- Úvod do technického ekosystému Wikimedie poskytuje přehled o technologii Wikimedie, zaměřenou na hlavní oblasti, kam mohou vývojáři přispět.
- Jak přispět uvádí mnoho dalších způsobů, jak přispět, včetně oblastí, jako je dokumentace, testování a další.
- Jak se stát hackerem MediaWiki: Pro vývojáře, kteří chtějí pracovat na jádru MediaWiki nebo na rozšířeních MediaWiki.
- Developer centrum: Více zdrojů pro zavedené vývojáře Wikimedie.
- Chcete-li položit své otázky a zapojit se do obecných diskusí, podívejte se na místa uvedená na stránce komunikace.
- Výukové programy Wikimedie: Index výukových programů, které obsahují různé jazyky, rozhraní API a rámce v technologickém zásobníku Wikimedie.
- Podpora nováčků na hackathonech
- Podpora pro nováčky na hackathonech a související průvodce
- Newcomers sekce Hackathons Handbook a také stránka Tipy pro mentoring
- Stránka s návody pro nováčky na Wikimedia Hackathonu 2022