質問: GitHubに自身で作成したコードをアップしようとした際に、使用したFacebookSDKやlaradockなどのデータもアップしても著作権上問題ないのでしょうか? また、他の方が作成した GitHub で公開されているフレームワークを使用したプログラムを、自身のアカウントでアップしても問題ないのでしょうか?
回答: ライセンスによります。 OSSではコードの再利用や改変について、許可・禁止を表明したライセンスを付けることが多いです。全世界に散らばっているコードを書いた人の国の著作権を考慮するのは難しいですし、著作権を完全に守るよりむしろ制限をゆるくして、自由に改善していってほしいという意図があるからです。 例として、FacebookのAndroid SDKはREADME.mdにてライセンスへ言及しています。Facebook Platform Licenseが適用されているようです。 > > LICENSE > > Except as otherwise noted, the Facebook SDK for Android is licensed under the Facebook Platform License (). > > > 同じリポジトリに全文もあるので、これを読むと、SDKの利用者が何をしてよいのか・してはいけないのかがわかります。「コピーしても改変しても、それをまた配布してもいいよ」というようなことが書かれています。 > > You are hereby granted a non-exclusive, worldwide, royalty-free license to use, > > copy, modify, and distribute this software in source code or binary form ... > > > もちろん、個人の開発者がこういった文章を考えるのは大変ですし、使う側もソフトウェアごとにライセンスを読むはめになってしまいます。それでは困りますので、誰かが作ったライセンスからいくつか(ふつうは一つ)選んで、「私のこのプログラムにはこれこれのライセンスを適用します」とREADME.mdやLICENSE.txtで宣言するのが通例です。よく使われるライセンスを以下に示します。 * MIT License: 権利表記さえあれば商用・非商用を問わず利用を認めるゆるいライセンス。 * BSD License: MIT同様ゆるいライセンス。 * GPL / LGPL: GNUが制定したライセンスで、ソフトウェアの自由を重視しています(コピーレフト)。 * Creative Commons: CC-BY-SAという表記と、柔軟な権利の表明ができるのが特徴です。ソフトウェア以外の写真や執筆の分野でも広く利用されます。 * パブリックドメイン: ライセンスではありませんが、権利をすべて放棄するという選択肢もあります。 たいていの有名なライセンスにはもっとわかりやすい解説がなされているので、ライセンス原文のお堅い文章を毎回読む必要はありません。 Facebook SDKの「データ」が何を指しているのかによりますが、SDKのソースコードをアップロードするのは問題ないといえるでしょう。また、あるフレームワーク上で動作するプログラムを公開することには(たいてい)ライセンス関係なく問題ありません。フレームワークを書いた人が誰であろうと、その上で動くプログラムを書いたのはあなた自身だからです。 ただし、一般に公開されているSDKのソースコードをわざわざ取り込んで、作ったソフトウェアと一緒くたにしてGitHubにアップロードすることには疑問を感じます。ライブラリを使う必要があるのであれば、(PHPでいえば)composer.jsonをレポジトリに含めて、利用者に手元でcomposer installしてもらうのが良い方法です。