10

最近、Github でホストされている、1 人の開発者によって作成された素敵な gem を使用しました。

私の作業中に、いくつかの改善を加えて、かなり大幅に変更する必要がありました。プロジェクト固有のものもあれば、gem 固有のものもあれば、スタンドアロンの改良点もありました。

gem 固有の改善 (バグ修正など) のために、リポジトリをフォークし、修正を適用して、プル リクエストを作成しました。

しかしその後、スタンドアロンの改善が、元の gem の並行して進行中のフォークのカテゴリに分類されることに気付きました。明確にするために、以前に見たことがあるでしょう。Twitter Bootstrap フレームワークで動作するように、元の gem のビューを書き直しました。それで、私はこれを Github にもプッシュしましたが、もちろん、プル リクエストは作成しませんでした。代わりに、README を更新して、違いを説明し、gem の元の作成者のクレジットを記載しました。

私の質問は、この場合、gem が他の誰かが使用したいものであり、rubygems などで公開されると仮定すると、他に何をすべきかということです。単純に .gemspec を編集して元の作成者の情報をそのまま維持し、作成者/電子メール フィールドに私の情報を追加し、その他の変更点をすべて書き直すべきですか? それとも、.gemspec を完全に書き直す必要がありますか?

また、元のディストリビューションにリモート テスト フレームワーク ( travis.ymlなど) が配置されている場合、これらを削除するか、そのままにしておく必要がありますか?

通常、変更/再作成する必要がある他のファイルはありますか?

ここまで更新してきました

.gemspec
README.md
CHANGELOG.md
lib/libraryname/VERSION.rb #called as a constant in .gemspec

最後の質問は、それ自体で別のボーナス質問を提起します.バージョニングは並行ディストリビューションでどのように機能しますか?

4

1 に答える 1

8

バグ修正/フォークを適切に処理したようですね。

gem のライセンスによっては、yourname-originalname としてリリースしてください。

コミュニティ全体が関心を持つ可能性のある大幅な変更を行いました。これは、フォークとリリースの標準として受け入れられています。

おまけの質問も解決します。リリースに必要なものは何でも変更してください。これは基本的に新しいプロジェクトです。もちろん、元の開発者の功績を認めることはまだ良いです:)

于 2013-02-11T20:03:15.503 に答える