2008年5月アーカイブ

`svn up`でフリーズしなくなった。

ちょっと前に、ParallelsのVMを起動したタイミングでフリーズしたので、Parallelsのディスクイメージをデフラグ(だったかな?)してみたわけですが、それ以降は`svn up`でフリーズしていません。

油断は禁物ながら、良い気分。


まあ、承認がおりればLeopardにしますけどね。今は承認待ち。

svn:mime-typeでいろいろやってくれる事を知った。

auto-propsは';'が区切り文字になっているので、'svn:mime-type=text/x-python; charset=UTF8'とかすると、'svn:mime-type'と'charset'の2つのプロパティがセットされてしまうようです。というのは有名な話だとか。

あと、MIME-Typeが'text/plain'だとソースコードがハイライトされないようですね。とりあえず、'text/x-(言語)'とかしておくとよい様子。まあ、trac.iniの方でMIME-Typeのマップだか何かが書いてあるなら、それを使えばよいわけですが。

ひとまず、文字コード混在リポジトリをTracで使う場合の簡単だけどめんどくさい対応方法がわかり、ハイライトされないソースコードへの対応方法もわかりました。

まあ、残念ながら、会社ではTracをまだ使っていないんですけどね。

した。

Tigerからアップグレードしたからか、細かいところでWeb上の情報と違いが見られたりするので、思いきってクリーンインストールしました。

Time Machineでバックアップしてるから、「特に改まったバックアップは不要」と思いましたが、大間違いでした。Time Machineのバックアップから「復元」はできますが、いくつかのファイルをコピーする方法がさっぱりわかりませんでした。ディスクイメージをマウントしてブラウズできるのかと思ってたわけですが、違ったようです。方法はあるのかもしれませんが、あきらめました。

クリーンインストールしてからこのことに気づいたので、どうしようかと思いましたが、一度復元してから必要なデータをTimeCapsuleに置いて、改めてクリーンインストールしました。

TimeMachineと移行アシスタントで「復元」をするのは簡単でいいのですが、「クリーンインストール」の意味がありません。もちろん、バックアップ対象からシステムファイル周りを除外しておけばいいのでしょうが、あいにくそんなことはしていません。今後はどうするべきでしょうかね。

クリーンインストールのおかげか、MacPortsでインストールできるものが増えた気がします。気のせいかもしれませんがね。

スッキリ。

さらっと読めて、面白い。

15章は適当にさらっと眺めた程度ですが、14個のルールには一応ちゃんと目を通しました。

フロントエンド開発に関して自身がないので、こういうガイドラインが本になってくれたのは助かります。

個人的に、リダイレクトを使わないトラッキングを、"204 Not Content"なビーコンで実現する話が好きです。JavaScriptをきられたら手も足も出ませんが、割り切れる場面では重宝しますね。常識なんでしょうけど、正直考えた事がありませんでした。目から鱗。

この本を参考に、会社用のガイドラインに加えてみようと思います。

面白かった!
oreilly.co.jp -- Online Catalog: Linuxシステムプログラミング

Linuxで動くアプリケーションを開発しつつも、ちゃんと理解できていない、知りたかった部分について教えてもらえて大変助かります。

カーネルの本を先に買っていて、ちょいと後回しになっているわけですが、この本はそんな自分に読みやすい本でした。システムコール等の、下層(?)とのインターフェースに関する本(と理解してます)なので、LL言語側から降りて行きやすい気がします。

訳も自分には読みやすかったので良かったです。

GPLv3なJSソースをWebアプリで使う場合の影響範囲がよくわからない。

最終ドラフトでは盛り込まれていた「オンラインサービスを提供する場合においてもアプリケーションを配布するのと同様の扱い」という趣旨の条項が正式版では削除されていました。
GPL v3とSaaS - ゆーたんのつぶやき
よくよく調べたら、GPLv3自体にはSaaSでビジネスした場合にソースコードの開示は必要ありませんね。「Affero GPL」というFSFが策定したGPLv3ベースのライセンスがそれにあたります。
Mitsuhiro (in) The Web: GPLv3とSaaSの関係
ある作品の「伝達」(convey)とは、第三者がコピーを作成ないし受領するのを可能とする普及行為すべてを意味する。ただし、コンピュータネットワーク越しにユーザとやりとりするだけで、コピーの転送は伴わない場合は、伝達ではない。
Open Tech Press | GNU GPLv3 日本語訳

script要素でJSソースを読み込ませる場合、コピーの転送は伴っている気がしますが、どうなんでしょうか。

ある作品の「改変」(modify)とは、その作品の全体ないし一部を、『コピーライト』の許可を必要とするようなやり方で複製ないし翻案することを意味する。ただし、完全に同一なコピーを作成する場合は除く。改変の結果出来た作品は、以前の作品の「改変されたバージョン」(modified version)、または、以前の作品を「基にした」(based on)作品と呼ばれる。
Open Tech Press | GNU GPLv3 日本語訳

script要素で「一切手を加えていないオリジナルのまま」のJSソースを読み込ませる場合、「完全に同一なコピー」なんでしょうか。JSソースを読み込ませているHTML、およびHTMLを生成しているサーバ側アプリケーションを含めて「改変されたバージョン」とされるのでしょうか。

オブジェクトコード形式の作品に「『対応するソース』」(Corresponding Source)とは、... (中略) ... 例えば『対応するソース』には、その作品のソースファイルと連携するインターフェース定義ファイルに加え、共有ライブラリや動的にリンクされた下位プログラムと作品のその他の部分との間での親密なデータのやりとりやコントロールフローなどのために、その作品が設計上明確に必要とする、そうした共有ライブラリや下位プログラムのソースコードなどが含まれる。
Open Tech Press | GNU GPLv3 日本語訳

ASPの場合、第三者が手にする物は「オブジェクトコード形式ではない」と思いますが、どうなんでしょうか。データ取得などの為に設計上必要なサーバ側アプリケーションのソースは、「対応するソース」の範囲に含まれてしまう気がします。AJAXはサーバとの通信を前提に動きますよね。

ソースコードを公開しないといけない対象は、プログラムのバイナリを頒布した人であり、利用者は関係ありません。
■RedHat、Apache、MySQL、PHPを使用したWebアプリのライセンスについて■ - Linux Square

GPLv3でも、ソースコードとバイナリに関しての記述しか無いわけですし、サーバ側アプリケーションに関してはエンドユーザと縁がないと考えて良さそうですよね。エンドユーザと縁があるのは、あくまでHTMLコードとJSコードのみ。

「『プログラム』」(The Program)とは、本許諾書の下でライセンスされた、『コピーライト』が主張可能な作品すべてを意味する。個々のライセンシーは「あなた」として表現される。ライセンシーは個人でも組織でも構わない。
Open Tech Press | GNU GPLv3 日本語訳
「『コピーライト』」(Copyright)とは、いわゆる著作権のみならず、半導体マスクのようなその他の作品に適用される、著作権に類似した法的権利をも意味する。
(訳注: この規定により、本許諾書は著作権法で保護されたいわゆる「著作物」よりも広い範囲をカバーすることになる。よってこの訳のライセンス本文中においては、work(s)に「著作物」ではなく「作品」という訳語を宛てることにした。)
Open Tech Press | GNU GPLv3 日本語訳

何やら、HTMLコードも画像ファイルも「プログラム」に含まれてしまいそうですね。

一巻の記憶装置の中か頒布媒体上で、『保護された作品』と、本来『保護された作品』の拡張ではなく、『保護された作品』とより大規模なプログラムを形成するような形で結合されているわけでもないその他の分離かつ独立した作品とをまとめた編集物は、編集作業とそれに由来する『コピーライト』が、個々の作品が許可する範囲を越えて編集物のユーザの作品へのアクセスや法的権利を制限するのに使われない限り、「集積物」(aggregate)と呼ばれる。単に『保護された作品』を集積物に含めるだけでは、その集積物の他の部分にまで本許諾書が適用されるということにはならない。
Open Tech Press | GNU GPLv3 日本語訳

script要素でJSソースを読み込みむ場合、その読み込み元や別個に用意したJSソース(GPLv3のJSで定義されたオブジェクトを利用するようなもの)については「集積物の他の部分」と考えてよいのでしょうか。少なくとも、HTMLコードや画像ファイルについてはそうですよね。

独自に実装したJSソースコードから、GPLv3のJSソースコードで定義されたオブジェクトを利用するような場合、前者もGPLv3となるのでしょうか。そこがよくわかりません。互いを別個に分けている限り、「改変」にはあたらないのでしょうか。

「『保護された作品』」(covered work)とは、改変されていない『プログラム』か、『プログラム』を基にした作品のいずれかを指す。
Open Tech Press | GNU GPLv3 日本語訳

「基に」している気がします。少なくとも「前提に」はしています。

とりあえず、JSの場合は「そのGPLv3で提供されるJSコードの存在を前提にして書かれたJSコード全般」がGPLv3の対象範囲にあると思っておく事にします。

ライセンスって難しい。。。

プロフィール

このアーカイブについて

このページには、2008年5月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年4月です。

次のアーカイブは2008年6月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。