On Mon, Apr 25, 2022 at 1:51 AM 'paw' via emscripten-discuss <
emscripten-discuss@googlegroups.com> wrote:

> Hello everyone,
>
> At my work, we create a tool which runs in the Web Browser but uses native
> components. These are compiled with emscripten to *asm.js* (we plan to
> transition to wasm in the future).
>
> As a company we want to provide the as correct as possible list of our
> used open source software and respect the licenses as well as the
> copyrights.
>
> Therefore we want to add the necessary information that we use the code
> which is compiled with emscripten. We do not and are currently not planning
> to ship emscripten, therefore we are at the moment only interested in the
> code emitted by emscripten. Therefore I have these questions:
>

I'll try to answer these as best I can. I am not a lawyer, to be clear, but
I am the creator of Emscripten and I am the one that chose the license for
the project back in 2010.

Before getting to specific answers, the bottom line to all of this is that
I chose the MIT license for Emscripten, and only picked
similarly-permissively-licensed projects to bundle like musl and LLVM
libraries, because my goal was for licensing to not ever be a problem for
users. So my hope is that for you, and anyone else, licensing causes no
issues.


>
>
>    1. Under which license and copyright is the from emscripten generated
>    code?
>
> First, note that Emscripten itself is under the MIT license,

https://github.com/emscripten-core/emscripten/blob/main/LICENSE

(and also the NCSA open source license, but that is for historical reasons
and does not matter here). When you use Emscripten to generate code, some
parts of Emscripten may appear in the generated code, like snippets of JS
library logic, etc. The MIT license says this:

"The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software."

I have never considered the generated code to contain a "substantial
portion" of Emscripten (it's just small snippets compared to all of
Emscripten, and they are modified and combined with user code during
compilation anyhow, etc.). So I have never expected people to keep a
copyright notice around, like Floh was saying. From my point of view, the
point of Emscripten is to be a tool that is as easy to use as possible, and
in particular that does not require a copyright notice in every compiler
output or any other burden. That is, the compiler has an open source
license, but when the user creates an output, I didn't want to place any
requirements on that output. For that reason I chose MIT.

>
>    1. As far as I know, there are JavaScript / Browser implementations of
>    libc in order to be able to execute code which uses these APIs. Under which
>    license and copyright is this code? Is there a specific source code folder
>    which holds this implementation so that I can focus my intention on this
>    particular folder?
>
> Emscripten uses the musl libc (MIT licensed, see
https://github.com/emscripten-core/emscripten/blob/main/system/lib/libc/musl/COPYRIGHT).
The JS side of the libc and other API support is Emscripten's JS library
logic, which was mentioned before (all that is under src/library_*.js).

>
>    1. Is there a difference regarding emitting asm.js and WASM in the
>    context of license and copyright? (there is obviously a technical
>    difference, but I am not interested in this at the moment)
>
> As a non-lawyer I can't really say, but as the person that chose the
license, I would hope there is no difference between asm.js and wasm in
anything here... :)

>
>    1. Is in the generated code anything which was copied or otherwise
>    added which orignally stems from another open source software? What comes
>    to my mind are things like polyfills which could be generated into the code
>    in order "to make things work" etc.. (I am aware of emscripten ports and we
>    specifically use FreeType, Harfbuzz and ICU. But is there more than that).
>
> Aside from the musl libc there are a few LLVM libraries used like libc++,
libc++abi, and compiler-rt. Those are necessary to build a full toolchain.
All use the LLVM standard license (Apache 2 + LLVM exception), e.g.
https://github.com/emscripten-core/emscripten/blob/main/system/lib/libcxx/LICENSE.TXT

Doing a search in src/ for copyright (and filtering out Emscripten's) I see
that the Promise polyfill has a license text (
https://github.com/emscripten-core/emscripten/blob/main/src/polyfill/promise.js)
but that is not included normally (only to polyfill for old browsers, if a
setting is set for that). It is also MIT just like Emscripten.

- Alon

Thank you very much in advance for your answers.
>
> Best regards,
>
> paw
>
> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to emscripten-discuss+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/emscripten-discuss/fef7b40d-6f7f-400c-ba36-7b8ff6753850n%40googlegroups.com
> <https://groups.google.com/d/msgid/emscripten-discuss/fef7b40d-6f7f-400c-ba36-7b8ff6753850n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to emscripten-discuss+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/CAEX4NpQu1rSZUyg-6LFPRpTjA8xpNsgWPfH5p%2BbAtfgOvY00_g%40mail.gmail.com.

Reply via email to