web-dev-qa-db-ja.com

なぜ「GitHubでフォーク」するのですか?

GitHub の仕組みは理解していますが、混乱しているのは、ほとんどすべての [〜#〜] oss [〜#〜] プロジェクトに最近「彼らのホームページの「GitHubでフォークしてください」リンク。例えば、

http://jqtjs.com/http://www.daviddurman.com/flexi-color-picker/ など。

これはなぜそれほど一般的ですか?彼らがコード検証を望んでいる/必要としているのは、彼らが方法を知らないかもしれないセキュリティ/パフォーマンスの改善をチェックすることですか?

これは共同プロジェクトであることを示すためのものですか?改善を追加することはできますか?

彼らはGitHubで働いていますか、それともサービスを宣伝したいですか?不思議なことに、最近「 Bitbucket のフォークプロジェクト」のロゴを見たことがありません。

そのロゴに対する私の最初の反応は、プロジェクトを有用なものと統合するためにおそらくプロジェクトを変更(フォーク)する必要があるということでした。しかし、私はそれが意図ではないと思います。

50
NoBugs

問題の育成コラボレーション側は別として、ビジネスの観点からは、GitHubのトラフィック、ユーザーベース、および市場での地位を強化および強化します。したがって、それに関連するビジネス戦略も少しあります。

個人的には、GitHubはオープンソースコミュニティに価値のあるサービスを提供しているので、私はこれを気にしません。

20
AsymLabs

これは共同プロジェクトであることを示すためのものですか?改善を追加することはできますか?

はい:リポジトリに直接commitをプッシュする権限がありません。
しかし、あなたは fork their repo を実行する可能性がありますyourリポジトリ、およびプッシュコミットそこから、準備 プルリクエスト

fork

75
VonC

「Fit me on Github」バッジは、プロジェクトに貢献する権利、またはプロジェクトの開始点として使用する権利がプロジェクトに付与されていることを示すためのものです。

それは、「それは共同プロジェクトであり、あなたが改善を追加するのを歓迎している」ことを少し示しています。

元のソースに影響を与えずに、コードをいじったり、同じプロジェクトをスピンオフしたりできます。

https://help.github.com/articles/fork-a-repo

同じ原則が他のすべてのgitホストに適用されます。

プロジェクトをフォークする権利を与えることの(他の多くの中での)主なポイントは、

  • コラボレーションの促進-プロジェクトの改善に人々が協力できるようにすることで。
  • 知識を増やす-人々があなたのコードを研究できるようにすることによって。

遭遇する可能性のあるプロジェクトのいくつかは、Githubのスタッフが独自のニーズに対応している可能性があります。彼らはgithubを宣伝したくありません。ここでgithubによってプロジェクトを見つけることができます: https://github.com/github

他のホストからのバッジが表示されない理由は、Githubが最も人気のあるgitホスティングおよびコラボレーションプラットフォームであるためです。

37
Brian Kinyua

お気に入りのテキストエディターを使用していて、しばらくすると、実装するいくつかの機能(ノンブロッキングの[ファイルを保存]オプションなど)が本当に好きになることに気付いたとします。

11回目は自分で書いてみることにしました。このプロジェクトのgithubページを見つけたら、2つのオプションがあります。

  1. ソースコードをダウンロードして修正し、自分用に保管してください。
  2. Githubでプロジェクトをフォークし、フォークで作業します。

2番目のオプションを選択した場合は、機能を適切に記述し、十分にテストした後、プルリクエストを準備すると、プロジェクト全体でメリットが得られます。

ただし、最初のパスを選択した場合、それはveryです。変更を忘れてしまい、それ以外の誰も利益を得られない可能性があります(そうです、コードを手動で共有できますが、他のコーダーもgithubを使用すると、より多くのsocializedを他の人の作業で取得する必要があります)。

「githubでフォークして」プロジェクトのオーナーが言うには、コードをダウンロードしてホームディレクトリに公開するのではなく、Fork on githubを選択したことを確認するだけです。

15
Nemanja Boric

これはオープンソースプロジェクトであることを示すためだけにあり、理由を問わず、必要に応じてフォークします。また、GitHubでこのブログ投稿を確認してください: https://github.com/blog/273-github-ribbons

更新:個人的には、これらのGitHubリボンを追加して、人々がGitHubで私を見つけてプロジェクトにスターを付けられるようにします;)

7
dmitry

つまり、フォークが安価なgithubにいて、ソフトウェアやコミュニティを改善するための貢献を奨励したいということです。

6

Githubは、ソースコードのホスティングだけでなく、あらゆる共同作業を含むようにユーザーベースを拡大しようとしています。 forkとpullリクエストを送信メソッドをプッシュします。パッチを作成してメールで送信することは、プログラマー以外のほとんどの人にとって魅力的ではありません。プッシュ権限はここではそれほど重要ではありません。結局、ツールと開発ワークフローについてかなりの知識を持っているほとんどのgit(またはMercurial、darcsなど)ユーザーは、なんらかの方法でパッチが添付された電子メールを送信できます。

また、Githubは、コードホスティングよりもソーシャルネットワーキングに重点を置いています。プロフィールやリポジトリ、変更は、ツイートや+1と同様に、ソフトウェア開発者としてのアイデンティティを構成します。これらのリボンやボタンなどはすべて、プロジェクトが属する人のプロフィールへのパスである自己キャンバスの手段として使用されます。今日、まともなGithubプロファイルを持つことは、開発者に最初に期待されることです。 Mercurialを何にでも使用していますが、これらの理由により、hg-gitを介してGithubにプッシュします。

最終的に、その「Githubでフォーク」リボンは、「Tweet this Article」または「Share this Thing on G +」ボタンとは目的が少し異なります。 (リポジトリのフォークがリポジトリのリストにあることは「私はこれのユーザーです」という意味です。GinhubにはLinuxのフォークが数千ありますが、Linus Torvaldsはプルリクエストを受け入れません。)

5
user67429

「パッチは大歓迎です」という別の言い方です。

ウィッシュや機能リクエストを送信する代わりに、元の作者がプルリクエストをレビュー、検証、マージするプルリクエストを送信できます。

歴史的にフォークは、元のプロジェクトの管理と競合するグループによって行われる敵対的な行動です。たとえば、SunのOpenOfficeは、政治的な理由から独自の遅い壊れたJavaベースのプラグインを優先するため、高速C/C++ SVGプラグインを拒否するために使用されていました。

ほとんどの場合、フォークは不良であり、元のコミュニティと共有されておらず、元のコミュニティと一致していない計画を持っている羨望の人々または利己的な会社の人々によって運ばれます(例 Canonical )およびこの例はlibav/avconv(FFMPEGのフォーク)です。これらの場合、元のコミュニティには 高品質、セキュリティ があり、コミュニティ計画に沿ったパッチを歓迎します。

ダンウォルシュが指摘 フォークの古い定義

私は長い間オープンソースを使用しており、私の「フォーク」の定義には日付が付けられている可能性があります。 「フォーク」とは、あるグループが上流のプロジェクトのバージョンを使用して貢献し、「元の」バージョンを無視するようにするために行われる敵対的な行動のことだと思います。たとえば、LibreOfficeはOpenOfficeをフォークしたり、XorgはXfree86をフォークしたりします。

それから彼はそれをgithubのフォークと比較しました

今日、GitHubは意味を変えました。ソフトウェアリポジトリがGitHubまたは同様のプラットフォームに存在する場合、貢献したいすべての人が「フォーク」ボタンをクリックして、パッチの構築を開始する必要があります。これを書いている時点で、GitHub上のDockerには、私たちを含めて9,860のフォークがあります。ただし、この定義では、パッチを含むディストリビューションが出荷するすべてのパッケージはフォークです。 Red HatはLinuxカーネルを出荷していますが、これがフォークと呼ばれることは聞いたことがありません。しかし、パッチ付きのアップストリームプロジェクトにフォークが含まれている場合は、「フォーク」と見なされます。

2
Muayyad Alsadi

これが協調的であると言うすべての応答は、「Clone me on GitHib」または「Download .Zip from GitHub」と言ってみませんか?

GitHubで、フォークの数のカウントを確認できます。しかし、私の知る限りでは、クローンやZipダウンロードの数ではありません。

ですから、コラボレーションを促進することも、人々があなたのコードを使用しているというフィードバックや検証を得ることもあると思います。

追伸私はGitHubを初めて使用するので、これが完全に間違っている場合は、親切にお知らせください。

1
user949300

githubでフォークすると、Twitterで私をフォローするように言うのが本当に簡単になります。私自身のパースペクティブから開発の世界に少し社会化をもたらし、それがオープンソースであり、変更に利用できることも明らかにします。また、「githubのfork me」バナーの片側にある「fork me on github」バナーを使った素晴らしいコンセプトだと思います。プロジェクトのウェブサイト

0
Joseph Rex

あなたはおそらく、最も単純な答えを取るだけで最善を尽くすでしょう:彼らはあなたがコードがGitHubで自由に利用できることを知ってほしいと思っています。あなたの仮説は少々見過ごされていると思います。

0
ashgromnies