Swift 4.2 日本語化計画 : Swift 4.2
コミュニティガイドライン
Swift.org のコミュニティは、世界最高の汎用プログラミング言語を作るという独創的な目標を持っています。私たちは共同で、オープンに言語を開発し、参加したいと思う人からの投稿を得ます。このガイドライン文書では、Swift コミュニティをどのように編成して、Swift に素晴らしい新機能を追加し、より多くのプラットフォームでより多くの開発者が利用できるようにするかについて説明します。
コミュニケーション
Swift 言語はオープンで開発されており、言語やコミュニティのプロセスに関するすべての技術的または管理上の話題は、Swift 公開フォーラムに導かれるべきです。公開の会話が推奨され、Swift 言語の活発な開発者は関連するフォーラムカテゴリを見る必要があります。
- フォーラムのカテゴリとメールの指示のディレクトリは フォーラムのセクション にあります
- すべての Swift プロジェクトのソースコードは、GitHub(github.com/apple)にあります。
- Swift.org のバグ追跡システムは bugs.swift.org で管理されています。
コミュニティの構造
Swift プログラミング言語を進化させ、その進化についての一貫性のある明確な見方をするには強力なリーダーシップが必要です。リーダーシップはコミュニティから取られ、より広範な投稿者とユーザーのグループと緊密に連携します。コミュニティ内の役割は以下のとおりです。
- プロジェクトリーダー は、コミュニティから技術リーダーを任命します。Apple Inc. はプロジェクトリーダーであり、代表者を通じてコミュニティと交流します。
- コアチーム は、戦略的な方向性を担うエンジニアの小さなグループです。
- コードオーナー は、Swift コードベースの特定の領域を担当する個人です
- コミッター は、Swift コードベースへのアクセスを任されている人です。
- コントリビューター はパッチを提供したり、コードレビューを助ける人です。
また、コミュニティ、文化、および 行動規範 の問題を解決するための 行動規範ワーキンググループ もあります。最も重要なのは、Swift を使用しているすべての人が、拡張されたコミュニティの大切なメンバーであることです。
プロジェクトリーダー
Apple Inc. はプロジェクトリーダーであり、プロジェクトの仲裁者として働いています。プロジェクトのリーダーはリーダーシップの役割に代表取締役が付き、それらのリーダーは世界中の投稿者の Swift コミュニティのから来ています。コミュニティのリーダーとコード提供者は協力して Swift を継続的に改善し、その言語は関係するすべての人の良い仕事によって進歩します。
Ted Kremenek (kremenek@apple.com) は Apple の代表取締役であり、プロジェクトリーダーの声として活動しています。
コアチーム
コアチームは、これらの提案の承認者の役割を果たす大きなコミュニティからの 言語進化の提案 を繰り返し検討し、支援します。チームメンバーは、可能な限り最良の汎用プログラミング言語を作成するという目標に沿って、Swift を一貫した方向に推進するのに役立ちます。
コアチームのメンバーは、技術的な専門知識とコミュニティへの実証された投稿に基づいて、プロジェクトリーダーによって任命されます。現在のコアチームメンバーは以下のとおりです。
- Ben Cohen (ben_cohen@apple.com)
- Chris Lattner (sabre@nondot.org)
- Dave Abrahams (dabrahams@apple.com)
- Doug Gregor (dgregor@apple.com)
- Joe Groff (jgroff@apple.com)
- John McCall (rjmccall@apple.com)
- Ted Kremenek (kremenek@apple.com)
プロジェクトの立ち上げ時に、チームは Apple 内の Swift の起源のために Apple の従業員で構成されています。時間の経過とともに、コミュニティの関与と投稿の記録に基づいて、より多様な背景の優れたコミュニティメンバーが任命されるでしょう。
コードオーナー
コードオーナーとは、Swift プロジェクトの特定の領域に割り当てられた個人で、コードの品質がその主な責任です。umbrella Swift プロジェクトは、Swift 標準ライブラリ、LLDB デバッガの拡張機能、および Swift パッケージマネージャなどの多数のサブプロジェクトなどで構成されています。各サブプロジェクトにはコードオーナーが割り当てられます。その後、コードオーナーは、すべての投稿をレビューし、コミュニティからフィードバックを収集し、承認されたパッチを製品に追加します。
誰でもコードの一部を見直すことができ、関心のあるすべての人からのコードレビューを歓迎します。コードレビューの手順は、中央のグローバルなポリシーによって決定されるものではありません。代わりに、そのプロセスは各コードオーナーによって定義されます。
アクティブであり、価値あることを示すコミュニティメンバーは、フォーラムへの投稿を介してコードオーナーになることができ、また、他のメンバーが指名することもできます。仲間の投稿者が同意する場合は、プロジェクトリーダーが予定し、コードオーナーファイルに新しいオーナーの名前を追加します。地位は完全に任意であり、いつでも辞任することができます。
現在のコードオーナーのリストは、親の Swift ソースツリーのルートにあるファイル CODE_OWNERS.txt にあります。また、メーリングリストを管理しているので、すべてのコードオーナーに 電子メールを送信 することができます。
Swift の成功には、強く関わっているコードオーナーよりも重要なものはありません。私たちは皆、彼らに尊敬、感謝、そして私たちが提供できる助けを何でも捧げます。
ライセンス
Swift のライセンス は、Runtime Library Exception (実行時ライブラリ例外) を持つ Apache 2.0 ライセンス に基づいており、Swift を使用してあなた独自のバイナリをビルドして配布する際に、帰属要件を削除します。Apache 2.0 ライセンスは、Swift の幅広い使用を可能にし、多くの潜在的な貢献者 (投稿者) によって既によく理解されているために選ばれました。
著作権は投稿の著者、または個人が所属する会社または組織によって保持されます。著作権者のリストは、Swift.org の CONTRIBUTORS.txt ファイルとリポジトリのルートで管理されています。
Runtime Library Exception (実行時ライブラリ例外)
Runtime Library Exception (実行時ライブラリ例外) により、Swift コンパイラのエンドユーザーは、完成したバイナリアプリケーション、ゲーム、またはサービスで Swift の使用の原因と考える必要がない事が明確になります。Swift 言語のエンドユーザーは、優れたソフトウェアを作成する事に制限はないと感じるはずです。この例外の全文は以下のとおりです。
例外として、このソフトウェアを使用してソースコードをコンパイルした場合、 このソフトウェアの一部は結果としてバイナリ製品に組み込まれ、 そのような製品を帰属させずに再配布することができます。 それ以外の場合は、ライセンスのセクション 4(a)、4(b)、および 4(d) で要求されます。
この例外は、LICENSE.txt ファイルの一番下にもあります。
ソースコードの著作権とライセンス
Swift.org でホストされているすべてのソースファイルには、ファイルの先頭に、ライセンスと著作権が適用されることを宣言するコメントのブロックが含まれていなければなりません。このテキストは、たとえば コードの投稿 セクションで定義されているように、より大きなヘッダーの一部かもしれません。ヘッダー形式にかかわらず、ライセンスおよび著作権部分の文言は、適切な年数を適用して、以下のようにコピーされていなければなりません。
//このソースファイルは Swift.org オープンソースプロジェクトの一部です // // Copyright(c)2014 - 2017 Apple Inc.と Swift プロジェクトの著者達 // Apache License v2.0 の下でライセンスされ、実行時ライブラリ例外を伴う // //ライセンス情報については http://swift.org/LICENSE.txt を参照の事 // Swift プロジェクトの著者一覧は http://swift.org/CONTRIBUTORS.txt を参照の事
各投稿者は、プロジェクトのルートにある CONTRIBUTORS.txt ファイルに自分の名前を追加し、連絡先情報を維持する責任があります。あなたが会社の傘下で投稿している場合は、会社の情報を追加してください。また、追加の著作権者として自分自身を記載しないでください。
投稿
Swift.org サイトは Swift プログラミング言語に興味のある方を誰でも歓迎します。コミュニティのメンバーは、バグのファイリングとスクリーニング、コードレビューの補助、オープンな会話への参加、そしてもちろんコード投稿によって Swift プロジェクトの大きな助けとなるでしょう。
入門
言語自体に直接貢献する前に、自分のプロジェクトでの Swift の使用に慣れ親しむことを強くお勧めします。わかりやすい Swift 入門 ガイドとステップバイステップの手順をまとめて紹介しています。
コードの投稿
Swift.org は、主にコミュニティからの投稿を歓迎するために存在します。最も単純なケースでは、1 回限りのパッチは誰からでも歓迎します。しかし、定期的な投稿者は、プロジェクト内で質の高い文化を創造するのに役立つプロセスを採用することが期待されます。
寄稿者は、最初にこのサイトの 投稿 セクションのコンテンツを一通り読んでください。このコンテンツには、メインの Swift コードベースにあなたのコードを添わせるるためのプルリクエストの作成を含む、パッチの投稿時に従うべきプロセスに関する詳細な手順が含まれています。
さまざまな Swift プロジェクトのバグは、bugs.swift.org の公開バグ追跡システムで管理されています。誰でもバグを報告することができ、また、バグを閲覧して見つけたバグが既に解決されているかどうかを確認することもできます。
新しい機能の提案
Swift 言語の新しい機能や方向性は、良いアイデアを持つ人からなら誰からでも提案することができます。最高な解決策を得るためには、公開フォーラムでのアイデアに対するオープンな議論と反復が不可欠です。各 Swift のバージョンは明確に定義されている必要があり、その結果、サポートされているすべてのプラットフォームを通じ、そのリリースでソース互換性がある "One True Swift" (一つの Swift) が作成されます。
このプロセスをサポートするために、Swift.org では、現在のリリースの高いレベル目標へのリンクを含む Swift Evolution Process (Swift の革命的プロセス) について詳述しています。これらの目標に役立つパッチに優先権が与えられ、コードレビューでの即時の注意を得る可能性が高くなります。
行動規範
真に偉大なコミュニティであるためには、Swift.org はさまざまな背景と幅広い経験を持って、あらゆる生き方の開発者を歓迎する必要があります。多様で親しみやすいコミュニティは、より素晴らしいアイデア、よりユニークな視点、より優れたコードを生み出します。私たちは Swift コミュニティで皆を歓迎するために努力します。
Swift.org は、私たちのメンバーの期待を明確にするため、contributor-covenant.org で定義された行動規範を採択しました。この文書は多くのオープンソースコミュニティ間で使用されており、われわれの価値観をうまく表現していると思います。全文を以下にコピーします:
投稿者行動規範 v1.3
このプロジェクトの投稿者および管理者として、オープンで歓迎するコミュニティを育むことを目的として、問題の報告、機能要求の投稿、文書の更新、プルリクエストまたはパッチの提出、およびその他の活動を通じて投稿するすべての人々を尊重することを約束します。
私たちは、全ての人の経験、性別、性同一性表現、性的指向、身体障害、風采、身体の大きさ、人種、民族、年齢、宗教、または国籍にかかわらず、このプロジェクトにすべての人にハラスメントフリーの体験で参加させることを約束します。
参加者による受け入れがたい行動の例としては:
- 性的な言語やイメージの使用
- 個人的攻撃
- 狩猟的または侮辱、軽蔑的なコメント
- 公的または私的なハラスメント
- 明示的な許可なく、物理的または電子的アドレスなどの他の個人情報を公開する
- その他の非倫理的または非専門的な行為
プロジェクトの管理者は、この行動規範に則っていないコメント、コミット、コード、Wiki 編集、問題、その他の投稿を削除、編集、却下する権利、およびその責任があります。または不適切、脅迫的、攻撃的、または有害とみなす他の行為のために投稿者を一時的または永久に禁止します。
この行動規範を採択することにより、プロジェクト管理者は、このプロジェクトを管理するすべての側面にこれらの原則を公正かつ一貫して適用することを約束します。行動規範を遵守しない、または実施しないプロジェクト管理者は、プロジェクトチームから永久に削除される可能性があります。
この行動規範は、個人がプロジェクトまたはそのコミュニティを代表しているときに、プロジェクトスペース内と公開スペース内の両方に適用されます。
不正な行為、嫌がらせ行為、または容認できない行為の例は、プロジェクト管理者 (conduct@swift.org) に連絡して報告できます。すべての苦情は審査され、調査され、その状況に必要かつ適切とみなされる回答が得られます。管理者は、事件のレポーターに関して機密保持を義務づけられています。
このポリシーは、投稿者行動規範 バージョン1.3.0 から適応されています。
報告
コミュニティメンバーのワーキンググループは、全ての 報告された問題 にすばやく対処することに全力を傾けています。ワーキンググループのメンバーは、さまざまな背景と視点を持つ個人を優先して、プロジェクトリーダーが指名するボランティアです。メンバーシップは定期的に変化することが予想され、拡大または縮小する可能性があります。
ある個別のメンバーではなく ワーキンググループに電子メール を送信することで懸念を報告することをお奨めします。ワーキンググループにボランティア参加したい場合は、ワーキンググループ にお問い合わせください。
フォーラム
コミュニティメンバー間のコミュニケーションの主な方法は、Swift のフォーラムです。フォーラム内には、ディスカッションの整理に役立ついくつものカテゴリとサブカテゴリがあります。タグを使ってフォーラムのトピックスをさらに整理することができます。
フォーラムの Web インターフェイスに加えて、フォーラムは電子メールを介して対話することができます。サブスクリプトと電子メールの環境設定は、フォーラムのユーザー設定を介して構成されます。
フォーラムの 3 つの主なカテゴリは、進化、開発、および Swift の使用です。Swift プロジェクトの一般告知と CI 通知もここに掲載されます。
Swift のユーザー
Swift の使用 - 初心者や Swift 言語の使用に主に関心がある方は、Swift の使用カテゴリに参加することが最も良いスタートでしょう。この領域は、ユーザーがSwift やその関連ツールに関する助けを求めたり、質問をしたりするためのもので、言語そのものに関する作業についての議論の対象ではありません。このカテゴリでは、swift+swift-users@forums.swift.org 宛ての電子メールを受け取ります。
Swift 開発
コンパイラ - Swift コンパイラ、低レベル実行時環境、および SourceKit の開発と実装について議論する開発者のため。このカテゴリでは、swift+compiler@forums.swift.org 宛ての電子メールを受け取ります。
標準ライブラリ - Swift 標準ライブラリの実装について議論する開発者のため。このカテゴリでは、 swift+stdlib@forums.swift.org 宛ての電子メールを受け取ります。
コアライブラリ - Swift コアライブラリの実装について議論する開発者のため。このカテゴリでは、 swift+corelibs@forums.swift.org 宛ての電子メールを受け取ります。
サーバー - サーバー API ワークグループによって開発された新しいサーバー中心の機能の実装について議論する開発者のため。このカテゴリでは、swift+server@forums.swift.org 宛ての電子メールを受け取ります。
LLDB - LLDB の Swift REPL と Swift 固有の側面の実装について議論する開発者のため。このカテゴリは、 swift+lldb@forums.swift.org 宛ての電子メールを受け付けます。
パッケージマネージャ - Swift パッケージマネージャの実装について議論する開発者のため。このカテゴリは、 swift+swiftpm@forums.swift.org 宛ての電子メールを受け付けます。
LLBuild - 低レベルビルドシステム (llbuild) の実装について議論する開発者のため。このカテゴリでは、 swift+llbuild@forums.swift.org 宛ての電子メールを受け取ります。
アナウンス - リリースアナウンス、分岐、インフラストラクチャの更新など、開発者に関連するアナウンス用。
CI 通知 - ci.swift.org からのビルドとテストの失敗に関する通知。
Swift の発展
Swift の発展プロセスと、どの提案が積極的に議論されているかについては、Swift evolution repository(Swift の発展レポジトリ) をご覧ください。
アナウンス - Swift 発展の提案のレビューと結果のアナウンス用。発展の提案の議論とレビューはすべて swift-evolution メーリングリストで行われます。
ピッチ - 新しい言語機能、新しい標準ライブラリ API などを含む Swift の発展の提案について、レビューフェーズに入る前のため。このカテゴリは、 swift+pitches@forums.swift.org に送られた電子メールを受け入れます。
提案のレビュー - レビューフェーズでの提案の投稿と解説。このカテゴリでは、 swift+proposal-reviews@forums.swift.org に送られた電子メールを受け入れます。
議論 - Swift の発展に関する一般的な議論。このカテゴリでは、swift+evolution-discuss@forums.swift.org に送信された電子メールを受け入れます。