パスワードを忘れた? アカウント作成
6164 story

Windows上でApacheを利用する場合のライセンス 172

ストーリー by wakatono
できるとこから明確に 部門より

この件に関連して多くのタレコミをもらったが、その中からk3c 曰く、 "だめだめ日記より。日本Apacheユーザ会のWebページにおいて、Windows上でApacheを動かす場合のライセンスの解釈について、2月28日にMSKK(マイクロソフト株式会社)との間で持たれたミーティングの結果が公開されている。MSKKの公式見解としては、

  • EULA(使用許諾契約書)において「サーバーソフトウェアとしては使用できない」とされているWindows 2000 Professional及びWindows NT workstationでは、Apacheを公開Webサーバとして動作させることは許諾されない。
  • 「サーバーソフトウェアとしては使用できない」とされていないWindows XP Professional/Home Editionにおいても、Apacheサーバに対する最大同時接続数はEULAによって10(EULAによっては5)に制限される。
…とのこと。Windows上でApacheを利用しているヒトはきちんと設定等確認しておくべし。"

上記日記に補足がある。個人的な見解と書いてあるが、多くの経験に基づいたものと思われるので、参考になる。

また、Rockman曰く、「非常にWindows OS が使いづらいものになってしまいますね」とのことだが、ライセンスの解釈が不明確な場合も使いづらい。

注意してほしいのは、この事項はライセンス(EULA)に起因するということである。IBMDELLのマシンにプリインストールされたOEM版Windows XPのEULAでは、OSのダウングレードを認めており、ダウングレード後もライセンスとしては元のEULAが適用される。例えばだが、このようなライセンスに記述されている範囲のダウングレードを適用し、Windows 2000 Professional を動かしている場合には、EULAとしてはWindows XP Professionalのものが適用されるということである。この場合はWindows 2000 Professional上でApacheを動かして外部からのアクセスを受け付けていても、同時接続数10というのを超えない限りはEULA違反にはならない。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2003年07月20日 1時17分 (#362244)

    まずはずっと昔(NT4.0時代)にMicrosoft(本国と日本)に問い合わせをした結果から書きます。
    Apacheほど有名なソフトではないですが、私自身もとあるTCP/IPの一サービスのサーバ側になりうるソフトを書いていたので、それのライセンス周りの疑問点をぶつけた結果です。
    ちなみに私のソフトではWindowsユーザ認証もNetBIOSも使っていません(仕様上存在しません)。

    • (日本での見解) TCP/IPの受付側で10の同時接続を受け付けるまでがWorkstation(現Professional)のライセンス範囲である。
    • (本国(USA)での見解) Windows NTユーザ認証、ファイル・プリンタ共有、Peer Web Servicesの機能による接続でない限りはWorkstationの10同時接続のライセンスは消費しないし、必要ともしない。従って、問い合わせのTCP/IPサーバではライセンスは不要。

    MSDNを通じてそれぞれ問い合わせを行なったのですが、一方が他方と矛盾している旨をそれぞれ伝えてもそれぞれが「俺が正しい」を繰り返すだけで一向に埒が明きませんでした。

    そこで再度使用許諾契約書を読み直してみました。以下NT4.0 Workstation使用許諾契約書からの部分引用。
    「ただし、お客様はファイルとプリンタの共有やPeer Web Servicesなどの本ソフトウエア製品のサービスを呼び出し使用するため、最大10台のコンピュータからワークステーションコンピュータに接続することができます。」

    ここから判断するに、私の作ったソフトはファイル・プリンタ共有もPeer Web Servicesも使いませんし依存していませんのでこれらに該当しておらず、従って10同時接続の制限も無い(つまり本国側の判断が正しい)と解釈しました。

    そもそもサーバソフトを動かしてはならないというのならPeer Web Servicesの存在そのものが使用許諾違反ですし、TCP/IPの受付側が10同時接続だとしたらPeer Web Servicesのftpサービスでは少なくとも2個のTCP/IPコネクションが必要なので事実上5同時接続しか許されないことになってしまいます。
    また、所有者本人が許可していなくても勝手にSYNを投げてきて接続してしまう場合もありえます。利用者の身勝手な判断で「これは許可していないからカウントの対象外」なんて言い捨てられるのでしょうか?

    日本での回答は謎だらけです。

    • まったくの推測(妄想ともいう)なんですがMSとしては以下のような思惑なんじゃないかなあなんて。

      • MSとしては高額なServerを売りたい。CALも売りたい。だから、workstation版ではサーバとして動作させるのにきつい制限を設ける。
      • しかし、あまりにも厳密に制限を適用してしまうとwebサーバなどの市場でLinux等が優位になってしまう。少なくともサーバとしてWindowsを諦めちゃうところが出てきてもおかしくないでしょう。workstation版とは違ってserver版は結構高価ですから。
      • しょうがないのでこの辺は曖昧にしておこう。保険のためにEULAには制限を明記しておくし、きかれたら「だめよ」くらいは言うけど、そんなにうるさく言う気はない(言えない)。

      ま、ちょいとOSとアプリケーション(Apache)をごっちゃにして書きましたけどこんな感じじゃないかな。複雑なライセンスでもMS側の担当者がそれを理解していないのではなくてわざと曖昧なままにしてるような気がします。もしWindows+IISが天下を取ったら厳しく言ってくるようになるんじゃないでしょうかね。

      親コメント
    • まずはずっと昔(NT4.0時代)にMicrosoft(本国と日本)に問い合わせをした結果から書きます。

      MSのライセンス規約はしょっちゅう変更されているので、昔のライセンスの話を元に議論すると混乱しますぜ。

      親コメント
  • by Anonymous Coward on 2003年07月20日 5時16分 (#362354)
    煽りとかフレームのもとと評されるのを覚悟して書きます。

    Windows は一般のアプリケーションとは異なり、それ自身が提供する環境で
    他の(著作権/使用許諾を持つ)アプリケーションを実行します。
    OS 自身が提供するアプリケーションレベルの拡張機能(FS/PS、IISやTS)に
    ついて同時接続数等の制限を設定し、ライセンス販売をもって利益を得る
    ことは営利企業であることからも当たり前のことだと思います。

    しかし、ネットワーク等の基本機能や、OS の使用用途についてこれらの
    制限を課すことは、その OS 上で動作する他のアプリケーションの
    使用用途はもとより、その理念や信条に大きな影響を与え、正常な(アプリ
    ケーションレベルのサービスでの)市場競争を阻害するだけだと考えます。

    ある種の一方的(で実質的)なライセンス制限を強制的に与える今回の回答は、
    Windows が OS であるという特殊性から、とても強い強制力があります。
    今回は apache の話でしたが、今回の前例ができたことで他のサーバアプリ
    ケーションについても強制力が働くことになります。
    # これって一般的なことなのでしょうか?

    で、結局何が言いたいかというと、OS という特殊なアプリケーションの
    ライセンスとして、他のライセンスを持つアプリケーションにまで影響する
    制限
    を加えることは、Windows 上で動作するアプリケーションに関する
    市場(?)に対する独占にあたるのではないかということです。
    /.-J に集う諸氏はどのように思いますか?

    # 米国の商務省に相当する日本の機関はどこなのでしょうか?
    # Windows 上で動作するアプリケーションを配布している身としては、
    # 不当な制限を加えられたと提訴したい気分です。(^_^;;

    私の配布するアプリケーションのライセンスに不特定多数の接続を許諾
    します
    と書くとどうなるのだろう...。
    • 確かにサードベンダが Windows 向けのソフトウェアを提供する余地を狭める許諾条件であると思います。


      # 米国の商務省に相当する日本の機関はどこなのでしょうか?
      # Windows 上で動作するアプリケーションを配布している身とは、
      # 不当な制限を加えられたと提訴したい気分です。(^_^;;


      公正取引委員会ではないでしょうか。
      親コメント
    • ライブラリという特殊なアプリケーションのライセンスとして、他のライセンスを持つアプリケーションにまで影響するGPLを。。。とか考えていてふと思った。

      たしか(ライブラリではなく)OSのライセンスとしてのGPLはその上で動くアプリケーションまでは影響しないはずだ。もし今回の見解が認められれば、その影響の伝播速度はGPL汚染よりも速いのではないか?少なくとも1次感染の影響度の大きさは。

      で、2次感染以降がどのように起きるかというと、

      >私の配布するアプリケーションのライセンスに不特定多数の接続を許諾
      >しますと書くとどうなるのだろう...。

      というようなアプリケーションはダメだよということになって、どんどんすべてのWindows上のアプリケーションのライセンスが書き換えられていく・・・

      なわけないか。
      親コメント
    • それを考えると裁判でもあれば、そもそもの使用許諾契約書の該当部分が
      法律に触れているので無効との判断が出そうですね。米国の使用許諾書も
      同じだとすれば、独占禁止法違反裁判でこの部分を叩いていないのだろうか。
      親コメント
  • by Anonymous Coward on 2003年07月20日 0時50分 (#362220)
    # 色々とアレなので匿名とさせてもらうが……。

    ウチの会社も、サーバーとして動作するプログラム作って売ってるんだよね。(ショボい奴だけどさ)
    で、この件が気になったので、以前会社でMSKKに問い合わせしてみたんだが、その時の回答は確か「Windowsのアカウントを利用しているのでなければ問題ない」って話だったはずなんだ。
    (詳しい経緯を知らないんで、曖昧な点は申し訳ない)

    こりゃダブルスタンダードって奴じゃないのかな?
    それとも、以前と方針を変えたとか?
    マジでこんなことになるんなら、ウチもWindows系は捨てるしか選択肢がなくなる……。
  • by iranasam (9982) on 2003年07月20日 1時01分 (#362230)
    ポイントはApacheのライセンス(APL)ではなく、Windowsのライセンスに違反するというところですかね。

    公開Webサーバとして動作させる事ができない、というのはlocalhost以外のノードからの
    アクセスができないという解釈でいいのでしょうか。
    開発機として、Windows 2000 Professional上でApacheやらTomcatやらを稼働させて
    Webアプリケーションをプログラミングするというのは割とよくやっている手段
    だと思われますが、localhost以外のIPアドレスでlistenしなければ回避できるのかな。

    状況によっては、かなり問題になりそうな気がします。
    (Apache以外でも、OracleとかWebLogicなどもいけない訳です)
  • by kyoichi (5359) on 2003年07月20日 2時02分 (#362282)
    > EULA(使用許諾契約書)において「サーバーソフトウェアとしては使用
    > できない」とされているWindows 2000 Professional及びWindows
    > NT workstationでは、Apacheを公開Webサーバとして動作させるこ
    > とは許諾されない。

    あの~、Win2000Proには、「サーバソフト」であろう、IISが
    バンドル(後付け式)されているんですけど・・・。

    もし、上の文言が真であるならば、
    「Win2000Pro(またはWinNT)でIIS動かすなーっ!(ごらぁ!)」
    ということになるんですけど。
    • by wakatono (12) on 2003年07月20日 2時29分 (#362302) ホームページ 日記

      「サーバソフトウェアとしては使用できません」てのは、IBMのOEM版Windows 2000 ProfessionalのEULAには書いてあります(他のはよくしらない)。ですが、IIS(インターネットの情報サービスとなってます)に関する事項は例外として記述されています。なので、接続数10を超えない限りはIISは利用可能ですよ。パッケージ版は、サーバとして云々というのは書いてませんが、IISの利用を接続数10を超えない範囲で使える旨の記述があります。

      OEMベンダによってビミョーにEULAの日本語訳が違ってたりするらしい(伝聞)ので注意が必要です。

      --
      wakatono
      親コメント
  • by airhead (13423) on 2003年07月20日 2時21分 (#362297) ホームページ 日記

    Windows 2000 Proでもいろいろではないでしょうか。手元のWindows 2000 Pro SP3 OEM版のeula.txtには、

    1. ライセンスの許諾 お客様が本契約書のすべての条項および条件を厳守する 限り、本製造者はお客様に対し以下の権利を許諾します。

    ・インストールおよび使用
     本契約書に明示的に規定されている場合を除き、お客様は、 本ソフトウェアのコピーを 1 部に限り本コンピュータにインストール して使用、アクセス、表示、および実行することができます。 (略)お客様は、ファイルとプリンタの共有サー ビス、インターネットの情報サービス、およびリモート アクセス (接続の共有およびテレフォニー サービスを含みます) のためにの み本ソフトウェアのサービスを利用するため、最大 10 台 (以下 「最大接続数」といいます) のコンピュータまたはその他の電子 デバイス (以下各々を「デバイス」といいます) から同時に本コン ピュータに接続することができます。接続数をプールまたは一体 化する「マルチプレキシング」またはその他のソフトウェア、ハード ウェアを利用する場合であっても、間接的な接続数が上記の 10 台の最大接続数という制限を越えてはならないものとし ます。(略)
    (EULAID:W2KSP3_RM.0_PRO_OEM_JA 2002/07/29 21:00:00)

    なんて書いてあります。

    すでにIISについて指摘されてますが、クライアントOSとして運用されていたWindows 2000の多くでIISが動いてたことが、NIMDAなどが爆発的に広まった一因だったような気がするんですが、違いましたっけ?

    • >お客様は、本ソフトウェアのファイルとプリン
      >タの共有サービス、インターネット インフォメーション サービス、およ
      >びリモート アクセス (接続の共有およびテレフォニー サービスを含み
      >ます) のうちの 1 つまたは複数のサービスを利用するため、最大
      >5 台 (以下「最大接続数」といいます) のコンピュータまたはその他
      >の電子デバイス (以下各々を「デバイス」といいます) から同時に
      >本コンピュータに接続することができます。接続数をプールまたは一
      >体化する「マルチプレキシング」またはその他のソフトウェア、ハード
      >ウェアを利用する場合であっても、間接的な接続数が上記の 5
      >台の最大接続数という制限を越えてはならないものとします。本契
      >約書で許可されている場合を除き、お客様は本ソフトウェア、本ソ
      >フトウェアのユーザー インターフェイス、または本コンピュータ上のそ
      >の他の実行可能ソフトウェアをデバイスで使用、アクセス、表示ま
      >たは実行することはできません。上記の 5 台という制限は、本ソフ
      >トウェアのその他の使用には適用されません。
      Microsoft(R) Windows(R) XP Home Edition日本語版_SP1_OEM版のeula.txtより引用。

      上の部分って、認証ありのサービスだよね。
      「ファイルとプリンタの共有サービス、インターネット インフォメーション サービス、およびリモート アクセス (接続の共有およびテレフォニー サービスを含みます) のうち」と断っているようだし。
      「上記の 5 台という制限は、本ソフトウェアのその他の使用には適用されません。」の「その他の使用」って何に対するその他の使用と言っているのかはいまいちよく分からないが、「のうち」と断ったその他の使用を指すんじゃないの?
      IISは制限に拘束されるが、apacheが拘束されるとは俺は読めないな。
      webサーバーとかそういった表記はないよ。

      と言うか、MSが提供しているユーザー認証が必要なサービスだから、5台以上の同時接続するならばサーバー用のを買ってくれって話でしょ。
      MSの提供しているユーザー認証機能を使っていないのに、拘束されるのは独占禁止法上問題だよ。
      だから、MSにそんな権限無いんじゃないの?
      親コメント
  • by Anonymous Coward on 2003年07月20日 1時02分 (#362234)
    同時接続数に関しては、HTTPプロトコルを
    UDPを使うように作り直せばいいんじゃ?

    # 接続って概念はTCPのもんだよね。
    # Keep-aliveはあきらめる。

    既存のブラウザとの互換性がないって?
    じゃあ、ProxyにTCPとUDPとの相互変換をさせる機能を
    もたせてそれは別マシンで走らせる。
    もう一台マシンを用意するのがいやなら、
    Linux上でその変換サーバを走らせて
    Windowsの方はvmware上で走らせる。
  • by Anonymous Coward on 2003年07月20日 1時27分 (#362250)
    >・ Apacheは「インターネットの情報サービス」であるため、 EULAにおける「インターネット情報サービス」に関する規定が適用される

    インターネット情報サービスって・・・・。
    EULAに書いてあるのって、どう考えてもIIS(Internet Infomation Service)を指すと思うんですけど。

    同様に「ファイルとプリンタの共有サービス」、 「リモートアクセスサービス」に関してももいずれもWindowsの固有サービスを指すもので有って、
    一般的な機能を指すものじゃないと思うが。

    それらのサービスに直接/間接的にアクセスしてなければ関係ないだろ。
    少なくとも、サーバのCALに関してはそういう回答を貰った事があるけど。

    # 本当にMSKKの見解なのか?もう少し真面目に質問した方が良いと思うぞ。
    # こんな適当な解釈を受け入れて良いのか?
    • by kurikinton (16892) on 2003年07月20日 1時52分 (#362270)
      >インターネット情報サービスって・・・・。
      >EULAに書いてあるのって、どう考えてもIIS(Internet Infomation Service)を指すと思うんですけど。

      私もそう思います。
      そもそも,ユーザがいれたアプリケーションの使用方法を縛る規定というのはあり得るのでしょうか?

      サーバとして使ってはいけないのだとすれば,それはMSが提供しているOS部分だけと解するほうが自然に感じます。

      また,明確に使用許諾書に書いていないのであれば,今回の見解は契約内容の一方的な変更になりませんか?少なくとも現在のユーザは,今回の解釈が使用許諾書に合意する前に示されていないのですから…

      MS明朝&ゴシックの他OSからの使用についてでも使用許諾書に書いていないことを言ったりと,法的な検証が無いまま見解が出されている気がしてなりません。
      親コメント
    • 俺のXPでは「インターネット インフォメーション サービス」ってなっているよ。
      webサーバーを指すようには全く感じられない。

      ところで、拡大解釈がまかり通るならば、電子デバイスも、キーボード、マウス、ヘッドフォン、スイッチングハブ、CRT、TA、プリンターの7台?が既に接続済みの様な気がする。
      親コメント
  • EULAに違反したらどうなるの?
    使用許諾契約書とやらをみても、どうなるとは書いてないし。

    そもそも「同時接続」の明確な定義がされてるのかな。
    そんなのプロトコルスタックによって違うと思うんだけど。
    • >6.契約の終了
      >お客様が本契約書の条項および条件に違反した場合、マイクロソフトは、他の権利
      >を害することなく本契約を終了することができます。そのような場合、お客様は本
      >製品の複製物およびその構成部分をすべて破棄しなければなりません。

      少なくとも、アップグレード版のWindows2000のEULAには上記の項目がありました。

      しかし、上記の項目に従うのならばMSからの破棄通告がなければそのまま使い続けて良い様にも読めます。
      実際に法的にはどうなんでしょうか?(まあ、法的にEULAが本当に有効かという話もありますけど。)
      親コメント
  • とかする場合もやはりWindowsのコネクション数制限が適用されるのでしょうか。
    まぁそもそも実用性などは皆無ですが…。

    必要なライセンスに抵触するようなネットワーク機能については、
    既にWorkstationとServerで差別化されているといままで思っていました。
    例えば、ファイル/プリンタ共有機能の同時コネクション数などは動作させようとしても動作出来ず、
    Serverとの区別が付きました。

    winsockレベルで一つのポートにつきコネクションを張れる最大数を定め、
    10以上はServerという位置にあたるのでServerを導入しろと言っている風にしか取れない…。

    Linuxとかに小規模サーバも移行する時期なのかなぁ。
  • Windows のライセンスは、他のソフトウェアのライセンスを侵害できるほど 強力なものなのだろうか?

    例えば、Windows Workstaion 上に VMware で Linux をインストールし、 マルチユーザで Linux を使うのはライセンス違反だろうか? もし、ライセンス侵害に当たるとするなら、それは Linux のライセンスを 侵害していることになりはしないか?

    こう考えると、Windows の EULA に含まれる制限事項は、Windows に含まれる ソフトウェアに適用される利用制限であって、他のアプリケーションに およぶと解釈するのは無理があると思います。

    Windows のリリースによらず、Apache をそのライセンスの下で使う (インターネットに公開するなど) 限り、ライセンス違反を問われる話とは私には思えません。

    --
  • by HOTRATS (8931) on 2003年07月20日 11時39分 (#362486)

    マイクロソフトが言っている最大同時接続数ってどうやってカウントすればいいんでしょう?

    • 10台以上の PC を Windows ネットワークで繋いで、ファイルを共有するのは駄目なのかい?
    • プロクシを公開サーバーの間において、外部からの接続を PREROUTING すれば接続数の制限にはひっかからないのでは?

    解釈が面倒くさいので、いっそクライアントOSという位置付けの製品では、ネットワーク API の実装を変えちゃって、例えば accept は10個以上受け付けなくするとかして、「本製品は TCP/IP に基づいた、制限されたネットワーク機能を提供します」とうたってほしい。

    # どちらにしても、ますます Windows が使いたくなくなった
    • どこにつけていいのかむちゃくちゃ迷ったけどここに

      10台以上の PC を Windows ネットワークで繋いで、ファイルを共有するのは駄目なのかい?

      そいつあOKです。ちゃんと違反しないように数えてます。
      Windowsの共有フォルダサービスを使うと、CALの数のアカウントがログオンした状態でもっとログオンしようとするとはねられます。W2kServerの素の状態で5件、W2kProだと10件ですね。


      ネットワーク API の実装を変えちゃって、例えば accept は10個以上受け付けなくするとかして

      激しく同意。

      いやーどうしよう。
      客先のイントラで情報共有用に使うんで、W2kServerにIIS入れたんだけど、
      デフォルトが同時接続1万件になってたからそのままにしてきちゃったよ。5にしなきゃいけないのかなあ。それじゃやばいよー
      しかし、次回からは使えないなCALの予算的に。ただでさえ15万って値段とやたらと出るパッチに文句いわれてんのになー
      親コメント
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...