SDXFrameWork 0.12 SDXFrameWork

- Main Page
- Related Pages
- Classes

All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Ｑ＆Ａ

よくありそうな質問

Ｑ.何故緩いライセンスではなくAGPL ver3なの？
Ａ.
最大の理由は利用者同士がお互いにコードを共有した方が、開発者とユーザーの利益になるとの結論に至ったからです.
詳しくはSDXとは?を読んで下さい.
AGPLなのはWebGLに対応する可能性が0では無いからです

Ｑ.ライセンスが英語なのでよくわからないです
Ａ.
非公式ですが、こちらが参考になると思います
http://www.ipa.go.jp/osc/osslegal.html#GNUGPL1
このライブラリを使ったソフトウェアを配布する場合ソースコードを入手可能にしライセンスをAGPL ver3にする必要があります、
画像や音声、シナリオ、スクリプト等の外部ファイルのライセンスはAGPL ver3にする必要はありません。
入手可能であれば良いので
①誰でもダウンロード出来る形でGithub等で公開する
②プログラムと一緒に配布する
③問い合わせ先を明記して要求があればコードを送る
のように手段は問いません

Ｑ.不注意や勘違い、あるいは故意にライセンス違反したらどうなるの？
Ａ.
ライセンス違反を発見した場合、是正を要求します。即訴訟とかはあり得ません。
ただしライセンス違反は好ましくありませんので、疑問があればフォーラムで質問して下さい。
故意に違反するのはやめましょう。

Ｑ.AGPLのコードを読んでアルゴリズムや設計を勉強した後、一から似たようなコードを描いた場合AGPLで公開する必要はありますか？
Ａ.
アルゴリズムや設計、デザインパターンは著作権で保護されないので、GPLのコードを読んでプログラミングを勉強したからといってAGPLで公開する必要はありません。
コードを読んで記憶を頼りにほぼ同じソフトを作るとか、コードを横に並べて変数名やら細部を微妙に変えたコードに書き直すとかする場合はAGPLにする必要があります。

Ｑ.破壊的変更って何？
Ａ.
ライブラリ利用者が新しいVerに上げた時、今までのコードにエラーが出たり挙動が変わったりする修正の事です。
バグの修正や未実装機能の実装によって、正常な動作になる場合は破壊的変更とは書いていません。
SDXでは必要があったり、使いやすさが向上する場合破壊的変更を行った過去があるので、Verを上げたら大量のエラーが出る事がありました。
現状大体の問題は解消したのですが、今後も無いとは限りません。
修正内容については更新履歴を確認して下さい。
Verを上げた時に利用者のコードを修正する必要があるのは好ましくないのですが、破壊的変更を行わず使いにくいままにするより、修正を行ったほうが良い事もあるので、ご了承下さい。

Ｑ.Appstoreで配布出来ない？
このような事情があり配布は困難です。
年齢制限等は緩和されましたが他はあまり変わっていません。
http://sourceforge.jp/magazine/08/04/17/0141213
いわゆる脱獄アプリとして配布する事は可能ですが、メーカー保障が切れるそうなので推奨はしていません。
Appstore等で配布したい場合、別のライブラリを使う事をお勧めします。
Appstore以外でも秘密保持契約が必要だったり、DRMを付けないといけないプラットフォームでは配信出来ません。

Ｑ.SDXFrameworkのソースも一緒に配布する必要はありますか？
Ａ.
ライブラリに何らかの修正を加えた場合は、ライブラリのコードも配布する必要があります。
それ以外の場合はSDXFrameworkのバージョンと入手方法を明示していれば、ライブラリの部分は配布しなくてもかまいません。

Ｑ.関数の使い方はどうやって調べるの？
Ａ.
リファレンスやサンプルコードを読んでください。
"Sample/Sample.h"をincludeして、Sample～で始まる関数を呼び出すとサンプルコードを実行する事が出来ます。
サンプルコードで使用している画像ファイルはdataフォルダ内の物を使って下さい。

Ｑ.未実装機能とは？
Ａ.
クラスの詳細か関数の説明の後に[未実装]とある場合は未実装です、今後実装しない可能性もありますが、出来たら実装したい機能です.
未実装関数とクラス一覧

Ｑ.図形描画機能が貧弱だし、動画も扱えなくて不便、ネットワークや3D機能はなんで実装しないの？
Ａ.
基本的にライブラリ開発者がゲーム開発に必要としている機能を優先する方針で開発しています。
必要としていない機能は、レビューが困難ですし、実装するモチベーションも上がりません。
動画とか、ネットワークとか、図形描画諸々は必要としている開発者がいないため今の所、実装される予定がありません。
特定の色を透過色に指定する機能も透過pngを使ったほうが確実なので、実装していません。

Ｑ.なんで引数だけ日本語でクラス名とかは英語なの、ルー語？
Ａ.
普段日本語で思考しているので、日本語の方がライブラリが使いやすく開発が楽だからです。
というかわざわざ全部の識別子を英語にする理由がありません。
仮引数やローカル変数だけの理由は、android-ndkの対応状況を考慮したのと、
なんかの拍子に利用者が増えたので英訳しようとかなった場合も、仮引数だけなら翻訳が楽だからです

Ｑ.何故管理がGithubとSorceForgeに分かれているんですか？
Ａ.
Githubの方が使いやすいので、ソースはGithubで管理しています。
安定版をSorceForgeに置いているのは、Githubより検索にかかる可能性が高いのと、バイナリの配布が楽だからです。

Ｑ.SDXの意味は？
Ａ.
SDの部分はSDL、DXの部分はDXLibから取っています。最初はDXFrameworkという名称でした。
DXLibのラッパーとして開発していたのを途中で内部実装をSDLに変更したので、現在DXLibは使っていません。
しかしながら機能分割の粒度や関数の命名等でDXLibを参考にしているので、敬意を表して名称に残しています。

Ｑ.何故DXLIB版の開発を辞めたの？
Ａ.
機能はDXLibの方がSDLより豊富ですが、プラットフォーム対応の関係でSDLに専念する事にしました。

Ｑ.SDL2.0の参考サイトとかありますか？
Ａ.
こちらや
http://lazyfoo.net/tutorials/SDL/index.php
ドキュメント日本語訳のプロジェクトが参考になると思います
https://sourceforge.jp/projects/sdl2referencejp/

Ｑ.初期のバージョンはzlibだけどこれはどうなるの？
Ａ.
ややこしいので、公式に旧verの配布はしていませんが、以前に公開していたverのライセンスはそのままです。
なので旧バージョンはzlibライセンスで利用する事が出来ますし、再配布も可能で、開発を引き継ぐのも特に問題はありません。

Ｑ．分からない事があったら、どうすればよいですか？
Ａ．
掲示板で「新しい話題を始める」から質問して下さい。
SDXFramework：ヘルプフォーラム
書き込んだら作者にメールが行くのでそれなりの早さで返信します。
作者のtwitterや、メール、ブログ等で質問されると確認が手間なのと、他の利用者と共有しにくいので、
公式フォーラムの利用を推奨しています。(twitterはbotなので、殆どチェックしません)