|
オープンソースは、分散型モデルとコミュニティの貢献を使用して開発されたソフトウェアを通じて、コミュニティと業界の問題にオープンに取り組む、活気のある有益なエコシステムです。 このエコシステムの爆発的な成長に伴い、多くの開発者が参加して新しいオープンソースプロジェクトを構築したいと考えています。問題は、どうすればこれを成功させることができるかということです。 この記事では、オープンソースプロジェクトのライフサイクルと構造を明らかにします。オープンソースプロジェクトの内部的な仕組みを概観し、私の個人的な経験に基づいて、成功し持続可能なプロジェクトを構築する方法を紹介します。 オープンソースの概要Open Source Initiative (OSI) は「オープンソース」の正式かつ詳細な定義を提供していますが、Wikipedia では次のようにわかりやすく要約されています。
オープンソースソフトウェアは通常、インターネット上で公開されているコードを持ち、複数のチームまたは個人によって開発されます。そのため、地域、文化、技術的背景が異なる人々とのコラボレーションが求められ、多くの場合、遠隔地でのコラボレーションが必要になります。 オープンソースプロジェクトの構成オープンソースプロジェクトは、人体のように、システム全体を構成する複数の構造から構成されています。それらは、人(ミクロ)とドキュメント(マクロ)の2つの分野に分かれていると思います。 部門1:人事通常、オープンソース プロジェクトには次のグループの人々が含まれます。
新しいプロジェクトを構築する準備をする際には、上記のリストにある各グループを考慮する必要があります。それぞれについて、どのような計画を立てていますか?
プロジェクト開始時にこれらの問題をすべて解決する必要はありません。しかし、適切な基盤を築き、将来の拡張プロジェクトが確実に成功するように、早い段階で検討しておくことは賢明です。 ブランチ2: ドキュメントオープンソース プロジェクトには通常、プレーン テキストまたはマークダウン形式の次のドキュメントが含まれます。
さらに、プロジェクトには通常、トピック、サポート、コラボレーションに関する Web ページがあります。 一般的には次のようなものが含まれます。
ほとんどのプロジェクトでは、オンライン チャットを通じてコミュニティ メンバー間の対話や交流のためのコミュニケーション チャネルも提供しています。 ライセンスライセンスは、オープンソースプロジェクトを立ち上げる前に考慮すべき、おそらく最もシンプルでありながら最も重要な基準です。ライセンスは、プロジェクトのソースコードやその他のコンポーネントの使用、変更、共有を許可する条件を定義します。 ライセンスには多くの法的用語が含まれており、多くの人が十分に理解していないことがあります。私はchoosealicense.comを利用しています。このサイトは、対象コミュニティ、コードを使用している人からパッチを受け取りたいかどうか、あるいは他の人がコードを使用したとしても改良点を共有しないかどうかなどに基づいて、ライセンスを選択するのに役立ちます。 画像提供: (Bolaji Ayodeji、CC BY-SA 4.0) これは、MITライセンスとGNU GPLv3ライセンスのどちらを使用するべきかについてのガイダンスです。また、コミュニティに貢献する人々には、コミュニティが推奨するライセンスを使用することを推奨しています。この表には、他のライセンスも利用可能であることも記載されています。テキスト版はchoosealicense.comで入手可能で、より詳細な情報へのリンクも含まれています。 オープンソースプロジェクトを作成する13の段階ここで重要な質問は、オープンソース ソフトウェア プロジェクトをどのように開始するかということです。 オープンソース プロジェクトのさまざまな段階についての私の理解は次のとおりです。
プロジェクトの進行に伴い、様々なコンポーネントを評価することが重要になります。これにより、評価と将来の開発戦略に活用できるデータが得られます。 今すぐプロジェクトを始めましょう!この記事が、あなたが検討しているプロジェクトを前進させる一助となれば幸いです。 これをガイドとして使用し、一流のオープンソース ソフトウェア プロジェクトを構築する際に私が見逃したギャップを埋めることができます。 |
オープンソースプロジェクトを成功させるための重要なヒント
関連するおすすめ記事
-
このクールなオープンソース SSH ターミナル ツールは、Xshell よりもさらに優れています。
-
国産オープンソースKylin 19.10.1システムリリース:安定性が継続的に向上
-
Linux コンピューターにクローズドソース ドライバー、メディア コーデック、その他の禁止ソフトウェアをインストールするにはどうすればよいですか?
-
FastDFS を放棄して、Spring Boot は MinIO を統合して分散ファイル サービスを実装します。すばらしいですね。
-
オープンソース コンポーネントを再パッケージ化して、インデント ガイドや子ノードの遅延読み込みなどの機能を Antd テーブル コンポーネントに追加するにはどうすればよいですか?
-
Oracle Lustre 2.0 では純粋なソフトウェア サポートが終了します。