New Developers/ja

This page is a translated version of the page New Developers and the translation is 42% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎català • ‎español • ‎français • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎русский • ‎עברית • ‎العربية • ‎বাংলা • ‎中文 • ‎日本語

このページは Wikimedia 開発の初学者を対象に、簡単にまとめた入門編です。 開発の初学者を受け入れるイニシアチブの一環として提供します。

その他の参加方法については貢献するには をご参照ください。

ようこそ!

ウィキメディアのコードで作業を希望していて、どこから取りかかろうかヒントをお探しではありませんか?

ウィキメディアの技術コミュニティは、いつもプロジェクト群への新人の参加を歓迎しています。

グローバルなコミュニティにぜひ参加して、フリーな知識へ誰でも楽にアクセスできるようにしましょう!

ウィキメディアへの貢献は、4段階で構成されます。

  1. ソフトウェアプロジェクトを選択する
  2. 開発環境のセットアップ
  3. タスクを選んで解決 ( コードを書きテストする)
  4. コードの変更点を投稿

知っておきたいいくつかの基本

フリーなオープンソースのソフトウェア開発に慣れている人は、この節を読み飛ばしてもかまいません。

ウィキメディアには多くの分野で数百件単位のソフトウェア・プロジェクトがあります。概要はこれらのスライド集に目を通してください。

ソフトウェア・プロジェクトにはそれぞれ管理者がいて、どのインフラ環境を使うか自由に選んでいます。一般論として、どのソフトウェア・プロジェクとにも以下の基本条件が揃っています。

  • タスク追跡のツール。そこでは、ソフトウェアのバグや拡張要求が報告・管理・議論されます。例えば、Wikimedia Phabricator、GitHub、Sourceforgeといったものです。
  • コードレポジトリ。そこでは、ソースコードを誰にでも「チェックアウト」することができます。例えば、Wikimedia Git/Gerrit、GitHub、Sourceforgeといったものです。
  • a code review tool where proposed code changes (so-called patches) get discussed and improved. Examples are Wikimedia Git/Gerrit, GitHub, or Sourceforge. Once your proposed patch is good and is merged into the code repository, your code changes will become available to everybody. (You could read more about good practices for code review here.)
  • general places for discussion of the software project and/or for receiving help and support. Those places can be mailing lists or IRC chat channels or wiki pages or other places. The exact places depend on each project. You could also contact specific mentors via "Email this user" on their user pages, but note that "questions asked in private don't help others".

At any point, if you run into problems or need help, please ask. If you want to ask good questions in the right places, we recommend you read the section "Feedback, questions and support".

ソフトウェアプロジェクトを選択する

このような方法で始めることをお勧めします。以下のいずれかのプロジェクトを選択し、プロジェクトのドキュメントに従って開発環境を設定し、作業するタスクを選択し、タスクを解決し、コードの変更をレビューに提出します:

 

An anti-vandalism desktop application for Wikimedia projects

 

An offline reader for Wikipedia web content

Android用のコモンズアプリ

画像をウィキメディアコモンズにアップロードするAndroid アプリ

Wiki Education Dashboard

A web application that supports Wikipedia education assignments, provides data and course management for instructors and students

  ORES

A web service and API that provides machine learning as a service for Wikimedia projects. Machine predictions are used to catch vandalism, measure article quality, and support other wiki work.

Library Card platform

A tool allowing Wikimedia contributors to apply for free access to paywalled resources.

  Pywikibot

A Python library and collection of scripts that automate work on MediaWiki sites.

  AfC Helper Script

A user script to review draft articles on Wikipedia.

  VideoCutTool

A tool to edit the videos on Wikimedia Commons.

あなたはメンテナーで、プロジェクトを上記のソフトウェアプロジェクトのリストに入れたいと思っていますか?詳細をご覧になり、ご参加ください!

普及プログラムと単体のタスク

Apart from the recommended software projects above, there are more ways to choose a project or task to work on:

  アウトリーチ プログラム

ウィキメディア財団ではインターン制度を提供しており、その例がたとえば Google Summer of Code や Outreachy です。

  入門向けのタスク

新人開発者向きの単体のタスクも (さまざまなソフトウェアのプロジェクトで) 多く用意されています。
しかしながら、ここではどちらかというと自分で自分の道を切り開くスタイルが標準的です: 指導役が見つかる約束はありませんし、皆さんが提案したパッチがすぐに評価をして貰えるとも限りません。

もっとリソースはないですか?

その他の点で貢献するには?

  • 貢献のしかたに他にも方法をあげてあり、技術面以外でも貢献することができます。

Some general communication tips

  • Do your research first: When you decide to work on a task, you are expected to do some basic research yourself first: Look at the code, try to get some understanding what it is supposed to do, read related documentation, try to find the probable place(s) where you need to make code changes. For a general overview, please read the Basics to know.
    • In a Phabricator task, see the project tags in the side bar to find out which code repository a task is about.
  • Ask and discuss in the best place:
    • In Phabricator tasks, discuss only specific questions about the topic of that very Phabricator task. General technical questions (e.g. how to set up a development environment or problems with Gerrit) are off-topic in Phabricator tasks.
    • For general technical questions, ask the broader Wikimedia community and use generic channels like IRC chat or mailing lists. (If you take part in an outreach program, then you can also use Zulip's technical-support stream.)
    • If you take part in an outreach program, then Zulip is for discussing questions about the outreach programs themselves.
  • Ask good questions: "Can you give me more info?", "Please guide me", "Please tell me how to start" are not good comments to start with: The more specific your questions are, the more likely somebody can answer them quickly. If you have no idea at all how to fix the bug, maybe that bug is not (yet) for you – consider finding an easier one first.
  • Provide context: When asking, explain what you want to achieve, and what you have tried and found out already, so others can help at the right level. Be specific – for example, copy and paste your commands and their output (if not too long) instead of paraphrasing in your own words. This avoids misunderstandings. Use specific titles and subject lines ("Proposal draft" or "Need help" is not specific).
  • Use inclusive language: Don't assume anyone's gender identity ("guys", "madam", "sir"). Use the name of the person instead.
  • Ask in public: Do not send private messages if your conversation topic is not secret. Private messages do not help others.
  • Be patient when seeking input and comments, especially during weekends and holidays.
    • On IRC, don't ask to ask, just ask: most questions can be answered by other community members too if you ask on an IRC channel. If nobody answers, please try again at a different time; don't just give up.
    • Do not ask people immediately for code review in a separate message. People receive Gerrit and Phabricator notifications.
  • Keep conversations readable: When you reply in Zulip, in Phabricator tasks, or on mailing lists, please avoid unneeded quoting of a complete previous comment. Provide sufficient context and keep threads readable.
  • Follow the code of conduct for Wikimedia technical spaces.
  • When you plan to work on a Phabricator task:
    • No need to ask for permission: Usually there is no reason to ask if you can work on something or if somebody could assign a task to you. There is no authority who assigns tasks or who needs to be asked first.
    • You do not need to announce your plans before you start working on a task but it would be welcome. At the latest when you are close to proposing a patch for a task, it is good to announce that you are working on it, so that others don't duplicate work: If nobody else is already assigned, set yourself as task assignee by using the Add Action… → Assign/Claim dropdown.
    • Tasks with existing patches:
      • If a task already has a recent patch in Gerrit, choose a different task to work on instead – avoid duplicating work.
      • If an existing patch in Gerrit has not been merged and has not seen any changes for a long time, you could also improve that existing patch, based on the feedback in Gerrit and in the task.
    • When your plans or interests change: If you don't work on a task anymore, please remove yourself as the assignee of the task, so others know that they can work on the task and don't expect you to still work on it.

By communicating clearly and early you get attention, feedback and help from community members.