オープンソースのPHPアプリケーションをリリースするためのベストプラクティス


10

私は生活のためのPHP開発者ですが、これまでにオープンソースプロジェクトに取り組んだり、貢献したりしたことはありません。

私は自分用のCMSを開発しています。私は作業中のプロトタイプを持っていて、準備ができたら(おそらく数か月後)、これはPHPコミュニティーが興味を持つものになると思います。

私はかなり自信のある開発者ですが、特にオープンソースの問題に関して、私の知識が不足している領域があります:

  • プロジェクトを宣伝したり、共同作業に興味を持つ可能性のある他の人を見つけたりするための最良の方法は何ですか
  • 私のCMSはCakePHPを使用しており、基本的にはその上にレイヤーとして配置されています。私はGitHubでCakePHPプロジェクトを分岐しました。以前にバージョン管理システム(SVN)を使用したことがあるのですが、GITはかなり新しいので、「最善の方法」で確実に実行したいと考えています。
  • ライセンスの問題を知るにはどうすればよいですか?私のアプリに最適なオープンソースライセンスはどれですか?また、私のプロジェクトは他の多くのオープンソースプロジェクトから借用しています。たとえば、コードのセクション(大幅に変更しました)がありますが、著作権/ライセンスに関する通知がありました-私の義務は何に関するものかわかりませんこれらを保持する

これらは私が持っている質問のほんの数例ですが、私にとって役立ついくつかのリソースがそこにあるに違いないと感じています。開始するのに最適な場所はどこですか、これらの問題をカバーする最高のコミュニティ/サイトは何ですか?私は周りを見回しましたが、多くを思い付くことができませんでした...


ライセンス関連についていくつか良い答えがありましたか、他の質問についてのアイデアはありますか?おそらくこれをいくつかの投稿に分割する必要がありました!
user916336

回答:


5

私は弁護士ではありませんが、これを試してみます。

CakePHPはMITライセンスの下でライセンスされてます。つまり、基本的には、ライセンスがそのソフトウェアとともに配布されているという条件で、プロプライエタリソフトウェア内での再利用を許可しています。それは多くのオープンソースプロジェクトの下でリリースされたGPLライセンスと互換性があります。

「借用」する他のプロジェクトについては、それらのライセンスタイプを確認し、相互の互換性と、使用することに決めたライセンスタイプを確認する必要があります。それらのいずれかGPLライセンスを使用している場合、ライセンス状態の条件として、GPLでリリースする必要もあります。

GPLは一般的に使用される最初のコピーレフトライセンスです。つまり、派生著作物は同じライセンス条項の下でのみ配布できます。

...

GPLは一般的に使用される最初のコピーレフトライセンスです。つまり、派生著作物は同じライセンス条項の下でのみ配布できます。

私の提案は、GNU GPL v3ライセンスの下でリリースすることです。これにより、作品に対する適切な所有権が与えられ、他の人が商用プロジェクトとオープンプロジェクトの両方で使用できるようになります。ただし、「借用した」プロジェクトのライセンスには互換性がなければならないことに注意してください


GitとGithubのベストプラクティスについてgit submoduleは、を使用して他のプロジェクトを独自のライブラリに含めます。自分の作業として作業を再コミットしないため、ファイルを直接含めるよりも優れています。

$ git submodule add git://github.com/cakephp/cakephp.git vendor/cake-php
$ git submodule update --init

gitサブモジュールも私にははっきりしていません。たとえば、私のプロジェクトではjQueryとjQuery UIを使用しています。GitHubのソースが多くのファイルとフォルダーに分割されているため、サブモジュールとしてどのように含めることができますか。私も使用しているHTMLPurifierで同じことをしました。私が必要とするファイルは1つのサブフォルダーにありますが、gitサブモジュールでは、プロジェクトを不必要に大量にする必要のない余分なものを大量に含めるか、他の人の作業を次のようにコミットするかのどちらかしか選択できないようです私自身!

ライセンスの性質上、必要なファイルのみを分割して含めることはできません。パッケージ化されているので、プロジェクト全体を含める必要があります。git submodule add git://github.com/jquery/jquery.git public/vendor/jquery
adlawson、2011

他の人はこれをしていないようですが、Wordpressを使用すると、jQueryから必要な縮小ファイルをフォルダーにスタックして

1
WordPressはバージョン管理にSVNを使用します。彼らのGithubリポジトリは単なるミラーです。私の知る限り、SVNには「サブモジュール」機能がないため、再コミットする以外に選択肢はありませんでした。別のメモで、WordPressをベストプラクティスの例として使用しないでください。
adlawson 2011

私が何かを逃していない限り、jQueryの場合にこれを行う方法はないようです。彼らのリポジトリgithub.com/jquery/jqueryを見てください。それは数百の個別の.jsファイルとビルドスクリプトなので、jquery.comからコピーをダウンロードして自分でコミットしないと、プロジェクトに含めることができません。 、または私は間違っていますか?

0

エリックS.レイモンドのこのガイドをチェックしてください(この本の残りの部分も読む価値があります)。

個人的には、私はそれについてあまり心配しません-優れた無料の汎用CMSがすでにたくさんあるので、あなたはこれから直接お金を稼ぐつもりはありません。バイラルライセンス(通常はGPLまたはそのさまざまな)に基づくコードを借用しない限り、可能な限り最も自由なライセンス(MITまたはBSD)を使用することをお勧めします。その場合、何らかの方法でそのライセンスを強制されます。

使用しているライブラリとスニペットのすべてのライセンスをよくお読みください。コードの再配布と変更が許可されているかどうか、派生コードにそれらを含める必要があるかどうかを明記する必要があります(ほとんどのライセンスで必要です。許可されていない場合でも、最低限、彼らの仕事のための元の著者)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.