オープンソースプロジェクトに参加してお金を受け取る方法は?

こんにちは、Habrahabr!

多くの開発チームがコンテストやアクセラレーターに参加しています。 賞品を獲得するか、資金を受け取ります。
通過する列車に乗る時間がない場合はどうしますか?

いくつかのオプションがあります。 それらの1つは、プロジェクトを開始し、それが離陸するのを待つことです。その間、コードの作成とプロジェクトの宣伝、コンテスト、アクセラレーター、投資家との交渉で時間を無駄にします。 成功した場合、インフラストラクチャを上げる専門家を見つける必要があります。 サイト、プログラマ、データベース、クライアント用の多数の仮想サーバーまたは実サーバー。 その結果、多くのプロジェクトがGitHubや他の同様のリソースに飛ぶことはありません。

今日はお金が支払われている成功したプロジェクトのリストを表示し、個人的にはより興味深いものを選択し、それほどではないにしてもあなたの仕事の報酬を得ることができます。

プロジェクトの完全なリストは次のとおりです。
tip4commit.com/projects

追加のものは次のとおりです。
prime4commit.com/projects

たとえば、OpenBazaarプロジェクトを選択します。 それはすべての店で役立ちます。 彼らは彼のためによく支払います。 サーバー側はpythonにあります。 このプロジェクトは初期段階にあり、プログラマーのグループはまだ結成されており、アルファ版から抜け出しつつあります。

統合サーバー上で、コード生成プロセスの詳細を確認します。
travis-ci.org/OpenBazaar/OpenBazaar/builds/36072087

このプロジェクトでは、コードスタイルとカバレッジのテストを使用していることがわかります。 統計をすぐに見ることができます:
coveralls.io/builds/1249548

コメント行を作成してスタイルを編集するという簡単な作業で十分です。 そして、そのような仕事の価格は小さくありません。
場合によっては、1行の固定コードに対して1ドルです。

tip4commit.com/github/OpenBazaar/OpenBazaar

さて、プロジェクトの一部になると主張するコードの要件の内容を理解しましょう。
github.com/OpenBazaar/OpenBazaar/blob/master/CONTRIBUTING.md

すべてがかなりリアルです。 しかし、これには大企業向けのビジネスはありません。 大規模および中規模の会社のプログラマーの給与と比較すると、1つのパッチの価格はまだかなり小さいためです。 パッチは少し時間がかかりますが、それを受け入れるには数時間、時には数日かかることがあります。

作業を最適化したい


Pythonの場合、Pylint統計分析ツールを使用できます。 使い方は簡単です。 あなただけを入力する必要があります:

pylint < >.py

そして、エラー、スタイルの変更などを修正するために注意を払うべき行がすぐにわかります。

このパッケージのサンプルを使用して、コードとアドオンを自動的に解析することもできます。 このようにして、カバレッジテストやその他のシリアル変更のコメントに独立してパラメーターを追加するスクリプトを作成できます。 このようなスクリプトの例は、 1、2、3です。

一般に、プログラマのワーキンググループを編成することもできます。 無料の仮想サーバーを入手: cloud.lab.fi-ware.org
これはTelefonicaによるヨーロッパのプロジェクトです。 このクラウドでは、静かにIPアドレスが無料で提供されました。
最初は、これはかなり良い解決策です。 後で、より独立したものに移動できます。

無料のコード分析ツール:pmccabe、メモリテスト(DUMA / DML / VALGRIND)から開始できます。 Pythonの場合、これはpylintです。
ウィキペディアには、同様のツール に関する記事全体があります

テスト、コンパイラ、スクリプト、静的および動的コード分析用のツール、有料サービスのライセンス、コベリティ、Klocworkなどの作業用ツールが蓄積されている場合、PVS-Studioを検討できます。 これらはすべて、このようなクラウドサーバーに保存できます。

GitHubと実際に使用されているgitコマンドの動作の詳細は、Habrで複数 説明されています。

ほぼそのようなGitHubとの対話コマンド

リポジトリのコピー


git clone git://github.com:ユーザー名/ OpenBazaar.git
cd OpenBazaar
git remote add Upstream git://github.com/OpenBazaar/OpenBazaar.git
git fetch上流
git checkout -b feature#「feature」という新しいブランチを作成し、アクティブにします

さて、良いことをしてください(そしてそれをコミットで表現しましょう)。

git push origin feature#現在のブランチの変更を元の機能ブランチにアップロードします

複数のパッチを1つに圧縮します(それぞれ、1つのPRに対してのみ支払いますが、プロジェクトの作成者または所有者の要求に応じてこれを行う必要がある場合があります)


git clone git://github.com:ユーザー名/ OpenBazaar.git
cd OpenBazaar
git remote add Upstream git://github.com/OpenBazaar/OpenBazaar.git
git fetch上流
git checkout機能
git rebase -i master

= squash =-テキストファイルのあるウィンドウがこの場所で開きます。 行の最初の単語をスカッシュに置き換えた場合、ファイルを書き込んだ後、この行のパッチは前のパッチと結合されます(スカッシュがない場合)。 したがって、複数のパッチを1つに結合できます。

git push -f origin機能

メインリポジトリとの自動同期


git checkout master
git remote add Upstream git://github.com/OpenBazaar/OpenBazaar.git
git pull-アップストリームマスターのリベース
git checkout機能
git rebase master

=競合を修正=-gitが話しているファイルをテキストエディターで開きます。 行 '<<<'を見つけて、2つのファイルのパーツを1つにマージします。

git push -f origin機能



その後、リポジトリでテストが自動的に起動します(依存関係のインストールとコードスタイルチェックを使用したコンパイルですが、静的および動的な分析と、引数と戻り値の説明を含むコメントの自動追加を追加したいと思います)。



静的アナライザーで検出されたエラーの資金を転送する例を次に示します。
tip4commit.com/projects/728/tips

ご清聴ありがとうございました。
githubコードへのリンク: github.com/OpenBazaar/OpenBazaar

Source: https://habr.com/ru/post/J237977/


All Articles