ここから質問投稿すると、最大10000ポイント当たる!!!! >>

社内業務システムのWebシステム開発(受託開発)でAGPLv3ライセンスのOSSを利用したいと思っています。
OSS自体にはプログラム変更はしません。

AGPLv3は「改変したOSSのソースコード」と「OSSを利用した側のソースコード」の公開の制約がありますが、インターネット上に一般公開した場合に限る認識です。
社内LAN内での商用利用する場合は、制約無しに利用可能という事で問題ないでしょうか?

ライセンスに関して疎い為、簡単な質問かもしれませんがご教示願います。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

> AGPLv3は「改変したOSSのソースコード」と「OSSを利用した側のソースコード」の


> 公開の制約がありますが、インターネット上に一般公開した場合に限る認識です。

そんなことがどこかに書いてありましたっけ?

> 社内LAN内での商用利用する場合は、制約無しに利用可能という事で問題ないでしょうか?

会社の所有物とみなせば、自分だけで使うことになるので、制約なしという判断
もあるかもしれませんね。

仮にそうではなくても、社内の人しか使わないのであれば、社内の人にだけ公開
すれば良いことではないでしょうか。

別にWeb やFTP サイトを立ち上げて公開しなければならないわけでもなく、希望
者がいた時だけ最新版のソースコードをあげればよいだけのことでしょう。もっ
とも、ソースコードを欲しがる人がそれほどいるとは思えませんが。

あと、商用か否かは関係ないはずです。
    • good
    • 1

「OSS自体にはプログラム変更はしません。


静的・動的にかかわらずリンクしたとき、または、たとえリンクしなかったとしても、(A)GPLv3 プログラムを包括している、または、拡張しているとみなされることは十分にあり得るよ?

つまり、
「利用したいと思っています。」
が、どのような利用なのかがポイントとなるけど、個々のケースは微妙な線になることも多いから、法律の専門家に相談して判断してもらったほうがいいとおもう。



で、開発する「社内業務システムのWebシステム」に、AGPLv3 が適用されたらどうなるか。。。

「AGPLv3は「改変したOSSのソースコード」と「OSSを利用した側のソースコード」の公開の制約がありますが、インターネット上に一般公開した場合に限る認識です。」
間違い。

求められたら、システムの利用者なら誰にでも「社内業務システムのWebシステム」のソースを提供しなければならない。

さらに、そのソースの提供を受けたシステムの利用者に対して、
そのソースコードを社外の誰かに再配布しないことを強制したり、
インターネットで再配布しないことを強制したりすることはできない。

ソースの提供を受けたシステムの利用者が再配布しないことは自由。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QGPLライセンスのライブラリを利用=ソース公開しなきゃだめ?

GPLライセンスについて調べています。
考え方がまちがっていたらご指摘いただきたいです。

1.GPLライセンスのライブラリを用いたシステム開発を行った場合
  ソースの開示を求められたら、開示しなければいけない?

たとえば、Javaで開発したシステムの場合、ここでいうソースコードとはjavaファイル郡になるのでしょうか?
jarファイルとかwarファイルだけでは駄目 ということですよね?

2.GPLライセンスのライブラリを用いたソフトを作って売る場合も
  同様で、ソースの開示を求められたら、開示しなければいけない?

つまりは、Javaで開発したソフトをパッケージ販売したいなら、
ソースコードをお客に開示するつもりでいなければならない ということでいいですか?

また、ソースコードを開示する先 は、お客だけでいいのでしょうか?
まったく関係のない人から開示を求められた場合も、ソースコードを渡さなきゃいけないのでしょうか?

以上です。
よろしくおねがいします。

Aベストアンサー

僕もあまり詳しくはないですが、
GPLで配布について求められていることは、
バイナリを直接配布する場合、そのバイナリを入手するのと
同じ手順でソースコードも入手できるようにすることだったと思います。

つまり、サイト経由でバイナリを配布するならば同じページでソースコードを配布しないとだめだし、CDで配るのなら、同じCDの同じディレクトリに同梱しないといけません。

ちなみに、GPLには、LGPLというライブラリ用の劣化したGPLがあります。
この場合、動的リンクをする場合にはGPL汚染はしなかったと思います。
利用しようとしているライブラリのライセンスを確認して、実際に利用している人に聞いてみるのがよいかと。。

参考URL:http://www.opensource.jp/lesser/lgpl.ja.html

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

QJavaScriptde途中で、「exit」するには?

function kensaku(){
s_data = document.kaiin_form.input_name.value;

if(!s_data){ alert("キーワードを入れて下さい!"); }

if(s_data != dumy){ ...... }
for(i=st_no;i<=n;i++){
......省略.................;
.......省略................}
}

----------------------------------
3行目で表示されたアラートをOKで閉じても、4行目以下が実行されてしまいます。
3行目でexitするにはどうすれば良いでしょうか?

Aベストアンサー

>関数(kensaku())からは抜けられませんでした。
そうですね、勘違いしていました、f(^^;
すみません。
if(!s_data){
alert("キーワードを入れて下さい!");
return;
}
ですね。

QSELECTで1件のみ取得するには?

こんにちわ。
いまORACLE9iを使用している者です。

ACCESSでは
SELECT TOP 1 項目名 FROM テーブル名
ORDER BY 項目名;
で並べ替えたデータ群のうち,先頭の1件だけを
取ることができますが,
ORACLEでそのような機能(SQL)はあるでしょうか?
教えてください。
よろしくお願いします。

Aベストアンサー

order by と rownum を併用する場合は注意が必要です。

[tbl01]
cola | colb
------------
1000 | aaaa
1001 | bbbb

というデータがある場合、
select cola from tbl01 where rownum < 1 order by cola desc;
とすると、「1001」ではなく、「1000」が返されます。
これは、order by の前に rownum < 1 が適用されてしまうからです。

解決するには、
select aaa from (select cola aaa from tbl01 order by cola desc) where rownum = 1;
とすれば良いです。

Q未、済、完了の英訳は?

前回類似件名で質問したのですが、
質問の仕方があまり良くなかったと思い質問し直させて頂きます。

ある項目に対して「未」、「済」、「完了」のいずれかを選択させたい帳票があるのですが、
これを英語で実現するにはどのような単語が当てはまるのでしょうか?(1,2語程度で)
「済」、「完了」については「done」が好ましいのかなと思っていますが
いかがでしょうか?

宜しくお願い致します。

Aベストアンサー

No. 2 です。

なるほど。。。
そういうことなのでしたら、“Done” と “Not Yet” が適切だと思います。

“Yet” は単独で用いられる場合、『まだ~ない』という意味に取られることはなく、接続詞の『でも』の意味で取られます。
なので、選択肢が “Done” と “Yet” であったとしても、理解してもらえない可能性が残ります。
それを排除するためには、“Not Yet” とするべきだと思います。

ご参考まで。^^

QMPL2.0ライセンスのライブラリを使った開発

MPL2.0ライセンスをうたったライブラリを使って開発し、製品として出荷したい考えています。

http://www.mozilla.org/MPL/2.0/FAQ.html
のQ11をみると、
MPL2.0ライセンスをうたっている該当のライブラリを変更せずに使うのであれば
製品のソースコードは開示しなくてもよいと読み取れるのですが
この解釈で正しいのでしょうか。

教えて頂けると大変助かります。

Aベストアンサー

いえーすざっつらいと。

MPL2.0のライセンスで公開されているライブラリ(より正確に言えばMPL2.0のライセンスで公開されているのはライブラリではなくてソースコード)をリンクして実行するプログラムにはソースコード公開義務はない。
それはQ12にまとめられている
MPL: The copyleft applies to any files containing MPLed code.
LGPL: The copyleft applies to any library based on LGPLed code.
GPL: The copyleft applies to all software based on GPLed code.
の方が理解しやすいかも知れない。

つまり、MPLなライブラリを使用して開発するにあたり、そのライブラリの一部を改変して再コンパイルした場合はその修正されたソースコードファイルについてはソースコードを公開し、かつそのソースコードはMPLでライセンスされる必要があるが、それの中に書かれてあるルーチンを呼び出すプログラムが書かれたファイルは何もしなくてOKだ。
・library.c ←MPL2.0
・mysource.c ←あなたが作った
の2ファイルを1つのEXEにして配布する場合でもmysource.cは公開義務はない。library.cを改変したとしても、公開義務があるのは改変されたlibrary.cのみであり、mysource.cには影響しない。

いえーすざっつらいと。

MPL2.0のライセンスで公開されているライブラリ(より正確に言えばMPL2.0のライセンスで公開されているのはライブラリではなくてソースコード)をリンクして実行するプログラムにはソースコード公開義務はない。
それはQ12にまとめられている
MPL: The copyleft applies to any files containing MPLed code.
LGPL: The copyleft applies to any library based on LGPLed code.
GPL: The copyleft applies to all software based on GPLed code.
の方が理解しやすいかも知れない。

つま...続きを読む

Q関係各位と関係者各位はどっちが正しい?

タイトルどおりなんですが、ふと疑問に思ったので質問させていただきます。

よくメールや資料などに上記の言葉が記載されていると思いますが、どっちが正しい(もしくは両方正しいが使用方法や相手によって違う?)のかわかりません。ちなみに私は関係各位を使っています。

私の個人的な意見としては多分、人に対してか不特定に対してかの違い、意味合いかな?ぐらいに思ってますが。。。どうなんですかね?

以上、よろしくお願いします。

Aベストアンサー

No.4再補足します。

各位は皆さんの古い言い方で官庁、会社関係、一部の個人が使用しますが、商売でお得意様を相手にする場合は使わない方がいいでしょう。

各位で満足せず「関係者」「お得意様(厳密には様は不要)」を付け加えるなら、お得意様の具体的名前を入れ「各位」を省くのが現代流だと思います。または「拝啓」などではじめる方がいいような気がします。

フラメンコ研究会会員各位なら相手を特定しているので個人に準じた扱いとなり、現代でも許される範囲の
使い方といえるでしょう。

以上がコメントです。結論として、間違った使用法も含めて「各位」を使いたい人が依然として多いので、
関係者各位、お得意様各位、父兄各位のように使用しても一般には違和感なく受け入れられるでしょう。

個人的意見としては、「各位」が「皆さん」という呼びかけ(相手を特定しない)なので、更に「関係者」とか
「お得意様」という不特定多数をさす言葉を重ねるのは
「個」を大事にする時代の流れに沿わないと思っています。個人的こだわりです。

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい

QLGPLの適用範囲について

LGPLライセンスについて教えてください。

↓にiTextという、OSSのPDFを生成ライブラリがあります。
http://www.lowagie.com/iText/
この場合はデュアルライセンスなのですが、例えばLGPLのライセンスを適用した場合、このライブラリを使ったサーバサイド・プログラム(iTextを改変せず動的リンクしたプログラム)で、PDFを生成する機能を商用サービスの一環として提供した場合、LGPLによる制限が発生するでしょうか?

http://www.opensource.jp/lesser/lgpl.ja.html.euc-jp
↑では、
「複製や頒布、改変以外の活動はこの契約書ではカバーされない。」
とあります。
この場合のPDF生成機能の有償提供は、「カバーされない」部分にあたるのでしょうか?
そしてその場合、「iTextを使用している」という旨を明記したり、ソースの開示をしなくともよいのでしょうか。

上記のようなiTextへのリンクを含んでコンパイルされたプログラム自体を再配布する場合、LGPLの制限が発生するように思うのですが、iTextに限らずLGPLのライブラリを使った成果物の領布において、どのように考えるべきなのか分かりません。
よろしければ、ご教授ください。
お願いいたします。

LGPLライセンスについて教えてください。

↓にiTextという、OSSのPDFを生成ライブラリがあります。
http://www.lowagie.com/iText/
この場合はデュアルライセンスなのですが、例えばLGPLのライセンスを適用した場合、このライブラリを使ったサーバサイド・プログラム(iTextを改変せず動的リンクしたプログラム)で、PDFを生成する機能を商用サービスの一環として提供した場合、LGPLによる制限が発生するでしょうか?

http://www.opensource.jp/lesser/lgpl.ja.html.euc-jp
↑では、
「複製や頒布、改変以外...続きを読む

Aベストアンサー

> この文章が言及している「著作物」は、今回の例で言うと
> 「iTextを利用したPDF生成機能を有したプログラム(を領布する場合)」ではないでしょうか。

はい。そうですね。

> Textに動的にリンクしたプログラムによって生成したPDFファイルは、iTextを内包したり、
> リンクするわけではないので、6が想定しているシーンに当てはまらないように思います。

そのとおりです。

しかし申し訳ありませんが、質問者さんが、プログラムにより作成した
出力そのものを問題にしているとは質問からは読み取れませんでした。
「ライブラリを使った成果物」を勘違いしていましたね。

> iTextを利用してPDF生成機能を有償・無償に関わらず公開する場合、

ここでいう「公開」とは具体的にどういう場面を想定されていますか?

たとえば質問文にあるサーバーサイドのサービスとしてなら、
#1の回答先頭部分にも書いたとおりソース公開の義務はありませんし、
iText使用の明記も同様です。
それは該当の機能の提供が有償であっても変わりません。

しかしながら、そのようなプログラムをたとえばCD-ROMにいれて
販売(頒布)するとか、ユーザーにダウンロードさせるような
形であるならば、お考えのとおりLGPLによる縛りが有効になります。
また、プログラムを使用したことにより得られた結果
(質問者さんの言われる「成果物」)そのものには
基本的にはLGPLはその効力を及ぼしません。



もしまだ腑に落ちない部分があれば遠慮なくどうぞ。
わたしも法律の専門家じゃないので100%の保証はできませんけど。

それからこれらのことはGPL/LGPLがバージョンアップした場合には
変る可能性があることは注意してください。

> この文章が言及している「著作物」は、今回の例で言うと
> 「iTextを利用したPDF生成機能を有したプログラム(を領布する場合)」ではないでしょうか。

はい。そうですね。

> Textに動的にリンクしたプログラムによって生成したPDFファイルは、iTextを内包したり、
> リンクするわけではないので、6が想定しているシーンに当てはまらないように思います。

そのとおりです。

しかし申し訳ありませんが、質問者さんが、プログラムにより作成した
出力そのものを問題にしているとは質問からは読み取...続きを読む

Qdate型でのbetweenについて教えてください。

皆様、新年明けましておめでとうございます。

早速ですが、date型でのbetweenについて教えてください。

SQL文
SELECT * FROM test WHERE date between date '2007-12-01' and date '2007-12-31'

を発行すると、2007-12-31のレコードがあるのに該当しません・・・

試しにSQL文を
SELECT * FROM test WHERE date between date '2007-12-01 00:00:00' and date '2007-12-31 23:59:59'
としても2007-12-31のレコードは検索されません・・・
SQL文を
SELECT * FROM test WHERE date between date '2007-12-01' and date '2008-01-01'
にすると2007-12-31が該当するのですが、
SELECT * FROM test WHERE date between date '2007-12-01' and date '2007-12-31'
では2007-12-31のレコードは該当しないものでしょうか??

select * from test where num between 10 and 100
とした場合では、num が 10 ~ 100 のものが問い合わされますよね??
date型になるとこうならないのでしょうか??

よろしくお願いします。

皆様、新年明けましておめでとうございます。

早速ですが、date型でのbetweenについて教えてください。

SQL文
SELECT * FROM test WHERE date between date '2007-12-01' and date '2007-12-31'

を発行すると、2007-12-31のレコードがあるのに該当しません・・・

試しにSQL文を
SELECT * FROM test WHERE date between date '2007-12-01 00:00:00' and date '2007-12-31 23:59:59'
としても2007-12-31のレコードは検索されません・・・
SQL文を
SELECT * FROM test WHERE date between date...続きを読む

Aベストアンサー

No.1です。
列の属性をtimestampにして実行してみました。

Welcome to psql 8.2.0, the PostgreSQL interactive terminal.
farm=# create table testtbl6 (hoge timestamp);
CREATE TABLE
farm=# insert into testtbl6 values('2007-12-31');
INSERT 0 1
farm=# select * from testtbl6;
hoge
---------------------
2007-12-31 00:00:00
(1 row)

farm=# select * from testtbl6 where hoge between '2007-01-01' and '2007-12-31';
hoge
---------------------
2007-12-31 00:00:00
(1 row)

farm=# select * from testtbl6 where hoge between date '2007-01-01' and date '2007-12-31';
hoge
---------------------
2007-12-31 00:00:00
(1 row)

●時間だけを多少進めたデータを追加してみました

farm=# insert into testtbl6 values('2007-12-31 01:00:00');
INSERT 0 1
farm=# select * from testtbl6;
hoge
---------------------
2007-12-31 00:00:00
2007-12-31 01:00:00
(2 rows)

farm=# select * from testtbl6 where hoge between '2007-01-01' and '2007-12-31';
hoge
---------------------
2007-12-31 00:00:00
(1 row)

farm=# select * from testtbl6 where hoge between date '2007-01-01' and date '200
7-12-31';
hoge
---------------------
2007-12-31 00:00:00
(1 row)

よって、あなたのDBに登録してあるデータは、2007-12-31と午前0時を少し回っているデータが登録されているため、
検索でヒットしないのではないのでしょうか?

No.1です。
列の属性をtimestampにして実行してみました。

Welcome to psql 8.2.0, the PostgreSQL interactive terminal.
farm=# create table testtbl6 (hoge timestamp);
CREATE TABLE
farm=# insert into testtbl6 values('2007-12-31');
INSERT 0 1
farm=# select * from testtbl6;
hoge
---------------------
2007-12-31 00:00:00
(1 row)

farm=# select * from testtbl6 where hoge between '2007-01-01' and '2007-12-31';
hoge
---------------------
2007-12-31 ...続きを読む


人気Q&Aランキング