SDXFrameWork
0.12
SDXFrameWork
|
よくありそうな質問
Q.何故緩いライセンスではなくAGPL ver3なの?
A.
最大の理由は利用者同士がお互いにコードを共有した方が、開発者とユーザーの利益になるとの結論に至ったからです.
詳しくはSDXとは?を読んで下さい.
AGPLなのはWebGLに対応する可能性が0では無いからです
Q.ライセンスが英語なのでよくわからないです
A.
非公式ですが、こちらが参考になると思います
http://www.ipa.go.jp/osc/osslegal.html#GNUGPL1
このライブラリを使ったソフトウェアを配布する場合ソースコードを入手可能にしライセンスをAGPL ver3にする必要があります、
画像や音声、シナリオ、スクリプト等の外部ファイルのライセンスはAGPL ver3にする必要はありません。
入手可能であれば良いので
①誰でもダウンロード出来る形でGithub等で公開する
②プログラムと一緒に配布する
③問い合わせ先を明記して要求があればコードを送る
のように手段は問いません
Q.不注意や勘違い、あるいは故意にライセンス違反したらどうなるの?
A.
ライセンス違反を発見した場合、是正を要求します。即訴訟とかはあり得ません。
ただしライセンス違反は好ましくありませんので、疑問があればフォーラムで質問して下さい。
故意に違反するのはやめましょう。
Q.AGPLのコードを読んでアルゴリズムや設計を勉強した後、一から似たようなコードを描いた場合AGPLで公開する必要はありますか?
A.
アルゴリズムや設計、デザインパターンは著作権で保護されないので、GPLのコードを読んでプログラミングを勉強したからといってAGPLで公開する必要はありません。
コードを読んで記憶を頼りにほぼ同じソフトを作るとか、コードを横に並べて変数名やら細部を微妙に変えたコードに書き直すとかする場合はAGPLにする必要があります。
Q.破壊的変更って何?
A.
ライブラリ利用者が新しいVerに上げた時、今までのコードにエラーが出たり挙動が変わったりする修正の事です。
バグの修正や未実装機能の実装によって、正常な動作になる場合は破壊的変更とは書いていません。
SDXでは必要があったり、使いやすさが向上する場合破壊的変更を行った過去があるので、Verを上げたら大量のエラーが出る事がありました。
現状大体の問題は解消したのですが、今後も無いとは限りません。
修正内容については更新履歴を確認して下さい。
Verを上げた時に利用者のコードを修正する必要があるのは好ましくないのですが、破壊的変更を行わず使いにくいままにするより、修正を行ったほうが良い事もあるので、ご了承下さい。
Q.Appstoreで配布出来ない?
このような事情があり配布は困難です。
年齢制限等は緩和されましたが他はあまり変わっていません。
http://sourceforge.jp/magazine/08/04/17/0141213
いわゆる脱獄アプリとして配布する事は可能ですが、メーカー保障が切れるそうなので推奨はしていません。
Appstore等で配布したい場合、別のライブラリを使う事をお勧めします。
Appstore以外でも秘密保持契約が必要だったり、DRMを付けないといけないプラットフォームでは配信出来ません。
Q.SDXFrameworkのソースも一緒に配布する必要はありますか?
A.
ライブラリに何らかの修正を加えた場合は、ライブラリのコードも配布する必要があります。
それ以外の場合はSDXFrameworkのバージョンと入手方法を明示していれば、ライブラリの部分は配布しなくてもかまいません。
Q.関数の使い方はどうやって調べるの?
A.
リファレンスやサンプルコードを読んでください。
"Sample/Sample.h"をincludeして、Sample~で始まる関数を呼び出すとサンプルコードを実行する事が出来ます。
サンプルコードで使用している画像ファイルはdataフォルダ内の物を使って下さい。
Q.未実装機能とは?
A.
クラスの詳細か関数の説明の後に[未実装]とある場合は未実装です、今後実装しない可能性もありますが、出来たら実装したい機能です.
未実装関数とクラス一覧
Q.図形描画機能が貧弱だし、動画も扱えなくて不便、ネットワークや3D機能はなんで実装しないの?
A.
基本的にライブラリ開発者がゲーム開発に必要としている機能を優先する方針で開発しています。
必要としていない機能は、レビューが困難ですし、実装するモチベーションも上がりません。
動画とか、ネットワークとか、図形描画諸々は必要としている開発者がいないため今の所、実装される予定がありません。
特定の色を透過色に指定する機能も透過pngを使ったほうが確実なので、実装していません。
Q.なんで引数だけ日本語でクラス名とかは英語なの、ルー語?
A.
普段日本語で思考しているので、日本語の方がライブラリが使いやすく開発が楽だからです。
というかわざわざ全部の識別子を英語にする理由がありません。
仮引数やローカル変数だけの理由は、android-ndkの対応状況を考慮したのと、
なんかの拍子に利用者が増えたので英訳しようとかなった場合も、仮引数だけなら翻訳が楽だからです
Q.何故管理がGithubとSorceForgeに分かれているんですか?
A.
Githubの方が使いやすいので、ソースはGithubで管理しています。
安定版をSorceForgeに置いているのは、Githubより検索にかかる可能性が高いのと、バイナリの配布が楽だからです。
Q.SDXの意味は?
A.
SDの部分はSDL、DXの部分はDXLibから取っています。最初はDXFrameworkという名称でした。
DXLibのラッパーとして開発していたのを途中で内部実装をSDLに変更したので、現在DXLibは使っていません。
しかしながら機能分割の粒度や関数の命名等でDXLibを参考にしているので、敬意を表して名称に残しています。
Q.何故DXLIB版の開発を辞めたの?
A.
機能はDXLibの方がSDLより豊富ですが、プラットフォーム対応の関係でSDLに専念する事にしました。
Q.SDL2.0の参考サイトとかありますか?
A.
こちらや
http://lazyfoo.net/tutorials/SDL/index.php
ドキュメント日本語訳のプロジェクトが参考になると思います
https://sourceforge.jp/projects/sdl2referencejp/
Q.初期のバージョンはzlibだけどこれはどうなるの?
A.
ややこしいので、公式に旧verの配布はしていませんが、以前に公開していたverのライセンスはそのままです。
なので旧バージョンはzlibライセンスで利用する事が出来ますし、再配布も可能で、開発を引き継ぐのも特に問題はありません。
Q.分からない事があったら、どうすればよいですか?
A.
掲示板で「新しい話題を始める」から質問して下さい。
SDXFramework:ヘルプフォーラム
書き込んだら作者にメールが行くのでそれなりの早さで返信します。
作者のtwitterや、メール、ブログ等で質問されると確認が手間なのと、他の利用者と共有しにくいので、
公式フォーラムの利用を推奨しています。(twitterはbotなので、殆どチェックしません)