SlideShare a Scribd company logo
1 of 31
Download to read offline
開発ライセンスと
           プログラマーの自由
                    小山 哲志
                koyama@hoge.org
                    id:koyhoge



                2010-07-31 LL Tiger
                         1
2010年7月31日土曜日
セッションの流れ


          • 小山による背景説明、問題提起 : 15分
          • 会場参加者による議論


                     2
2010年7月31日土曜日
テーマ

 プラットフォームベン
 ダーが、開発言語を契
 約で制限して良いのか?
                 3
2010年7月31日土曜日
Appleによる
     iPhone OS 4
      (iOS4)の開発
        ライセンス   4
2010年7月31日土曜日
経緯

                5
2010年7月31日土曜日
•2009にAdobeは「Packager
           for iPhone」を発表

          •Flashのソースを、そのまま
                iPhone用にビルドし直すこと
                で、iPhoneアプリが作成できる。



                       6
2010年7月31日土曜日
•2010年2月。Appleの内部的な集
           まりで、Steve JobsがAdobeに対
           して不満を表明し、Flashを口汚く
           罵ったという。




                    7
2010年7月31日土曜日
•2010年2月。AppStoreの検査基
           準が厳格化され、微エロなアプリが
           次々と削除される。




                  8
2010年7月31日土曜日
•2010年3月。AppleがHTCを特許
           侵害で提訴。iPhone vs Android
           が明確になる。




                     9
2010年7月31日土曜日
•2010年4月。Appleが、iPhone
           OS 4 SDKベータ配布を開始。




                   10
2010年7月31日土曜日
•John Gruber氏がライセンスの変
           更点をブログで指摘。
       • http://daringfireball.net/2010/04/
           iphone_agreement_bans_flash_compiler




                              11
2010年7月31日土曜日
•問題の3.3.1節。変更前。
        • Applications may only use
                Documented APIs in the manner
                prescribed by Apple and must not
                use or call any private APIs.



                              12
2010年7月31日土曜日
•問題の3.3.1節。変更後。
          •     Applications may only use Documented APIs in the
                manner prescribed by Apple and must not use or call
                any private APIs. Applications must be originally
                written in Objective-C, C, C++, or JavaScript as
                executed by the iPhone OS WebKit engine, and only
                code written in C, C++, and Objective-C may
                compile and directly link against the Documented
                APIs (e.g., Applications that link to Documented APIs
                through an intermediary translation or compatibility
                layer or tool are prohibited).




                                      13
2010年7月31日土曜日
• Applications may only use
           Documented APIs in the manner
           prescribed by Apple and must not
           use or call any private APIs.
       • アプリケーションはAppleによって規定さ
           れた文書化されたAPIのみを使用でき、プ
           ライベートAPIを使用または呼び出しては
           ならない。

                          14
2010年7月31日土曜日
• Applications must be originally
           written in Objective-C, C, C++, or
           JavaScript as executed by the
           iPhone OS WebKit engine, ...
       • アプリケーションは、iPhone OS
           WebKitエンジンによって実行される場合
           は、最初から Objective-C, C, C++,
           JavaScriptで書かれていなければなら
           ず...
                           15
2010年7月31日土曜日
• ... and only code written in C, C++,
           and Objective-C may compile and
           directly link against the Documented
           APIs ...
       • また、コンパイルして文書化されたAPIに
           直接リンクする場合は C, C++,
           Objective-C で書かれていなければなら
           ない。

                          16
2010年7月31日土曜日
• (e.g., Applications that link to
           Documented APIs through an
           intermediary translation or
           compatibility layer or tool are
           prohibited).
       • (例えば、文書化されたAPIに対して、中間
           的な変換、互換レイヤー、ツールを用いて
           リンクするアプリケーションは、禁止され
           る)
                           17
2010年7月31日土曜日
•明確な Packager for iPhoneつ
           ぶし。

       •ただし、巻き添えを食うアプリも多数
           存在。

          •なんらかの変換技術を用いて最終的
                なソースに落としこむ方法は、ごく
                一般的な開発手法。

                      18
2010年7月31日土曜日
•余談だが、AdMobつぶしと見られ
                るライセンス変更も含まれていた。
                • 「アプリの中にデバイスのデータを収集し、処理、
                 解析目的でサードパーティへそのデータを送信する
                 サードパーティ開発のソフトを使用することをはっ
                 きりと禁止する」




                           19
2010年7月31日土曜日
•2010年5月。米政府がAppleに対
           して独占禁止法に関連した調査を始め
           たとの報道。




                  20
2010年7月31日土曜日
•2010年6月。AppleがiOS SDKの
           ライセンスを変更。




                  21
2010年7月31日土曜日
• Unless otherwise approved by Apple in
           writing, no interpreted code may be
           downloaded or used in an Application
           except for code that is interpreted and
           run by Apple’s Documented APIs and
           built-in interpreter(s). Notwithstanding
           the foregoing, with Apple’s prior written
           consent, an Application may use
           embedded interpreted code in a limited
           way if such use is solely for providing
           minor features or functionality that are
           consistent with the intended and
           advertised purpose of the Application.
                             22
2010年7月31日土曜日
•   Appleが書面で承認する場合を除き、Appleの公式API、お
           よびあらかじめ組み込まれているインタプリタによって解
           釈、実行されるコード以外のインタプリタコードをアプ
           リケーションでダウンロードまたは使用することを禁止
           する。上記にかかわらず、事前にAppleの書面による同意
           があれば、そのアプリケーションが本来意図し、宣伝して
           いるところの目的と矛盾しない小規模な機能または機能
           性の提供に用いる場合に限り、アプリケーションは埋め
           込み型のインタプリタコードを限定的に使用することを
           許可される。



                         23
2010年7月31日土曜日
論点
                24
2010年7月31日土曜日
Q: 保守性を担保する
       ため、開発言語を顧客
       から指定されることは
          よくある。
                25
2010年7月31日土曜日
A: Appleは顧客では
       ないし、アプリケー
       ションのコードを保守
       するわけでもない。
                26
2010年7月31日土曜日
Q: 質の悪い中間レイ
       ヤー上のアプリは、プ
       ラットフォームそのも
        のを危うくする。
                27
2010年7月31日土曜日
A: 標準APIのみを
       使ったアプリでも不安
       定で質の低いものはあ
       る。逆もまた然り。
                http://dev.gyrodesign.jp/?p=101
                                 28
2010年7月31日土曜日
Q: Appleは自社が提
       供するプラットフォー
       ムに対して、すべてを
       コントロールする権利
          を持つ。
                29
2010年7月31日土曜日
A: その通り。ただ、
       すべての会社が開発言
       語を指定する世界をあ
        なたは望むのか?
                30
2010年7月31日土曜日
活発な
                議論を
                 31
2010年7月31日土曜日

More Related Content

Similar to 開発ライセンスとプログラマーの自由

HTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNicoHTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNico
Sho KUSANO
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
Satoru Yamaguchi
 

Similar to 開発ライセンスとプログラマーの自由 (20)

HTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNicoHTML5 IMPACT from Multi Device development for NicoNico
HTML5 IMPACT from Multi Device development for NicoNico
 
Lync 2013 アプリの開発ーJapan SharePoint Group
Lync 2013 アプリの開発ーJapan SharePoint GroupLync 2013 アプリの開発ーJapan SharePoint Group
Lync 2013 アプリの開発ーJapan SharePoint Group
 
Osc2012 appinventor のその後
Osc2012 appinventor のその後Osc2012 appinventor のその後
Osc2012 appinventor のその後
 
Firefox OS 1.0 Application Development
Firefox OS 1.0 Application DevelopmentFirefox OS 1.0 Application Development
Firefox OS 1.0 Application Development
 
Lync 2013 API カスタマイズアプリ開発
Lync 2013 API カスタマイズアプリ開発Lync 2013 API カスタマイズアプリ開発
Lync 2013 API カスタマイズアプリ開発
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
オープンセミナー2013@広島
オープンセミナー2013@広島オープンセミナー2013@広島
オープンセミナー2013@広島
 
嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch
 
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
 
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについてドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
ドコモAIエージェントにおけるデバイスWebAPIの活用とサポートプログラムについて
 
Ionicで作るTechfeed
Ionicで作るTechfeedIonicで作るTechfeed
Ionicで作るTechfeed
 
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
オープンソースカンファレンス2010Tokyo/Spring:infoScoop OpenSource&infoScoop Calendar(木村)
 
Webrtc-ORTC-JapanSharePointGroup
Webrtc-ORTC-JapanSharePointGroupWebrtc-ORTC-JapanSharePointGroup
Webrtc-ORTC-JapanSharePointGroup
 
エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
スマートフォンPKG開発成功
スマートフォンPKG開発成功スマートフォンPKG開発成功
スマートフォンPKG開発成功
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling report
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
 
Titanium Development
Titanium DevelopmentTitanium Development
Titanium Development
 
Spring I/O 2018 報告会
Spring I/O 2018 報告会Spring I/O 2018 報告会
Spring I/O 2018 報告会
 

More from Tetsuji Koyama

LLまつりに行こう!
LLまつりに行こう!LLまつりに行こう!
LLまつりに行こう!
Tetsuji Koyama
 
FuelPHPを3ヶ月使ってみて
FuelPHPを3ヶ月使ってみてFuelPHPを3ヶ月使ってみて
FuelPHPを3ヶ月使ってみて
Tetsuji Koyama
 
the History of LL events
the History of LL eventsthe History of LL events
the History of LL events
Tetsuji Koyama
 
the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘
Tetsuji Koyama
 
Keires_DBリリースのご案内
Keires_DBリリースのご案内Keires_DBリリースのご案内
Keires_DBリリースのご案内
Tetsuji Koyama
 
日本は世界一のITコミュニティ天国
日本は世界一のITコミュニティ天国日本は世界一のITコミュニティ天国
日本は世界一のITコミュニティ天国
Tetsuji Koyama
 

More from Tetsuji Koyama (15)

FuelPHP で DynamoDB
FuelPHP で DynamoDBFuelPHP で DynamoDB
FuelPHP で DynamoDB
 
まつりとTシャツと私
まつりとTシャツと私まつりとTシャツと私
まつりとTシャツと私
 
LLまつりに行こう!
LLまつりに行こう!LLまつりに行こう!
LLまつりに行こう!
 
FuelPHPを3ヶ月使ってみて
FuelPHPを3ヶ月使ってみてFuelPHPを3ヶ月使ってみて
FuelPHPを3ヶ月使ってみて
 
the History of LL events
the History of LL eventsthe History of LL events
the History of LL events
 
the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘
 
IPv6の闇とPHP
IPv6の闇とPHPIPv6の闇とPHP
IPv6の闇とPHP
 
PHP Frameworks with IPv6
PHP Frameworks with IPv6PHP Frameworks with IPv6
PHP Frameworks with IPv6
 
LL Planets告知
LL Planets告知LL Planets告知
LL Planets告知
 
Keires_DBリリースのご案内
Keires_DBリリースのご案内Keires_DBリリースのご案内
Keires_DBリリースのご案内
 
PHPで使うIPv6の実際
PHPで使うIPv6の実際PHPで使うIPv6の実際
PHPで使うIPv6の実際
 
PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際PHPプログラミングのIPv6対応の実際
PHPプログラミングのIPv6対応の実際
 
日本は世界一のITコミュニティ天国
日本は世界一のITコミュニティ天国日本は世界一のITコミュニティ天国
日本は世界一のITコミュニティ天国
 
Traitsについて
TraitsについてTraitsについて
Traitsについて
 
ランダム文字ぽいものをつくる
ランダム文字ぽいものをつくるランダム文字ぽいものをつくる
ランダム文字ぽいものをつくる
 

Recently uploaded

Recently uploaded (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

開発ライセンスとプログラマーの自由

  • 1. 開発ライセンスと プログラマーの自由 小山 哲志 koyama@hoge.org id:koyhoge 2010-07-31 LL Tiger 1 2010年7月31日土曜日
  • 2. セッションの流れ • 小山による背景説明、問題提起 : 15分 • 会場参加者による議論 2 2010年7月31日土曜日
  • 3. テーマ プラットフォームベン ダーが、開発言語を契 約で制限して良いのか? 3 2010年7月31日土曜日
  • 4. Appleによる iPhone OS 4 (iOS4)の開発 ライセンス 4 2010年7月31日土曜日
  • 5. 経緯 5 2010年7月31日土曜日
  • 6. •2009にAdobeは「Packager for iPhone」を発表 •Flashのソースを、そのまま iPhone用にビルドし直すこと で、iPhoneアプリが作成できる。 6 2010年7月31日土曜日
  • 7. •2010年2月。Appleの内部的な集 まりで、Steve JobsがAdobeに対 して不満を表明し、Flashを口汚く 罵ったという。 7 2010年7月31日土曜日
  • 8. •2010年2月。AppStoreの検査基 準が厳格化され、微エロなアプリが 次々と削除される。 8 2010年7月31日土曜日
  • 9. •2010年3月。AppleがHTCを特許 侵害で提訴。iPhone vs Android が明確になる。 9 2010年7月31日土曜日
  • 10. •2010年4月。Appleが、iPhone OS 4 SDKベータ配布を開始。 10 2010年7月31日土曜日
  • 11. •John Gruber氏がライセンスの変 更点をブログで指摘。 • http://daringfireball.net/2010/04/ iphone_agreement_bans_flash_compiler 11 2010年7月31日土曜日
  • 12. •問題の3.3.1節。変更前。 • Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. 12 2010年7月31日土曜日
  • 13. •問題の3.3.1節。変更後。 • Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited). 13 2010年7月31日土曜日
  • 14. • Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. • アプリケーションはAppleによって規定さ れた文書化されたAPIのみを使用でき、プ ライベートAPIを使用または呼び出しては ならない。 14 2010年7月31日土曜日
  • 15. • Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, ... • アプリケーションは、iPhone OS WebKitエンジンによって実行される場合 は、最初から Objective-C, C, C++, JavaScriptで書かれていなければなら ず... 15 2010年7月31日土曜日
  • 16. • ... and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs ... • また、コンパイルして文書化されたAPIに 直接リンクする場合は C, C++, Objective-C で書かれていなければなら ない。 16 2010年7月31日土曜日
  • 17. • (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited). • (例えば、文書化されたAPIに対して、中間 的な変換、互換レイヤー、ツールを用いて リンクするアプリケーションは、禁止され る) 17 2010年7月31日土曜日
  • 18. •明確な Packager for iPhoneつ ぶし。 •ただし、巻き添えを食うアプリも多数 存在。 •なんらかの変換技術を用いて最終的 なソースに落としこむ方法は、ごく 一般的な開発手法。 18 2010年7月31日土曜日
  • 19. •余談だが、AdMobつぶしと見られ るライセンス変更も含まれていた。 • 「アプリの中にデバイスのデータを収集し、処理、 解析目的でサードパーティへそのデータを送信する サードパーティ開発のソフトを使用することをはっ きりと禁止する」 19 2010年7月31日土曜日
  • 20. •2010年5月。米政府がAppleに対 して独占禁止法に関連した調査を始め たとの報道。 20 2010年7月31日土曜日
  • 21. •2010年6月。AppleがiOS SDKの ライセンスを変更。 21 2010年7月31日土曜日
  • 22. • Unless otherwise approved by Apple in writing, no interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s). Notwithstanding the foregoing, with Apple’s prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application. 22 2010年7月31日土曜日
  • 23. Appleが書面で承認する場合を除き、Appleの公式API、お よびあらかじめ組み込まれているインタプリタによって解 釈、実行されるコード以外のインタプリタコードをアプ リケーションでダウンロードまたは使用することを禁止 する。上記にかかわらず、事前にAppleの書面による同意 があれば、そのアプリケーションが本来意図し、宣伝して いるところの目的と矛盾しない小規模な機能または機能 性の提供に用いる場合に限り、アプリケーションは埋め 込み型のインタプリタコードを限定的に使用することを 許可される。 23 2010年7月31日土曜日
  • 24. 論点 24 2010年7月31日土曜日
  • 25. Q: 保守性を担保する ため、開発言語を顧客 から指定されることは よくある。 25 2010年7月31日土曜日
  • 26. A: Appleは顧客では ないし、アプリケー ションのコードを保守 するわけでもない。 26 2010年7月31日土曜日
  • 27. Q: 質の悪い中間レイ ヤー上のアプリは、プ ラットフォームそのも のを危うくする。 27 2010年7月31日土曜日
  • 28. A: 標準APIのみを 使ったアプリでも不安 定で質の低いものはあ る。逆もまた然り。 http://dev.gyrodesign.jp/?p=101 28 2010年7月31日土曜日
  • 29. Q: Appleは自社が提 供するプラットフォー ムに対して、すべてを コントロールする権利 を持つ。 29 2010年7月31日土曜日
  • 30. A: その通り。ただ、 すべての会社が開発言 語を指定する世界をあ なたは望むのか? 30 2010年7月31日土曜日
  • 31. 活発な 議論を 31 2010年7月31日土曜日