優れたオープンソース プロジェクトの 5 つの特徴

優れたオープンソース プロジェクトの 5 つの特徴

オープンソースへの貢献は、今日の技術分野で最も求められているスキルの 1 つです。人々は、オープンソース テクノロジを使用する利点と、これらのプロジェクトに参加するメリットを認識しています。





オープンソース開発は、ソース コードの共有と共同改善に基づくアプローチです。





Photoshopでエッジを滑らかにする方法
今日のメイク動画

インターネット上には何千ものオープンソース プロジェクトがあります。オープンソース プロジェクトには、ソーシャル メディア アプリケーション、プロジェクト管理ソフトウェア、および技術文書があります。では、どのように正しいものを選ぶのでしょうか?





オープンソース プロジェクトで何を探すべきか

オープンソース プロジェクトに関する誤解の 1 つは、コードを提供する必要があるというものです。コードは不可欠ですが、ドキュメンテーション、プロジェクト管理、コミュニティ アドボカシーなどの他の領域には、重要なコードを含めることができます。 オープンソースへの貢献 .

オープンソース プロジェクトに携わったことがある人なら誰でも、そのようなプロジェクトの威力について語ります。利点には、キャリアに影響を与えるイノベーション、スキルアップ、生産的な関係が含まれます。



オープンソースに時間をかける価値があるかどうかを判断するには、次の特性を考慮してください。

1. ライセンスはありますか?

すべてのオープンソース プロジェクトにはライセンスがあり、通常は許可ライセンスまたはコピーレフト ライセンスのいずれかです。寛容なライセンスは、オープンソース プロジェクトでは一般的です。ソフトウェアの修正版の使用、配布、または販売を制限するものではありません。





ほとんどのオープンソース プロジェクトには、MIT、BSD、Apache 2.0 などの寛大なライセンスがあります。 MIT ライセンスは、ソフトウェアを無料で共有および配布し、無保証です。

  GitHubで撮影したMITライセンスの画像

General Public License、Mozilla Public License、Affero General Public License などのコピーレフト ライセンスには、さらに制限があります。





permissive ライセンスでは、貢献者はオープンソース ソフトウェアを変更して配布することができます。これは、開発者がソース コードを変更して新しいソフトウェアを作成し、それを無制限に使用または配布できることを意味します。変更されたバージョンは、元のソフトウェアと同じライセンスの下にあります。

ただし、2 つのバージョンを簡単に識別できるように、変更されたバージョンには元のバージョンと同じ名前は付けられません。また、ライセンスにはすべての人を含める必要があり、誰に対しても差別してはなりません。

再配布されたソフトウェアを受け取る人は誰でも、元のコードの所有者と同じライセンスの権利を持っている必要があります。

フリー ライセンスは、ソフトウェアを特定の配布チャネルやテクノロジに限定しません。オープンソース ソフトウェアと一緒に配布されるソフトウェアと依存関係は、必ずしもオープンソースである必要はありません。 d-source およびその他の有料テクノロジは、制限なくオープンソース ソフトウェアを使用します。

2. ソースコードは共有されていますか?

すべてのオープンソース プロジェクトには、ソース コードを自由に共有できるライセンスがあります。この権利は、寄稿からコンパイルされたコードにも適用されます。プロジェクトは、そのソース コードをすべての関係者が制限なく利用できるようにする必要があります。

ソース コードが公開プラットフォームで利用できない場合は、要求に応じて利用できるようにする必要があります。ソース コードを共有しないプロジェクトは、オープン ソース プロジェクトではありません。

フォトショップはあなたのリクエストを完了できませんでした

ただし、ライセンスはソース コードの再配布を制限し、変更された形式の再配布のみを許可することができます。変更されたコードには、元のプロジェクトと区別するために別の名前またはバージョンを付けることができます。

3. プロジェクトには貢献者のためのガイドラインがありますか?

すべてのオープンソース プロジェクトには、貢献者ガイドが必要です。多くの場合、CONTRIBUTORS または CONTRIBUTORS.md という名前のプロジェクトのルート フォルダーにあります。コントリビューター ガイドには、プロジェクトにコントリビュートする方法に関する簡単な説明が含まれています。

このガイドでは、新しいコントリビューターがフォークし、問題を提起し、アップストリーム リポジトリにコントリビューションを送信する方法を示します。コントリビューター ガイドは、マージ中のブランチ間の競合を減らすためにプロジェクトがどのように機能するかをコントリビューターに示すのに役立ちます。

以下は、AsyncAPI オープンソース プロジェクトのコントリビューター ガイドラインの例です。 GitHub :

  GitHub で作成された寄稿者ガイドの例を示す画像

4. アクティブなコミュニティはありますか?

イノベーションは、オープンソース プロジェクトが非常に人気になった理由の 1 つです。オープンソースは、技術革新を促進するアイデアを生み出すために、有能で熱狂的なコミュニティを結びつけます。

強力なコミュニティは、明確なコミュニケーション、コラボレーション、および製品のマーケティングを保証します。アクティブなオープンソース コミュニティは、個々のプロジェクトよりも優れた結果を生み出し、イノベーションを迅速に拡大します。

コミュニティがアクティブかどうかを判断するには、そのソーシャル チャネルを調べます。ソーシャル メディア、Discord、または Slack アカウントでのアクティビティを監視することから始めます。情報とリソースが自由に流れる活発なコミュニティで働く方がよいでしょう。

オープンソースの活発なコミュニティは、3 つの方法でイノベーションを促進します。コミュニティは、現在のテクノロジの傾向に対応し、頻繁なリリース サイクルを持ち、ソフトウェアの大規模な再配布を行っています。

Windows10で管理者パスワードを削除するにはどうすればよいですか

すばらしいコミュニティを持つオープンソース プロジェクトの例は、Facebook の Javascript フレームワークである React です。

React は 9 年でバージョン 18 に成長しましたが、同様のフレームワーク Vue.js はまだバージョン 3 のままです。どちらのフレームワークも 10 年未満です。 React の活発なコミュニティは、Angular などの他の人気のある JavaScript フレームワークに影を落としています。

アクティブなコミュニティでオープンソース プロジェクトに取り組むのは楽しいものです。また、技術のトレンドや最新情報に遅れをとることはありません。を見つける 最高の Discord 技術コミュニティ は、オープンソース ポートフォリオに加えるのに最適です。

5. メンテナーは活動的で気配りがありますか?

オープンソース プロジェクトでは、メンテナーは、プロジェクトのリポジトリ内のファイルを変更する権限を持つ貢献者です。メンテナーはプロジェクトを担当し、プロジェクトへの貢献がその目的に沿っていることを確認します。

優れたオープンソース プロジェクトでは、メンテナーが最もアクティブです。彼らはコミュニティ チャネルを担当し、ディスカッションを主導し、寄稿者の質問に答えます。メンテナーは最新情報を提供し、コミュニティでのコラボレーションを促進します。

プロジェクトにアクティブなメンテナーがいるかどうかを判断するには、GitHub などのリモート リポジトリを調べます。アクティブなメンテナーはコミュニケーションが上手です。プル リクエストに対応し、問題を設定し、寄稿者の質問に対処します。

ソーシャル チャネルに投稿されたクエリに応答する頻度をチェックして、アクティブなメンテナーを特定します。 3 か月のコミュニケーション ギャップがあるリポジトリは、適切なプロジェクトではありません。

優れたオープンソース プロジェクトの特徴

他の多くの特徴によって適切なオープンソース プロジェクトが定義されますが、重要なのは、ライセンスの種類、コミュニティの性質、ソース コード、アクティブなメンテナーです。

上記の特徴を持つオープンソース プロジェクトは、イノベーション、スケーリング、マーケティングの世界クラスのプロジェクトを刺激します。また、優れたオープンソース コミュニティがテクノロジのトレンドに遅れずについていき、コラボレーションと多様性を促進しています。

おそらく、これまでの人生で少なくとも 1 つのオープン ソフトウェア製品を使用したことがあるでしょう。そこから始めてみませんか?この記事に記載されている特性を利用して、自分のスキルとニーズを補完する最高のプロジェクトを確実に手に入れてください。