NatsuLion for iPhone クローン (略) から学んだこととかまとめ

NatsuLion for iPhone クローンがライセンス違反で売られてる件 - @takuma104 log
はてなブックマーク - NatsuLion for iPhone クローンがライセンス違反で売られてる件 - @takuma104 log

たくさんのブクマ & コメントありがとうございます。こんなに反響があるとは思いませんでした。。やっぱりライセンス問題は気になりますよね。ということで、今回の件でいろいろ勉強したこととか、コメントいただいてたのの回答とかまとめてみました。

(追記)
ちなみに上記のエントリに追記しましたが、Twittervilleの中の人からメールをもらっていて、事態は収束の方向です。現時点で先方はTwittervilleアプリの販売を取り下げているようです。

New BSD License (と MIT License) について

コメント欄でご指摘いただいたのですが、New BSD License について、一部僕が勘違いしていた節がありました。バイナリにクレジットが必須だと思っていたのですが、そうではないようです。

いろいろ検索して、弁護士さんの書かれた物と思われる非常に分りやすい文章を見つけました。

「名義と免責事項については、最終使用者が使用にあたって確認しようと思えば確認しうる状態となっている必要があります (略) BSDライセンスのライセンス条件の第2項で、バイナリ配布の際にドキュメントに、ライセンス条件と免責事項を記載するよう要求しているのもその趣旨と言えます。」

http://www.homu.net/2007/06/post_cd47.html

とあります。つまりバイナリではなく、付属ドキュメントとかに記述する形で良いようです。あと免責事項も入った License 文書全体をちゃんと入れないと「正し」くはないようです。

まず、AppStoreのアプリは、基本的にドキュメントというものが存在しません。なぜか。それは、iPhone Application Human Interface Guideline という文書に、「アプリはドキュメントを読まないでも使えること」と書いてあるからです。実際にこれが審査基準になっているものと思われます。MacWindowsでいうヘルプ文書みたいなものはシステム上存在しません。アプリに組込みのチュートリアルとして、使い方を説明している、というものはありますが、それもゲームのチュートリアルのように、せいぜい数画面分程度のものです。

AppStore で配布する際の iPhone アプリで、New BSD License のコード等を使用する場合の適切な方法は、僕の考える限り、以下ぐらいの手法ではないかと思います。

  1. EULA に License 文書をそのまま入れる
  2. アプリのどこか、たとえば「設定」や「このアプリについて」とかに、License 文書を全文表示できるような仕組みを作る (webViewっぽいViewで組み入れているものも見かけますね)
  3. AppStore からリンクされているサポートページが事実上ドキュメントなので、そこに License 全文記載されているページへリンクする

まず1のEULAですが、インストール時に一度表示され、その後表示されないような気もしますので(されるんでしたっけ??)、「確認しようと思えば確認しうる状態」では無いような気もしますが、ライセンス文章を出すタイミングのUIとしては良いと思います。2のアプリは、いつでも確認しようと思えばできますので、これは一番安全そうな気がします。3は、厳密に "provided with the distribution" されているのかどうか良く分りませんが、すくなくともいつでも確認しようと思えばできそうです。

あまり厳密な考察でもなんでもないですが、アプリの都合上2が取れない場合は、1と3を併用が良いのかなあとか思いました。

ちなみに、MIT License だとまた話が変って、上記の弁護士さんのエントリによると、最終使用者つまりアプリを入手して使う人に対して、クレジットを表示する義務はまったく無いようです。ただ入れたほうが良いぐらいなニュアンスとのこと。入れる義務があるのは、むしろソースコードのほうだそうです。MIT License と BSD License の差もあまり良く分ってない状態でしたが非常に勉強になりました。

使い分けとしては、

  • ライブラリなど、ソースコード自体をよく改変して使うと想定されるもの → MIT License
  • アプリケーションなど、そのままコンパイルしてバイナリ配布される可能性もあるもの → New BSD License

とするのが良いのかなあと。

BSDライセンスでの過去の同様(?)な事例

t_yano さんから。

ソースコードダウンロードしてアートワークだけ変えて配布、て話は「シイラ」でも過去にあった(これはiPhone用じゃなくMac用ソフトだけど)。油断してると普通にあるので注意した方がいいと思う。

はてなブックマーク - t_yanoのブックマーク / 2009年3月29日

シイラのこの件について調べてみました。作者のHMDT木下さんの日記にそれらしい記述を見つけました。

VersionTracker に、iSurf とかいうブラウザが登場しているけど、これはシイラの名前とアイコンを変えただけのもの。

シイラの再配布条件は BSD ライセンスで、コピーライトさえ明記してあれば改変、再配布は自由。だから、iSurf でもなんでも別に構わない。BSD ライセンスにしたのは、シイラをもとにして、いろいろな機能を持ったブラウザが出てきたら嬉しいから。iSurf がこの後独自機能を持つかどうか、見守ることにする。ま、無理だろうけど。

http://hmdt.jp/archives/2005_01.html#sec2005011301

とあります。残念ながら、すでにもう4年も前のためか、webからこのドメインごと消失しまっているので詳細が不明です。ちゃんとドキュメントにクレジットするとかされていたのかが気になります。

あと同じ日のその下の文

その点、SunriseBrowser はとても面白い。こういうソフトの助けになったら、シイラソースコードを公開しているかいがあった、というものです。

http://hmdt.jp/archives/2005_01.html#sec2005011301

こちらの SunriseBrowser のリンク先にあった Sunrise は、現在も修正BSDソースコード付きで配布されているようです。しかし、copyright が、この会社のプロジェクト名になっているようです。以下2つの可能性が考えられます。1つは、すでにシイラのコードは一切無くなっているので、copyright の表示が要らなくなった、もう1つは、なんらかの理由でクレジットしてない、です。ちなみにたぶんforkしたであろう2005年時点のシイラのコードと現状とを比較すれば何か分るのかもしれません。

(追記)

@t_yanoさんからtwitterでリプライいただきまして、どうもこっちのようです。

メールをいただいたのですけど、jungle という Web ブラウザがあるらしい。どっかで見たようなブラウザだが。
別に再利用するのはかまわんのだけど、コピーライトとライセンスは付けてくれ。と、メールしておこう。

http://hmdt.jp/archives/2004_09.html#sec2004091405

なるほど、今回の事例そのままっぽいですね。残念ながらこれもリンク切れてて詳細不明。

この件をどう解決するかの案

shi3zさんから。

アップルに英文で訴状を送ればアップル側で削除要求を出してくれます

はてなブックマーク - shi3zのブックマーク / 2009年3月29日

というそのものズバリな回答をいただきました。なるほど。最終的にはこれしかなさそうですね。まだ当面事態を注視しつづける必要がありそうですが、とりあえずなんとか丸く収まりそうな気配なので、この手段は取らないで済むのではないかと期待しています。訴状となるとおそらく弁護士さんに頼むしかなさそうで、個人でやってるようなプロジェクトだと若干ハードルが高いところがありそうです。

ageha0さんから。

正しいかどうかはわかりませんがこの記事を英文化してみてはどうでしょうか?

http://b.hatena.ne.jp/ageha0/20090329#bookmark-12718967

なるほど。これもごもっともだと思うので、記録の意味も含めて、githubのprojectページに英文にして貼っておこうと思います。

今回新ためて思ったのは、やはり「何かあったら(blog)エントリ書く」はかなり強いということです。自分の主張が、客観的に見て相当間違ってるものでもないと自分として信じられる限りは、おそらく賛同や助けてくださる方は居るのではないかと。

あと、iPhone SDKデベロッパの人に限った話ですが、 http://twitter.com/iphone_dev_jp はいざというとき、かなり頼もしい存在になりつつあると思うので、何かあったらここに投げるというのも1つの手だと思います。*1 (NDA事項以外であれば)何かあった場合誰かが助けてくれているようですし、もし僕が力になれることであれば力になれるよう努力します。

おまけ

ヘタクソな英語でTwittervilleの中の人にメールしたのですが、それを貼っときます。何か同様なことが起きた場合とか(?)もし使えればと。重要なのは、何が問題かというのを客観的に示すということだと思い、この文章構成になってます。今回の場合は、まず、Twitterville が見た目上ソックリであっても、中身まで NatsuLion for iPhone のソースを使ったと示せないので、バイナリを otool してシンボルを全て比較するという手法を取りました。otoolの使い方教えてくれた @norio_nomura さんに感謝です。

ちなみに diff は一部自重しています。

To Whom It May Concern:

We found your Twitterville app on the AppStore today, Twitterville seems almost same as our NatsuLion for 
iPhone 1.06 on our github.
http://github.com/takuma104/ntlniph

While investigating the possibility of your Twitetrville app on the AppStore, it was discovered that otool result 
indicates almost same excepting 'NTLN' prefix. The following is the diff of otool result.

$ otool -tv Twitterville | grep : | sort > twitterville.txt
$ otool -tv ntlniph | grep : | sed -e s/NTLN// | sort > natsulion.txt
$ diff twitterville.txt natsulion.txt 

> +[AboutViewController creditTextView]:
48a50
(snip)

Please read carefully the license terms and don't delete original our credit notices 
in "About Twitterville for iPhone" screen. 

(from LICENSE file)
Copyright (c) 2007-2008, Akira Ueda
Copyright (c) 2008 Takuma Mori
 All rights reserved.
 Redistribution and use in source and binary forms, with or
 without modification, are permitted provided that the following
 conditions are met:
 * Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.
 * Neither the name of the Akira Ueda nor the names of its contributors
   may be used to endorse or promote products derived from this software
   without specific prior written permission.
   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Sincerely,

Takuma Mori
takuma104@gmail.com
Natsulion.org

*1:Twitterやってない人には敷居高いかもしれませんが、twitter.comでアカウント作って、iphone_dev_jpをフォローして、@iphone_dev_jp ほげほげ で、ここに「ほげほげ」とメッセージが流れるという簡単システムになってます