This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Can we use GNU ARM Embedded Toolchain for compiling commercial products or closed source?

I have a confusion regarding GNU compiler licesnce. I gone through GNU ARM Embedded Toolchain license and noticed it has built with "newlib" C standard library instead of glibc to avoid licensing issue. 

But still i want to clarify my confusion for below questions

1. Let's say i have a permissive BSD licensed opensource code, which i want to compile and put the outcome binary into commerical product. For this can i use GNU ARM Embedded Toolchain for compilation?

  - Compiler adds some symbols sometimes into binary, example unwind related symbol, does it have any licensing issue?

  - Is is statically linking is okay? because binary might need library symbols from toolchain.

 

Please some clarify.

  • Hi,

    I think you need a lawyer here, not a technical community support forum.

    This is not something we can help with, you need specific legal expert advice in this area.

    I really do suggest you speak to an appropriately-qualified lawyer about this.

    Regards,
    Stuart
  • Thanks Stuart for your reply.
    Basically, Since ARM has created GNU ARM Embedded Toolchain and maintained by them, I want to clarify the toolchain license with them.
  • I think the question you want to ask is whether ARM places any additional licensing restrictions on the use of their GCC binaries. If the answer is no then look to the GCC licensing information.

    The relevant information you need is the GCC Runtime Library Exception v3.1:
    www.gnu.org/.../gcc-exception-3.1-faq.html

    Section 1 of the 3.1 exception states:
    "You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules."

    So essentially you need only look at the newlib licensing, the licensing of the source code you are building, and the licensing of any other libraries you may need to use.

    I would stress to gather the above information and seek legal advice. Particularly if you are intending to commercialize your software. Newlib is distributed under a multitude of different licenses for the various parts within it.
  • Hello Manohara,

    have you found the answer so far?

    Currently I face the same problem. I wold like to use GNU ARM Embedded Toolchain to compile commercial product (sell the programmed device, no opensource). I thing compiling is ok, but there is problem with libraries. There is an exception from GPL for runtime libraries, which i guess is libgcc. The part about runtime library is not much clear to me. Is libc a runtime library or not? What about libm, libstdc++ and others?