@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

「OSS化すべき」…そんな言葉は使う必要がねーんだ。なぜなら、オレや、オレたちの仲間は、その言葉を頭の中に思い浮かべた時には!実際に公開しちまって、もうすでに終わってるからだッ!

僕が社内ライブラリを OSS 化すべきだと思う3つの理由 - 鳩舎」に、はてなブックマークコメントをしたら、回答が返ってきたので再返信。公開には賛成です。変な理由付けが気に食わない。で、どうやって公開するか?

自分でやればいい

「公開したいけれど責任は取りたくないです、上司さん代わりに取って下さい」ってお願いしたら、そりゃあ「メリットあんのかよ?リスクは?」って聞かれる。上司が責任を取らなくていい形で、公開すればいい。「OSS として公開するのはいいことだ」って覚悟が!「言葉」でなく「心」で理解できてれば公開するだけだッ!

許可を求めるな謝罪せよ」という話。厳密には、就業時間中に作成したソースコードの著作権は作成者だけのものではない。雇用者の合意を取らずに公開するのはグレー*1。だけどOSSライセンスで一回公開したらフォークは止められないので、既成事実化する。実害がなければ処罰のしようもないし、公開しても誰も気づかないので実害はない。

注意

もちろん、道義的な理由で

  • 主に他人が作ったライブラリを勝手に公開したらダメ*2
  • 自分たちやお客さんのビジネスに関わる部分もダメ。

そうでなければ問題はない。「OSS化できるかできないか」じゃなくて「どのライブラリならOSS化するリスクを取れるか」を考える*3。取れる範囲で自分の責任を取る。例えば「JavaScriptのDateオブジェクトにtoStringメソッドを足す」とか、そういうライブラリは誰がどう作っても大差ないし公開したっていい。そういうわけで「j9って知ってるかい?」って続くわけなんだけど、リポジトリだけで中身を作っていないのが非常に残念。

*1:親告罪なので黒じゃなくてグレー

*2:枯れてないライブラリは、想定する使用方法が限られているので、自分で直せるものじゃないと痛い目を見る。そういう意味でも自分で使うために公開するのなら、自作ライブラリだけにしておいたほうがいい。

*3:もっと言うとOSS化できる部分だけライブラリとして切り出す