Skip to main content

企業での innersource の使用

セキュリティを損なうことなく、社内でオープン ソース スタイルのワークフローを設定することで、分散したチームが共同作業を行うのに役立ちます。

innersource プラクティスを使用して、企業でのコラボレーションと生産性を促進できます。 Innersource を使用すると、すべての従業員が作業を簡単に見つけて再利用できます。 これにより、開発チームは互いの作業から学び、専門知識を共有し、一般的なサービスを再作成する作業の重複を回避できます。

リポジトリを検出可能にする

機密情報が含まれている場合を除き、リポジトリをすべての従業員に表示することを目指す必要があります。

これを行うには、可能な限り 社内 の可視性を使用するよう従業員に勧めます。 内部可視性を使用すると、ユーザーがリポジトリを所有する組織のメンバーであるかどうかに関係なく、企業内の任意の組織のすべてのメンバーがリポジトリを表示できます。

また、組織に対して制限の緩やかな 基本アクセス許可 を設定する必要があります。 組織の基本アクセス許可ポリシーは、その組織のメンバーが組織のすべてのリポジトリに対して持つ既定のアクセス レベルを決定します。 一般に、すべての組織メンバーが任意のリポジトリを表示できるように、組織には少なくとも "読み取り" 基本アクセス許可が必要です。 その後、組織の所有者はチームを使用して、特定のリポジトリでより高いレベルのアクセス権をユーザーに付与できます。

広く表示すべきではない機密性の高いリポジトリがある場合は、より制限の厳しい基本アクセス許可を持つ専用の組織を設定し、この組織に特定のチームを追加できます。

詳細については、「リポジトリについて」および「Organization の基本レベルの権限の設定」を参照してください。

ドキュメント プロジェクト

企業全体で作業を検索できるように、リポジトリを整理して文書化します。

リポジトリ READM は リポジトリ内のファイルで定義されているため、ユーザーはコードのように検索できるため、有効です。 また、組織またはエンタープライズ アカウントのレベルで READM を作成して、さまざまなプロジェクトを検索する場所のより高いレベルの概要を提供することもできます。 より正式な内部ドキュメントについては、GitHub Pages サイト または ウィキサイトを設定することを検討してください。

          **リポジトリ トピック**を使用して、特定のプログラミング言語を含むリポジトリ、特定のチームが所有するリポジトリなどをグループ化できます。 これは、リポジトリを見つけやすくするもう 1 つの方法です。

詳細については、以下を参照してください。

  •         [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-readmes)、 [AUTOTITLE](/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile#adding-a-member-only-organization-profile-readme)、 [AUTOTITLE](/admin/managing-your-enterprise-account/creating-a-readme-for-an-enterprise)
    
  •         [AUTOTITLE](/pages/getting-started-with-github-pages/creating-a-github-pages-site)
    
  •         [AUTOTITLE](/communities/documenting-your-project-with-wikis/adding-or-editing-wiki-pages)
    
  •         [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics)
    

作業を共有するためのカルチャを設定する

チームが自分の作業を公開し、リソースを他のチームと共有するよう奨励します。 GitHub には、これを簡単にする機能が多数用意されています。 たとえば、チームは次のことができます。

  •         **ディスカッションを**使用して、他のチームに作業をより見えるようにします。 「[AUTOTITLE](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion#creating-a-discussion)」を参照してください。
    
  •         **アクションと再利用可能な GitHub Actions ワークフロー**を共有するための専用の内部リポジトリを作成します。このリポジトリは、企業内でワークフローを記述するときに誰でも参照できます。 「[AUTOTITLE](/actions/how-tos/reuse-automations/share-with-your-enterprise)」を参照してください。
    
  •         **GitHub Packages** レジストリを使用して、内部パッケージ内の再利用可能なコードを共有します。 セキュリティを強化するために、GitHubのセキュリティ機能にこれらのレジストリへのアクセス権を付与できます。 「[AUTOTITLE](/packages/learn-github-packages/introduction-to-github-packages)」を参照してください。
    
  • 共通のテンプレートとフレームワークを テンプレート リポジトリ として設定し、他のユーザーがコピーしてプロジェクトを開始できるようにします。 「テンプレートリポジトリを作成する」を参照してください。

オープン ソース プロジェクトと同様に、共有プロジェクトには、サポート モデルと明確に定義されたメンテナーのチーム (特に企業の多くの部分が依存するサービス) があることを確認する必要があります。 理想的には、保守チームには、サービスを使用するさまざまなチームの代表者が含まれます。

外部コラボレーターからコンテンツを非表示にする

企業のプロジェクトにアクセスする必要がある外部の請負業者またはコラボレーターがいる場合は、通常の従業員とは異なるレベルのアクセス権を付与できます。

具体的には、外部コラボレーターから内部リポジトリを非表示にすることができます。 これを行うには:

  • Enterprise Managed Users を使用する場合は、ユーザーに ゲストコラボレーター ロールを持つアカウントを設定してください。 ゲストコラボレーターは、既定では内部リポジトリにアクセスできませんが、メンバーとして追加される組織では基本アクセス許可を受け取ります。 リポジトリのコラボレーターとしてリポジトリに追加することもできます。
  • Enterprise Managed Users を使用しない場合は、必要なリポジトリに 外部コラボレーター としてユーザーを追加しますが、組織のメンバーとして追加されていないことを確認します。

外部コラボレーター (Enterprise Managed Usersを使用する場合はリポジトリ コラボレーター と呼ばれます) は、特定のリポジトリにのみアクセスできます。 これらのユーザーは完全な組織メンバーではないため、組織の基本レベルのアクセス権を受け取らず、別の組織のメンバーでない限り、社内の内部リポジトリを自動的に表示することはできません。

詳しくは、「外部のコラボレータを Organization のリポジトリに追加する」をご覧ください。