巷では、SONYがCCCDのコードにLGPLで保護されたLAMEのコードをクレジット表示無しで含めたという事で盗用疑惑が浮上しております(実際バイナリの中にLAMEのデコーダ部分のコードが入っていた)が、なぜそれが問題になるのか…というのを簡単におさらい。
GPLというのは非常に単純化すると、コードの流用 改変は全く自由で正しその流用した元コードのライセンス条項をそのまま引き継がなければいけないという制約があります。たとえばGNU製のEmacsのelisp部分を流用して別のEmacs互換のエディタを作ったとしたら、その互換ソフトもGPLを適用しなければならないというわけです。またGPLで保護されたソフトウェアをその他のライセンスで保護されたソフトウェアと一緒に単一のパッケージで配布する場合、配布にあたって適用されるライセンスがGPLと非互換(条項が矛盾する)な場合は配布できないという制限もあります。
ではLGPLとは何かというと、コードの流用 改変 配布はGPLの同様自由なのですが、更にもう一つ自由が増えます。GPLのようにライセンスの伝染がないのです。ですがクレジット表示は必要で、誰の著作物で、元のコードはどこで配布されているかを明示しなければなりません。それさえクリアすれば配布にあたってもGPLのような制限は発生せず自由に利用できます。当然ながらこういったライセンス形態の場合、企業で利用されるケースもままあり、BSDライセンス同様自由度の高いライセンスとして人気があります。ただ単純にクレジット表示をすればよいだけの話なので負担は極々少ないです。
じゃあなぜ、SONYはこのような問題を犯したのか…というと難しい問題です。単純に手違いだったのか、それとも「自社で開発した」というメンツが大事だったのかというのは当人でなければわかりません。
さて、これらの利用にあたる規約は殆どの場合「開発者」あるいは「ベンダ」に課せられるもので、我々一般利用者にはライセンスの条項ほとんどが関係ありません。それはどいう事かというとつまり、制限条項のほとんどはコードの取り扱い(改変 流用 配布)にあたる部分のみでダウンロードして実行するだけの我々には制限たる部分がほとんどないのです。つまりは完全にタダ乗り可能な状態にあると言えます。もちろんその一般利用者が再配布だとかちょっとした変更を加えたうえで再配布するだという場合には制限がつきます。
補足ですが、GPLのライセンス伝染もLGPLのクレジット表示も「改変」しただけでは実際なんの制約も発生しません。じゃあいつ発生するかというと「配布する時」です。自分の手元だけで済ませる場合には何ら制限は発生しません。公にさらす場合のみ諸々の制限がつくと理解していただければ結構。
LGPLはあくまで「著作権は保持し自分の著作物である事を明示すれば利用は自由にする」というもので
GPLは「著作権に基いて、自分の著作物に手を加える際に元の物が自分の意思に反した方法で利用されないよう制限をかける」というものです。
いずれの場合も著作者の権利の保護に基いたもので、著作者の権利の主張であると言えます。その権利を蔑ろにするというのは、ライセンスがどうあれ(著作権を主張している以上)は、人様の権利を踏み躙っていると言えます。まあここら辺はアンチと信者のおかげで著作者の権利云々なんていう基本的な事はまるで度外視されて「ライセンスの思想的意義」ばかり語られてますが、そんなのよりももっと大事な「著作者の権利の保護」というのがあります。あくまでライセンスというのは著作者と利用者の間での取り決め事、著作者が提示してきた利用にあたってのルールに従えない場合は、著作者の権利を優先して利用しないのが吉です。
で、今回SONYが行なったのが、前述の「著作権の侵害」なわけです。コードの不正流用(=盗用)。つまりは著作権を侵害したという事に値します。
一応補足、SONYといってSONY本社がそんな事したんじゃなくてSONYグループの中の一社がLAMEをパクったというだけの話で我々がよくしるソニーちゃんはその事実に関しては基本的に知らぬ存ぜぬという感じで乗り切るところでしょう。責任者は別にいて、そいつらが独断でやった事といえば一応体裁は取り繕えますが…グループのうちの一社も一応「SONY」の名を冠しているのでグループ全体のイメージは悪い方向に進んでしまう可能性はあります。
2005年11月13日
2005年02月19日
Kernelの性能評価
評価対象はLinux-2.6.10にパッチを当てた4種
ac12+ck5の混合パッチ、ck5のみ、gentoo-dev-r7、ac12のみ
まず、結果だけ先に言うと数値だけで言えば、総合的な結果でgentoo-kernelとacのみ(たぶんvanillaも)に軍配があがると思われます。ckは数値上でおもわしくない結果を残してはいますが、実際デスクトップ用途として使用した場合の体感的な性能の違い(如実にわかる)は優秀であったと思います。xmms等で曲を流している時に時折起る、音切れ等といった事が起らなくなりました。私の場合、旧世代のUSB audioという事もあって切れる頻度は高く、WindowsでもLinuxでも音切れしていたので半ば諦めていましたが、意外なところ直ってよかったです。acでも音声が切れる事はありませんでした。
用途を考慮した上で私の場合はacがベストという事になりました。
あと、ckでのVMware(上のWindows)の性能はおもわしくなく。gentoo-devより遥かに悪い(使えば遅いとすぐわかるくらい)と言えます。遅いポイントはまずファイルの入出力と、メモリアクセスかなと思います、また描画性能も加えて低下しているように感じます。これはスケジューラやVMにチューニングがかかっていて、それとの相性問題と言えると思います。それ以外では全くもって好調。数値を気にせず単純に快適な環境が欲しいというのであれば、ckはオススメです。acにおけるvmwareの動作は良好でした。ckの時のような引掛り(ガクつく)は無く、正常に動作しています。
とりあえず、acかckあたりを使っておけば今のところOKかなと思います。
詳しい結果は続きの方で
ac12+ck5の混合パッチ、ck5のみ、gentoo-dev-r7、ac12のみ
まず、結果だけ先に言うと数値だけで言えば、総合的な結果でgentoo-kernelとacのみ(たぶんvanillaも)に軍配があがると思われます。ckは数値上でおもわしくない結果を残してはいますが、実際デスクトップ用途として使用した場合の体感的な性能の違い(如実にわかる)は優秀であったと思います。xmms等で曲を流している時に時折起る、音切れ等といった事が起らなくなりました。私の場合、旧世代のUSB audioという事もあって切れる頻度は高く、WindowsでもLinuxでも音切れしていたので半ば諦めていましたが、意外なところ直ってよかったです。acでも音声が切れる事はありませんでした。
用途を考慮した上で私の場合はacがベストという事になりました。
あと、ckでのVMware(上のWindows)の性能はおもわしくなく。gentoo-devより遥かに悪い(使えば遅いとすぐわかるくらい)と言えます。遅いポイントはまずファイルの入出力と、メモリアクセスかなと思います、また描画性能も加えて低下しているように感じます。これはスケジューラやVMにチューニングがかかっていて、それとの相性問題と言えると思います。それ以外では全くもって好調。数値を気にせず単純に快適な環境が欲しいというのであれば、ckはオススメです。acにおけるvmwareの動作は良好でした。ckの時のような引掛り(ガクつく)は無く、正常に動作しています。
とりあえず、acかckあたりを使っておけば今のところOKかなと思います。
詳しい結果は続きの方で
2004年11月10日
@ITの読者調査での各OS利用統計
@IT:読者調査結果 システム管理編
はじめに、読者がかかわるシステムで現在主に利用しているサーバOSを確認したところ、「Windows NT Server」「Windows 2000 Server」「Windows Server 2003」を合わせたWindowsサーバの利用率が合計57%となり、全体の過半数を占めた(図1)。またWindows以外でもLinuxのシェアが商用UNIX(Solarisなど)を僅差で上回るなど、IA(x86)サーバを主軸としたオープン系OSの普及状況がよく分かる。
国内の@IT読者のアンケートに答えた範囲という事ですからあまり実用的なデータとは言えないのかもしれませんが、私は国内においてはこの結果は正しいんじゃないかと思います。
Linuxが普及している…という話は良く聞きますが、実際その手の「どこどこがLinuxに移行」「どこどこがLinuxを採用」という話の殆どは海外での出来事で国内ではあまり聞きません。富士通やNECなんかがLinuxを応援している…とかなんとかいうのは日経あたりで読めますけどね。
結局は日本国内での普及率は大した事ないんですよ。18%という数字はそれなりに頑張った方なんじゃないかなと思います。大規模なシステムではまだ商用Unixも健闘しているようです。
2004年08月30日
うらめしや…
GentooでとうとうGTK+-2.2系がなくなった
2.4以降にしなければならない 激しく欝
2.4以降にしなければならない 激しく欝
2004年08月20日
PMについて面白い話
@IT情報マネジメント:ハイ・パフォーマーの“知”は、移転・共有できるか? 1/3
世の中に多くの失敗・赤字プロジェクトが存在する一方、どんな難解なプロジェクトでも成功裏に終えるプロジェクトマネージャ(PM)がいる。こうした知恵や能力を移転・共有することはできないのだろうか?
プログラマ、システムエンジニアにも共通する事だけども
有能な人間・無能な人間というのはどこの業界にも必ず存在する。
差別するようでクレームが尽きそうだがハッキリ言うと無能な人間とは「向いてないのにその業界に居座る人間」だ、無駄な努力を続けようという固い意思を持つ人、あるいは無能であるにも関わらず周囲に迷惑をかけながら現状に妥協している者、色々いる。はっきり言って同業者や上司・経営者の方々はウンザリしているはずである。
この業界、有能な人間よりも、無能な人間の方が絶対的に多く、被害は甚大であるにも関らずに改善の兆しが見えない。
まあ、私は人の事言えた立場じゃありませんがね。遠慮なく言わせてもらいますけど。
例に漏れず、記事とはあまり関係ありません。
記事にあるモデル企業に業務内容に「派遣」があったので
そこだけに絞って話ます。モデル企業のように派遣業を兼業しているところではなく「派遣専門」の会社についてです。
続きを読む
2004年08月06日
2004年07月29日
amazonの商品紹介用bookmarkletに触発された
bk1リンク
初めて書いたjavascript
画像も引用します。さらに選択した文字列も引用します。
firefoxで動作確認しました。
「ここにブリーダーIDを入れる」と書かれてるところに
ブリーダーIDを入れた後
サイドバーかツールバーにドラッグして使ってください。
『オブジェクト指向における再利用のためのデザインパターン 改訂版』
こんな感じになります。税込価格以下は選択した文字列が挿入されています。
見た目の改造はお好きにどうぞ、div classを変えるなりして好みのスタイルを適用してください。
デフォルトの"block"はblockquoteと同じ内容のものです。
御自分のサイトに合わせてcssで指定してください。
続きを読む
初めて書いたjavascript
画像も引用します。さらに選択した文字列も引用します。
firefoxで動作確認しました。
「ここにブリーダーIDを入れる」と書かれてるところに
ブリーダーIDを入れた後
サイドバーかツールバーにドラッグして使ってください。
『オブジェクト指向における再利用のためのデザインパターン 改訂版』税込価格: \5,040 (本体: \4,800)
出版:ソフトバンクパブリッシング
サイズ:B5判 / 414p
ISBN:4-7973-1112-6
発行年月:1999.11
利用対象: 一般
こんな感じになります。税込価格以下は選択した文字列が挿入されています。
見た目の改造はお好きにどうぞ、div classを変えるなりして好みのスタイルを適用してください。
デフォルトの"block"はblockquoteと同じ内容のものです。
御自分のサイトに合わせてcssで指定してください。
続きを読む
2004年06月21日
Boehm GC
Boehm GCを使おう
C++を使うと,コンストラクタ/デストラクタが使えるので,多少 メモリ管理が楽になる.しかし,この場合も new したものを delete するのはプログラマの責任であって,基本的にはCの場合と大差ない.
ところが,このメモリ管理をプログラマが全然面倒見なくてすむ 画期的な方法がある.それがBoehm GCだ.
C++で使うと、ちょっと肥えすぎるけど
Cでは、これがないと何かと面倒。
例えば怪しげな方法でメモリを確保する時なんかは…
void name_malloc(category *cate, int num)
{
int l;
cate->name = malloc(num * (sizeof(char *)));
for(l = 0; l < num; l++) {
cate->name[l] = malloc(num * (sizeof(char)));
}
}
とこんな感じになる。
以前書いた物をそのまま流用したけど、これだけだと何に使うかわからないね。
要素数分の二次元配列を確保する関数です。
文字列を入れるためのものというのは自明だけど、指定された要素数と文字列長が同じというあたり手抜きな感が否めない。
#numが60なら縦横60の正方形っぽい(あくまでイメージ)
#二次元配列になる
#ちなみに、基準はあくまで要素数で、文字列長ではない。
#文字列長が足りなければreallocする事にしていたが
#要素数より文字列長の方が短い場合が殆どだったという妙な環境
GCを使うと、あれこれ悩まなくても良いという点で大助かり
これの開放はとっても面倒、このプログラムは常駐型ではなく一回実行したらすぐ終了するタイプだったので開放は行わずほったらかした(爆

