dateformat.jsとライセンス ― 2007年05月19日 19時31分18秒
やられた!
PHPSPOTさんで紹介されたので大勢の方がご存知だろうが、dateformat.js - 日付フォーマット変換ライブラリというものが公開されていた。
これ、同一書式パターンを使ってString ←→ Date の相互変換ができるライブラリなんだけど、過去のエントリで書いたString.formatの関連でやりたかったことをほぼ実現している。やられた!
って、考えてみりゃ需要多そうな機能なのでいままで見つからなかったのが不思議なくらいなんだが。
組み込みたいなー
dara-j的には
new Date().format("yyyy-MM-dd"); // ← 2007-05-19とか、
// Date.parseは組み込みであるのでプチ.NET風 Date.parseExact( "2007年5月19日", "yyyy年M月d日" );とかみたいな事をやりたいので、とりあえずこんな事を試してみた。
Date.prototype.format = function(format) { return new DateFormat( format || "yyyy/MM/dd HH:mm:ss" ).format( this ); }; Date.parseExact = function(s, format) { return new DateFormat( format || "yyyy/MM/dd HH:mm:ss" ).parse( s ); };おまけで引数省略時にデフォルトフォーマットを適用するようにしてみた。 ちょっと試してみよう。
var d = new Date(); // ← 2007年5月19日 20:00:00 ってことで。 d.format("yy/MM/dd"); // ← 07/05/19 d.format(); // ← 2007/05/19 20:00:00 var d2 = Date.parseExact("2007年5月19日", "yyyy年M月d日"); d2.format(); // ← 2007/05/19 00:00:00おー、いい感じだ。
で、組み込んでも大丈夫か?
ライセンスを確認するとクリエイティブ・コモンズ 表示 2.1 日本とのこと。はて。
こちらの要約を確認すると、二次的著作物は元の著作物と同じライセンスで提供しなきゃならんみたいだ。つまり、dateformat.jsの機能に手を加えてライブラリとした場合、そのライブラリもクリエイティブ・コモンズ 表示 2.1 日本で提供する必要があるってことか。
このエントリのサンプルでは、元のdateformat.jsを一切改変していないので編集著作物に相当すると思われるが、この場合もやはり同じライセンスで公開、ということになるのだろうか。それともそもそもこうした利用方法でも二次的著作物とみなされるのだろうか。
ライセンス形態
個人的には自分の書いたコードを自由に使ってもらうことにはまったく抵抗がないが、自分が書いたコードを元に新しいコードを書いた誰かが同じライセンスを望むとは限らないし、それを制限したくないと思ってるので、派生物に対して元のライセンスと同じライセンスで提供することを強要するライセンス体系はあまり使いたくないなぁ。
たしかにオリジナルのソースに手を加えるならまったく依存はないのだが、そのライブラリを組み込んだ新たなライブラリを同じように扱ってもよいものだろうか。
とかいいつつ、このブログで公開(ってほどでもないが)しているコードについてのライセンスをどこにも書いてなかったりして。NYSLにしようかな。
コメント
_ onozaty ― 2007年06月20日 01時57分30秒
_ dara-j ― 2007年06月20日 09時38分02秒
> 条文の「第4条 受領者へのライセンス提供」が誤解を招いているのではと思いますが、ここで述べられているのは、著作物が複数の人を介して提供されても、許諾者から利用者へライセンスの許諾がされているものとするという意味だと思います。
ご指摘いただいたFAQを見たところ、なるほど第4条はおっしゃる通りの意図のようですね(というか、第4条の原文にも「受領者が」との文言があるので、その通りに解釈するのですね...)
> もっと早くコメントすれば良かったかもしれませんね
いえいえ、とんでもない。FAQと「表示 - 継承 2.1」へのリンクまで示していただいて、大変勉強になりました。ありがとうございました。
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。
トラックバック
このエントリのトラックバックURL: http://dara-j.asablo.jp/blog/2007/05/19/1518391/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
CC 表示 2.1 は、「派生物に対して元のライセンスと同じライセンスで提供することを強要するライセンス体系」では無いと認識しております。
条文の「第4条 受領者へのライセンス提供」が誤解を招いているのではと思いますが、ここで述べられているのは、著作物が複数の人を介して提供されても、許諾者から利用者へライセンスの許諾がされているものとするという意味だと思います。
改変部分、派生物に対するライセンスについては強要されません。
下記のFAQもそんな感じの意味合いで書いているものと思われます。
http://www.creativecommons.jp/faq/3cc/4/
したがって、dara-jさんがdateformat.jsを使って何かを作った場合でも、それを必ずしも同じライセンスにする必要はありません。
なお、CC で二次的著作物に対して同一ライセンスでしか配布できないようにする場合は、「表示 - 継承 2.1」になります。
http://creativecommons.org/licenses/by-sa/2.1/jp/
もっと早くコメントすれば良かったかもしれませんね、、遅くなって申し訳ございません。。