最近、「こんなのコミットしちゃっていいのかな...」とか「本当に勝手に修正しちゃって大丈夫なのかな...」とか悩んでいる人を見かけるのですが、そんな風に悩む前にコミットして欲しいと思います。良いとか悪いとか、使うとか使わないとか、それは周りの人やユーザーが決めれば良いと思います。コミットせずにしまい込んでしまったら、何かが起きる可能性はゼロです。
そうは言っても、あまりこういうのに慣れていない人にとっては、色々と不安もあるようなので、それを解消する為にちょっとまとめてみました。
コミットを恐れないで欲しい
どうも、コミットを「かなり重大な儀式」のように感じている人が多い気がするのですが、もっと気軽に、言うなれば「Twitterで発言する」ぐらいの感じで捉えてもらいたいと思います。別にどんな小さなコミットでも良いし、何連続でコミットしようが、誰も咎めたりしません。
実際、僕も最近はAS3UnitForAsyncの開発で一人で何連続もコミットしてましたし、nium先生もバックアップを取る感覚(本人談)でガンガンコミットしています。
失敗を恐れないで欲しい
上の続きになりますが、人間に失敗はつきもの。コミットの失敗を恐れないで欲しいです。別に、失敗したら直せば良いのです。例えば僕も、AS3UnitForAsyncへのコードの変更を、間違えてAS3Unitの方にコミットしてしまいましたが、その後のコミットで何事も無かったかのように元に戻しました。
完成度を気にしないで欲しい
「コードが汚いから...」とか「後で整理してから...」とか、そういう理由をつけて公開してくれないのはとても残念なことです。コミットした後で、ゆっくり直したり整理したりすればいいんじゃないかなーと思います。あわよくば、協力者やアドバイスが得られるかもしれません。
僕自身も、swfassistとかThreadとか、作りかけだったり、勉強用に書いたFlash3DとかByteCodeDisassemblerとかHaskellHackathonとか、酷かったりするコードでもとりあえずコミットしてます。コミットしておけば、誰かが使ってくれたり、機能追加してくれたり、参考にしてくれたり、といったフィードバックを得られる可能性があります。
最近では、Flex用のGeniusFrameworkというフレームワークをコミットされた方が居まして、早速巷のFlexerの間で話題になったりしました。
言語にとらわれないで欲しい
Spark project は、Flash関連であれば、FlexだろうがAIRだろうがFlashの拡張機能であろうが、更にはCやC++、yasnippetでも歓迎です。
実用性を気にしないで欲しい
どんなものでも、誰かの役に立つ可能性は十分にあります。例えば、イエイリさんがコミットしてくれた、「秀樹還暦までの日数を返すクラス」も、「秀樹が還暦するまでの日数を知りたい人」、「秀樹が還暦するまでのタイマーを作りたい人」、「ActionScriptで日付演算をするにはどうしたらいいか分からない人」等にとっては大いに役立つ可能性があります。
他人のコードの修正を怖がらないで欲しい
少なくとも僕は、「素敵な機能を誰か追加してくれないかなぁ」とか「誰かもっと素敵なコードに変えてくれないかなぁ」とか「誰かバグ修正してくれないかなぁ」とか「誰かテスト書いてくれないかなぁ」とか思いながらコミットしてます。その裏返しとして、人様のバグを修正してみたり、勝手にテスト書いて、勝手にチケット切って、勝手にそれを修正したりとかしてます。
もし不安が残るなら、とりあえずブランチを切ってそこにコミットして、「こんなん作ってみましたー」と元のコミッターに声を掛けるのもいいと思います。きっとうまくマージしてくれることでしょう。僕の場合、swfassistをTamarinで動かすためのパッチを作りたいという方が現れたので、tamarinというブランチを切ってもらって、そこにコミットしてもらうようにしました。
(ブランチとは: 現在のバージョンの別バージョン、のような意味。Subversion的には、現行ソース(trunk)を別の場所(branches/xxx)にコピーして修正する。そうすると、現行ソースには影響を与えずに変更をコミットすることが出来る)
まとめ
コミットすれば色々なフィードバックを得られる可能性がありますが、コミットしなければ何も起きません。手元にコードや個人リポジトリがある人は Spark project にコミットしてみませんか><
Flash以外の人は、CodeReposがオススメです。
サイト内関連記事
この記事へのトラックバック
トラックバックはありません。
TrackBack URL:
http://www.be-interactive.org/trackback.php?id=362

コメントはありません。