GNU 開発に足を踏み入れるにはどうすればよいでしょうか?
-
18-09-2019 - |
質問
いくつかの GNU ソフトウェア プロジェクトに貢献し始めたいと考えています。数週間前から特定のプロジェクトを考えているのですが、いつ、どのように始めればよいのかわかりません。
次のことをしっかりと守らなければならないと感じています。
- プログラミング言語
- gcc
- gdb
- 作る
- emacs
- アプリケーション自体
- パッチ適用
- CVS
- 等
だから私はそれらすべてをできるだけ上手に学ぼうとしています。
しかし:貢献する前に、リストされているすべてのプログラム/ツールを本当に習得する必要があるのでしょうか、それとも「ついでに」すべてを学ぶために、できるだけ早くプロジェクトに参加するべきでしょうか?些細な問題については GNU プログラマーから助けてもらえるでしょうか、それとも「初歩的な問題」に対処する時間がないだけなのでしょうか?助けていただければ幸いです!
ではごきげんよう、
イノ
追記:ドキュメンタや IRC サポーターとしてではなく、開発者として参加したいです :)
[編集]
これまでご回答いただきありがとうございました。
アプリケーションはすでにコンパイル、デバッグ、実行されているので、もう問題はありません。小さなことがいくつかあり、仕事に就くことができません (IRC のアドバイスに従うと思います)。
C (およびフリー ソフトウェア/オープン ソース ソフトウェア全般) に精通するためにプロジェクトに参加したいと思っています。私はプログラミングを始めたときに C をやっていて、ずっと好きでしたが、プロの環境で C を扱う機会はありませんでした。
私は 5、6 年前からプログラミングでお金を稼いでいるので、もうまったくの初心者ではありません ;)。
解決
最善の方法は、問題のプロジェクトのIRCチャンネルに参加することですあなたを助けます。
具体的には、Monoプロジェクト(Linux上でC#が)自分のIRCの部屋の中の本当にの開発者に優しく、そして手伝いたい新しい人々と非常にフレンドリーで、患者になります。
他のヒント
、その後、私はちょうどにいくつかの簡単なバグ修正やあなたが扱うことができると思う機能、およびダイビングを見つけ、プロジェクトへの参加をお勧めします。良いコミュニティが助けることができるようになりますソース管理の詳細は、あなたとあなたが情熱的で助けて喜んでいる場合はバイナリをビルドします。多くてもチュートリアルは自分のプロジェクトでこれを行う方法を具体的に実証している可能性があります。
あなたはまだプログラミングの基本を理解しようとしている場合は、コードベースへのコピーをチェックアウトして傷つけることはできないものの、、あなたはおそらく、基本を学び、最初の個人的なプロジェクト/チュートリアルを構築する上で、あなたのフォーカスを維持する必要があります自分のマシン上での実験。
また、CVSが使用されている多くのVCS(バージョン管理システム)のうちの1つにすぎないことに注意してください。 SVNとGitは他の二つの人気のオプションがあり、それらはすべて-the主なものは、バージョニング価値のあるものを作成する方法を知っていることです学ぶことは比較的容易です。 ;)
あなたが貢献して喜んでであること素晴らしいです!一般的に、あなたは差分パッチを使用することを学んで、お好みのテキストエディタを使い始めることができ、そしてどのような言語が使用されています。また、ソースを取得するために(など転覆、CVS、gitの、など)バージョン管理システムを使用する必要があり、すべてではない複雑な - 私が見たほとんどのプロジェクトは、あなたがコミット与える前にパッチを提出したいですアクセスます。
修正し、貢献して起動するシンプルなものを探してください。これは、他の開発者は、特に彼らはプロジェクトのウェブサイトに記載されている要求を持っていない場合でも、あなたが得意だ何を告げる、それらを求めるかもしれない、と助けて欲しいものを見ることができます。多くの場合、ソフトウェアを使用して改善する必要があるかについて、あなたに良いアイデアを与えるだろうが、あなたは異なる優先順位を持つ他の開発者と忍耐が必要な場合があります。
主要なGNUプロジェクト(GCC、GDBは、Emacsなど。)のいずれかに意味のある貢献をするために、あなたは本当に地域の専門家である必要があります。これらはすべて、初心者のためにあまりにも多くの範囲を提供していない成熟したプロジェクトです。
あなたは一般的に無料のオープンソースソフトウェア(FOSS)プロジェクトについて尋ねている場合は、、そして、あなたが言及特定のツールのいずれかを知っている必要はありません。もちろん、projの電気ショック療法場合(たとえば)洗練されたEmacsのカスタマイズを開発することです、 あなたは、Emacsを知っている必要があります。すべてのプロジェクトのためには、プロジェクトで使用するバージョン管理システムを使用する方法を知っておく必要があります。
FOSSプロジェクトに貢献するための一番下の行は深くして興味のある1、あなたが貢献する技術的なノウハウを持っているを見つけることです。これらのいずれかが欠落している場合、あなたにもアイデアを忘れることがあります。
私は、最小値は、あなたが使用しているプログラミング言語およびあなたも貢献することが求めていたアプリケーションの縦横の目的を明確に理解するだろう貢献することを学ぶ必要があるだろうと思われると思います。
あなたはおそらくソースツリーに直接ではなく、最初のインスタンス内のコードにパッチや修正案を提出してすることがあります。少なくともソースからアプリを作り、あなたがそれらを提出する前に変更を確認するためにそれを実行することができるようにそれはいいだろうが、それは本当にあなたが実行することができますだけであること、メイクファイル自体を理解する必要が意味するものではありません作ります。