日記
Re: 米国著作権法とsb : highbiscus -北国tv (18:07)Edit

テンプレート技術とテンプレート仕様とテンプレートデータとコンテンツ(エントリー)データの区別をつけてから出直してきなさい。

  • テンプレート技術はblogツール、Webアプリケーションに限らず、プログラミングで非常に一般的なテクニック。領収書の宛名を書く部分は「$NAME$様」としておいて、実際にコンテンツが決まった時に「highbiscus様」に差し替える、という技術。
  • テンプレート仕様は、テンプレート変数(名)とコンテンツの対応付け。上で言うところの「$NAME$」は「宛名」である、というような決まり*1
  • テンプレートデータは、テンプレート仕様に基づいて作成されたデザインデータ。「宛名: $NAME$様」みたいなデータ。
  • コンテンツデータは、テンプレートにはめ込まれるコンテンツの内容。「$customer = 'highbiscus';」とか。

sbがJUGEMと互換性をもっているのは、テンプレート仕様。ユーザーインターフェースなどの外見的な特徴を表現しているのは、テンプレートデータの方。テンプレートデータによってユーザーインターフェースが同じになったとしても、それはテンプレートデータの著作権の問題であって、それを読み込むツールの問題ではない。sbがtDiaryやMTのデータをインポートできるというのは、コンテンツデータのこと。sbとsb2で互換性がないというのも同じ。これは今回の件とは関係ない。

テンプレート技術、テンプレート仕様、テンプレートデータ、コンテンツデータの関係を簡単な式で表現すると、以下のようになる。

テンプレートデータ+コンテンツデータ=ブラウザに表示される画面

テンプレート技術とテンプレート仕様は、上記の式で言うところの「+」の部分になる。テンプレートデータとコンテンツデータを結合する処理を行うために利用される技術と仕様。

テンプレート展開の実装方法としては、

  • 正規表現を使ってテンプレート変数を置換
  • DOMツリーに展開して該当のオブジェクトのinnerTextに代入
  • いったんネイティブプログラムコードに変換してからeval

など、いろいろな書き方がある。というのが表現の違いの話。

JUGEMはソースが公開されていないので、sbはJUGEMの著作権に触れることなく、互換性のある実装を行っている。もし偶然JUGEMとsbのテンプレート展開の処理が似たようなコードで記述されていたとしても、sbの実装はJUGEMのソースを元にした(由来した)ものではないので、著作権的には問題ない。というのが著作権における由来性の例外事項(同じ表現でも由来していなければ著作権には触れない)の意味。

ところで結局、テンプレート仕様(タグ)の互換性以外には問題がない、ということでいいのかな?

*1 ブロック指定とか条件によって表示・非表示を切り替えるロジックとかを書ける場合もあるけど

Published At2005-08-14 00:00Updated At2005-08-14 00:00