'OSSライセンスの 教科書'を 読んだが 悩みが 解決しなかった
OSSライセンスの教科書を読んだ。
メモは例のごとくgistにある。
(gistに置くのどうなんだという気持ちもあるが、いい方法が思いつかない)
ライセンスの種類とか特徴はある程度知っていたので、その点での目新しさはなかった。
職業プログラマでどうOSSを使うか、という観点の本だったように思える。
個人的には以下を明らかにしたかったが、解決しなかった。
たとえば、typescriptでなんらかのエンドユーザ向けのアプリケーションを作ったとする。
そのアプリではenum
が使われているとする。
そうするとjsへのtranspile時にenum
がjsで動くようにtypescript由来のコードに置き換えられる。
これは頒布にあたるのだろうか?
世の中の商用アプリの類を見るとReactとかは書いてあることが多いが、typescriptを書いているものはほぼ見たことがない。
なんらかのツールを使用して生成されたものがその変換ツールのライセンスに影響を受けるのであれば、typescriptも記載されるべきなのではないだろうか?
本のなかにもgccはそこについての特筆事項があると書かれていた。
When you use GCC to compile a program, GCC may combine portions of certain GCC header files and runtime libraries with the compiled program. The purpose of this Exception is to allow compilation of non-GPL (including proprietary) programs to use, in this way, the header files and runtime libraries covered by this Exception.
https://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html
typescriptはただのapache2だったのでgccのような文言はなかった。
(単純に見つけられてないだけで、どこかにあるのかもしれないが)
https://github.com/microsoft/TypeScript/blob/739d729ecce60771c23723aad932ab35a34df82d/LICENSE.txt#L1
なんらかのツールを使用して生成されたものがその変換ツールのライセンスに影響を受ける
が正だとするのであれば、bunderやlinterなど単純なコードの整形の領域を越えて、なんらかの変換をしているものは全てdependencies
ではなくてdevDependencies
に書くべきなのだろうか?
全然わからない。