ベストアンサー
これを取り上げます。
最初にとりわけ、 “ 場合 初心者の場合、 GitHubのオープンソースプロジェクトに貢献しないでください! フラストレーション および 怒り !”
何かが誰かに欲求不満や怒りを引き起こしたとしても、同じことがあなたに同じような反応を引き起こすという意味ではありません。申し訳ありませんが、それは否定的な見通しでした。
実際、オープンソースへの貢献は、初心者、中級者、経験者とは一線を画すものです。それはあなたにあなたの技術またはコーディングの旅をさらに前進させるためのブーストを与えます。もちろん、あなたは永遠に初心者になりたくないのですか?
初心者がGitHubと私でオープンソースに貢献することを強くお勧めします。この回答を読んだ直後に、その方法を正確に説明します。
多くの人は、オープンソースのGitHubプロジェクトに貢献するには、必然的に何らかのコードを作成する必要があると考えています。
彼らは、オープンソースのJavaScriptライブラリまたはフレームワークのパブリックリポジトリに何らかの問題やバグがあり、貢献することにした場合はそのバグを修正する必要があることを頭に入れています。
それは真実ではありません(常に)。
以前は、同じような写真を頭に入れていました。はGitHubでオープンソースに貢献することから始まりました。
オープンソースに貢献することは、必ずしもコードを書くことを意味するわけではありません。
- プログラミング言語の学習に関するガイドラインを人々に提供することもできます。オープンソースの貢献と見なされます
- フロントエンド開発者になるための道を人々に示すこともオープンソースの貢献と見なすことができます。
- まあ、私がこの答えを書いているという事実は、 GitHubでのオープンソース活動に貢献するための非伝統的な方法も、私のオープンソースへの貢献と見なすことができます。
十分に話します。今すぐオープンソースに貢献する方法を教えてください。
1つの公開GitHubリポジトリに貢献するという私の個人的な経験を詳しく説明することから始めます。
私はいくつかの開発者コミュニティ関連のフォーラムの一部。それらの多く。ある日、次のようなスレッドを作成した人がいました:
「私はGitHubリポジトリを作成しました初心者向けに999個のCプログラムを提供することを目的としています。そのうち7個を作成しました。あと992個です。」
これは非常に興味深いものでした。私はすぐに彼のリポジトリリンクをクリックして、彼が作成した7つのプログラムを調べました。彼らは本当に初心者にやさしく、Cプログラミングを始めている人々を助けるという彼の目的と完全に一致していました。
私はすぐに彼のGitHubリポジトリをフォークしました。そのリポジトリをローカルマシンに複製しました。そして、他の7つのプログラムで採用された形式と構造に従って、ソリューションを備えた初心者向けのCプログラムを1つ作成しました。フォークされたリポジトリに変更をプッシュしました。その人の元のリポジトリにプルリクエスト(PR)を行い、「ソリューションを備えた初心者向けのCプログラムをもう1つ追加しました」というメッセージを表示しました。その男は私のPRリクエストを承認し、変更をマスターブランチにマージしました。翌日、もう1つのプログラムで同じことをしました。
それで終わりです。私のオープンソースの貢献。はい。この貢献のためにコードを書く必要がありました。しかし、それは私が以前に描いていたものとはまったく異なるものでした。有名なライブラリやフレームワークの高度なレベルのバグや問題を解決しませんでした。大学で学んだ初心者向けのプログラムについて考えたところ、その解決策が提供されました。
これらのアイデアに基づいて、独自のプロファイルでGitHubリポジトリを作成できます。
- フロントエンド開発を学ぶための最良のリソース(メンション記事のリンク、本、ビデオリソース、無料コースなど)
- Pythonの最良のタスク自動化スクリプト(オンラインでスクリプトをソースし、それらを1か所に集める) 、元の作成者の功績を認める)
- さまざまなデータベースの概要(MySQL、MongoDB、SQL Server、Oracleなどの有名なデータベースについて人々を教育します。なぜ彼らが互いに選択する必要があるのかを説明します。)
- またはインターネット全体に役立つと思われるもの
ReactJSに興味がある場合は、GitHubリポジトリに気軽に投稿してください: UnnitMetaliya / 99-reactjs-project-ideas
ReactJSライブラリを使用して開発できる99の簡単なプロジェクトアイデアの提供に取り組んでいます。アイデアがありますか?すごい。リポジトリをフォークします。 #001フォルダーと同じ構造でアイデアのフォルダーを作成します。フォークしたリポジトリにプッシュします。マスターブランチにプルリクエストを送信します。そして、それだけです。
tl; dr >> GitHubでオープンソースに貢献するために、必ずしもコードを書く必要はありません。コードを書く以外に、オープンソースに貢献する方法は何百もあります。
回答
まず、オープンソースソフトウェアは自由に使用できるソフトウェアです。誰でも(変更された形式または変更されていない形式で)変更および共有されます。
これはオープンソースとは理論的な意味であり、より深い意味は、ユーザーに対して物事を透過的に保つというビジョンと一致します。ユーザーは何が起こっているのかを完全に理解しているため、特定のソフトウェア/ハードウェアに必要な機能を追加することで違いを生むチャンスがあります。
オープンソースの最初のステップは、組織を特定することです。あなたが好きであるか、そのビジョンがあなたが本当に世界に返したいものと一致している。これらの各組織には、人々に何かを還元するという独自のビジョンと使命があります。私は、人々に境界のないインターネットを提供し、ウェブを無料に保つという彼らのビジョンと使命のために、Mozillaに貢献しています。
私たちの使命は、Webでのオープン性、革新性、機会を促進することです。
Mozillaでは、インターネットを存続させ、インターネットを維持するために協力する技術者、思想家、建設業者のグローバルコミュニティです。アクセスしやすいので、世界中の人々にWebの寄稿者や作成者に情報を提供できます。私たちは、オープンプラットフォーム全体での人間のコラボレーションというこの行為は、個人の成長と私たちの集合的な未来にとって不可欠であると信じています。
Fedora、Ubuntu、GCC、Python、OpenCV、KDEなど、他にも多くの組織があります。これらの組織に所属する多くの人々は、使命/ビジョンが自分の考えや、社会全体に還元するのに最適であると彼らが信じている方法と一致しているという理由だけで働いています。
組織を選択すると、 FirefoxはMozillaの主要なプロジェクトの1つであり、MDN(Mozilla Developer Network)、Firefox OS、Personaなどの他の多くのプロジェクトから選択または貢献できる複数のプロジェクトがあります。あなたの選択には、貢献を始める方法に特化したウェブページ/ウィキページがあるかもしれません。Mozillaには、Mozillaのために何ができるか[1]と呼ばれるものがあります。など。だから、あなたが始めることができるようなものを探してください。次のステップは、いくつかのバグを探し、必要なソースコードを取り、特定の開発マシンでシステムを構築し、最後にパッチを送信することです。
主な違いオープンソース組織のコードベースと大学のデータ構造または同様のコースで使用されるコードベースとの間の作業は、コードベースのサイズです。どのコンテンツがどこにあり、どのコードセグメントが何をしているのかを見つけることが大きな課題です。最初は、プログラミング言語を知っているかもしれませんが、コードベースを理解するのは難しいかもしれませんが、苦労する価値はあります。あなたは、あなたが正しい方向に進んでいて、あなたが正確に何をしているのかを知っているなら、あなたを助けるために少し休みを取るかもしれないプロセスに沿ってあなたを助ける素晴らしい人々を持っているでしょう。
はい。オープンソースプロジェクトに貢献するには、コードベースに貢献するためにジャンプする場合に備えて、少なくとも1つのプログラミング言語に関する十分な知識が必要です。これ以外に、各プロジェクトのドキュメントを読み、git、mercurial、svnなどの多くのバージョン管理システムの1つを理解するための、かなり優れた読み取りスキルと忍耐力
私の知る限り、そこにあります。」 s「正しい」アプローチとは呼ばれません。特定のソフトウェアを使用し、特定の機能をこのソフトウェアに統合することで生活が楽になるため、個人からのオープンソースの貢献がもたらされることがあります。そのため、彼らはそれを統合して元のコードに貢献します。基本的に、人によって要件が異なり、必要に応じてソフトウェアをカスタマイズします。他の人の助けになることを期待して変更を提供する人もいれば、スタンドアロンの個別のプロジェクトとして取り上げることを好む人もいます。始めるための最良の方法は、プロジェクトを選択し、それに情熱を注ぐことです。
eg。TorブラウザはFirefoxから派生したプロジェクトであり、匿名性を提供するようにカスタマイズされ、スタンドアロンプロジェクトに変換されています。
何を選択する場合でも、何らかの方法で使用するものでなければなりません。あなたがしていることと、ソフトウェアがどのように機能するかを知っているので、コードの動作を実際の動作に関連付けるのが簡単になります。
オープンソースの貢献の世界は
- Linux / Unixベースのシステムの使用を開始します。
- ターミナルに固執し、そこから作業を楽しんでください。
- 基本を理解する、man、grepなどのコマンドラインのものと他のすべてのコマンドにはmanファイルがあります。 (man file = manual、grepなどの特定のコマンドの使用方法を知りたい場合は、 `man grep`を実行してください)
- 優れたエディター。 vim v / s emacs warは開発者の間で常に存在しますが、Sublime Text / Notepad ++を使用することもできます
オープンソースへの貢献は、開発者としての驚くべき感覚です。あなたが書いたコードの行は、ソフトウェアを使用している何百万もの人々の生活に影響を与えています。
この時代に登場するもう1つのことは、ファンボーイです。私はあなたと経験を共有します。 、Mozillaの寄稿者である私たち、エバンジェリスト[2]が直面する質問は、「Chromeを使用しています!Firefoxは好きではありません」という頑固な人々です。
かっこいいですが、まったく問題ありません。 Firefoxを構築するのは、私たちが大好きで、ここでの主な目的は、実際に使用するブラウザではなく、Firefoxを使用している場合は気に入っていますが、主な目的はオープンWebにすることです。
無料、オープン、安全、プライベート、そして何よりも私たちのWebです。
Mozillaコミュニティでお会いできるのを楽しみにしています。
[1] Mozillaで何ができるか [2] タスクフォース/エバンジェリズム