トップ «前の日記(2004-12-26) 最新 次の日記(2004-12-28)» 編集

Heretic Programmer

エントリを読んで笑ったら笑った回数だけ足跡「☆」を押してください!!足跡がつきます(藁
2004|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|07|08|09|10|11|12|
2010|01|03|04|05|12|

2004-12-27

[Opensource]GPLとJava

クライアントにはアプリケーションをGPLとして頒布する。GPLに従い、ソースコード
を添付するかもしくは入手方法を明示する必要がある。GPLは再頒布を妨げることを
許していないが、クライアントがそのアプリケーションを再頒布することなど普通に
考えてありえない。
 
クライアントは、アプリケーション開発者に対し「作成したアプリケーションを
クライアントにのみ頒布すること」という契約を締結して縛る。
クライアントにしか再配布せず、クライアントが再配布しないのであれば全然も問題ない。なぜなら、クライアント以外に再配布しなければならないという義務はないからだ。ただし、クライアントにGPLの成果物を配布するときにソースコードを入手可能にする義務が発生させ、クライアントが再配布することを妨げないことという条件がつくのだが、そもそもクライアントにはソースコードは納品するのならなんら問題ない。だし、クライアントが再配布しようとしたときに、ソースコードの公開義務が発生するので、この部分は確認が必要。

[Opensource]GPLのソフトウェアをツールとして利用する

JCoverageはカバレッジ計測「ツール」だ。このツールには入力となるスクリプト(Antのビルド)ファイルがあり、出力結果としてカバレッジレポートがある。これらのファイルにはGPLは派生しない。例えば、gccへの入力となるソースコードやgccから出力されたオブジェクトコードへライセンスが派生しないのと同じだ。

ただしスクリプト/ソースコードが利用する共有ライブラリがGPLの場合ライセンスが波及してしまうので注意が必要。gccの場合、共有ライブラリのglibcはLGPLなのでセーフ。

[Opensource]アプリケーションサーバがGPLの場合

この場合は、微妙だ。GPLのアプリケーションサーバにデプロイするとアプリケーションサーバと動的にリンクされたことになり、GPLが波及する。ただし、アプリケーションサーバとは独立にwar/jar/ear形式で配布しておけば動的リンクは避けられるのでライセンスは波及しない。

PS.もちろんアプリケーションサーバ固有のAPIを利用しているとアウト。

[Opensource]Weavingされたコードの扱い

頒布物にGPLなJCoverageとリンクしたものは直接は含まれないが、ビルドの途中で
一瞬ではあるもののGPLソフトウェアと完全にリンクする。これはGPLにリンクして
しまっているのではないか?
頒布物がリンクしてなければok。GPLには中間状態に対する規定はないので無視可能。
そもそも何故JCoverageはデュアルライセンスという形態をとっているのか。
ツールの出力はGPL外というのであれば、上記の出力されたレポートだけありがたく
利用させてもらうよん、で大方済むような気がする。なんか罠がありそうな気が
してならないなぁ。
例えば、JCoverageを基に統合テストツールを開発する場合、GPLだとソースコードを公開する必要があるが、商用ライセンスだとプロプライエタリなソフトウェアを開発できる。

[Java]MiddlegenIDE

次は、Hibernate ConsoleをEclipse上から起動できるようにする。これができれば、データベースからHibernateの実行に必要なファイルを全て生成し、いきなりHibernate ConsoleでHQLとか使ってクエリを発行できたりするという素晴らしいことになる。というか、既にMiddlegenとは関係ない罠。

[Java]Hibernate Consoleの起動

こんな感じ。
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.console.Start;
 
public class HibernateConsoleLauncher {
	public static void main(String args[]) throws HibernateException{
		Configuration cfg = new Configuration();
		cfg.configure();
		Start.startWith(cfg, true);
	}
}
hibernate.cfg.xmlにHibernateの設定とマッピングファイルを書いておくと、永続化クラスを読み込んで直にHQLを実行できる状態でHibernate Consoleが起動する。

[Opensource]GPLとASL1.1

ASL1.1には頒布に宣伝条項を加えることを課しているため、GPLとは非互換であり、
GPLなアプリケーションでASL1.1のものとリンクすることは出来ない。はずなんだが、
実際にはこのケースはいっぱいあったりする。宣伝条項を加えることを課せばGPLに
ならないし、宣伝条項を加えることを課さなければASL1.1に違反する。
実は、GPLで配布してもドキュメントにApacheプロジェクトへの謝辞を書いておけばライセンス違反にならない。ASL1.1にはライセンスに宣伝条項の条文を書けとは言っていないので。

ただし、GPLには宣伝条項に関する規定はないので、誰かが謝辞を削除して再配布するとライセンス違反になる。

これを防ぐためにGPLに宣伝条項の例外を追加するという方法がある。この辺りの話はASLと似たようなライセンスを利用しているOpenSSLのFAQに書いてある
本日のツッコミ(全14件) [ツッコミを入れる]
# captain (2007-06-17 00:28)

xR5Ca6Ap86cZ9pv Diet Drug Phentermine http://christ77.power-emergency.com

# Mireya (2007-06-23 22:32)

Good work, webmaster! Nice site!

# we5 (2007-06-26 14:23)

http://www.testtest123.com

# free sony ringtones (2007-06-27 03:53)

initgee9vphr5 sony ringtones sony ringtones

# guglaa (2007-07-08 22:09)

Nice site !! Thanx !

# gfdg787 (2007-07-08 22:12)

http://testtest123.com

# rewqreqw (2007-07-10 20:05)

q0gfv8hs

# captain (2007-07-22 06:54)

tBWmDZJPkbiq Diet Drug Phentermine http://christ77.power-emergency.com

# qftyggfyob (2007-09-08 22:17)

Hello! Good Site! Thanks you! wvukruikqjukzi

# Michelle (2007-09-28 01:50)

Nice site!<br>[url=http://ftzjtyjf.com/thuh/meua.html]My homepage[/url] | [url=http://unuhkqwp.com/fpkn/wblk.html]Cool site[/url]

# jxqi tqmlgv (2007-11-05 10:35)

drkjusfq xvuictwr rglay vpzgthyu thxv lhfkwmiyn iqfzjwu

# bohdep awrl (2007-11-05 10:36)

wfdcjztsu gdhm mebjq qogmn agzpk ytkx wihfk http://www.evubxga.teamnhgf.com

# Eagles (2007-12-13 11:17)

sale@mp3.com

# Eagles (2007-12-13 13:25)

sale@mp3.com

[]