Linked by Thom Holwerda on Wed 15th Jun 2011 14:23 UTC, submitted by Valhalla
General Development "PathScale announced today that the EKOPath 4 Compiler Suite is now available as an open source project and free download for Linux, FreeBSD and Solaris. This release includes documentation and the complete development stack, including compiler, debugger, assembler, runtimes and standard libraries. EKOPath is the product of years of ongoing development, representing one of the industries highest performance Intel 64 and AMD C, C++ and Fortran compilers." More here.
Thread beginning with comment 477346
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: How fast could i make my code:
by lemur2 on Thu 16th Jun 2011 02:30 UTC in reply to "How fast could i make my code:"
lemur2
Member since:
2007-02-17

Would binaries made with this software be in any legal danger if it is licensed under a different license than the compiler tools?


As with all GPL programs, the GPL license and the associated copyleft provisions apply to the source code of the (GPL'd) program itself (in this case, the GPL applies to the source code of the EKOPath 4 Compiler Suite). You have unlimited, irrevocable, unconditional permission (under the GPL) to use (as in run it) such a program however, wherever and whenever you wish, for any purpose. The only act to which copyleft provisos apply is if you decide to re-distribute said compiler tools to other people.

Whatever source code you write is your code, to license as you please. It matters not one whit that you used a particular compiler to compile that code (just as it matters not one whit what particular text editor you used), if you wrote the source code you are still the author, and the copyrights to your source code belong to you. What you do with your code is not at all constrained by the GPL unless you choose to release your code under the GPL.

Edited 2011-06-16 02:37 UTC

Reply Parent Score: 3

Alfman Member since:
2011-01-28

lemur2,

"As with all GPL programs, the GPL license and the associated copyleft applies to the source code of the program. Youy have unlimited, irrevocable, unconditional permission (under the GPL) to use the program however you wish. The only act to which copyleft provisos apply is if you decide to re-distribute said compiler tools."

Hmm, I don't know if that's right. The binary could arguably be a derivative work.

I think the FSF uses a different interpretation of the GPL than common sense might infer, which is why they've licensed GCC with GPL exceptions.

http://www.gnu.org/licenses/gcc-exception-faq.html

In the faq, read this section "Why is compiler intermediate representation excluded from the definition of 'Target Code?'"

"...If that program is proprietary, the exception will not be available to any software compiled with it; the object code that GCC ultimately creates will have to be distributed under the terms of the GPL."


It's pretty clear that the FSF intends GCC compiled code not covered by the exception to fall under the GPL license.


If the FSF interpretation of the GPL is accurate (it would be ironic if it wasn't), then in theory a GPL compiler without exceptions can only be used for GPL projects.


Edit:
Personally I find this interpretation bizarre. At the extreme, there could be license ramifications for all GPL tools like 'sed' or 'grep' lacking explicit exceptions.

Of course I leave it to the capable hands of more knowledgeable posters to explain it to me.

Edited 2011-06-16 03:12 UTC

Reply Parent Score: 2

lemur2 Member since:
2007-02-17

lemur2, "As with all GPL programs, the GPL license and the associated copyleft applies to the source code of the program. Youy have unlimited, irrevocable, unconditional permission (under the GPL) to use the program however you wish. The only act to which copyleft provisos apply is if you decide to re-distribute said compiler tools." Hmm, I don't know if that's right. The binary could arguably be a derivative work. I think the FSF uses a different interpretation of the GPL than common sense might infer, which is why they've licensed GCC with GPL exceptions. http://www.gnu.org/licenses/gcc-exception-faq.html In the faq, read this section "Why is compiler intermediate representation excluded from the definition of 'Target Code?'" "...If that program is proprietary, the exception will not be available to any software compiled with it; the object code that GCC ultimately creates will have to be distributed under the terms of the GPL." It's pretty clear that the FSF intends GCC compiled code not covered by the exception to fall under the GPL license. If the FSF interpretation of the GPL is accurate (it would be ironic if it wasn't), then in theory a GPL compiler without exceptions can only be used for GPL projects. Edit: Personally I find this interpretation bizarre. At the extreme, there could be license ramifications for all GPL tools like 'sed' or 'grep' lacking explicit exceptions. Of course I leave it to the capable hands of more knowledgeable posters to explain it to me.


The definition of "derivative work" comes from copyright law, not from the FSF. Copyright law itself is the law, not whatever the FSF says or thinks, or is thought to say or think.

http://en.wikipedia.org/wiki/Derivative_work

"In United States copyright law, a derivative work is an expressive creation that includes major, copyright-protected elements of an original, previously created first work."


Unless your work actually INCLUDES pieces of some other work, it simply is not a derived work under copyright law. In addition, it has to INCLUDE "major elements" of another work ... mere snippets is not enough, nor is non-functional references.

This is why dynamic linking is not an issue ... with dynamic linking the linked code is not actually included, merely referenced. Only static linking actually includes external code to be distributed within another work.

So, in the case of the "EKOPath 4 Compiler Suite", unless your source code actually, literally, INCLUDES (perhaps via via static linking or by direct copy-and-paste) some "major element" of the "EKOPath 4 Compiler Suite" source code, then your work is simply not affected by the license of the "EKOPath 4 Compiler Suite" source code, under copyright law.

That is the law, no matter what the FSF might say or think.

Just as the license for a text editor program has no bearing on the ownership rights of the text one edits using it as long as one doesn't include the source code of the editor, so too does the license of the "EKOPath 4 Compiler Suite" have absolutely nothing to do with the rights to the code compiled with it, unless one includes some major element of the source code of the "EKOPath 4 Compiler Suite" itself.

Edited 2011-06-16 03:44 UTC

Reply Parent Score: 3

boldingd Member since:
2009-02-19

lemur2,

"As with all GPL programs, the GPL license and the associated copyleft applies to the source code of the program. Youy have unlimited, irrevocable, unconditional permission (under the GPL) to use the program however you wish. The only act to which copyleft provisos apply is if you decide to re-distribute said compiler tools."

Hmm, I don't know if that's right. The binary could arguably be a derivative work.


It's not. This is an old question, with an old answer. Compiled binaries are not derivative works; anything you create with a GPL'ed tool is yours to do with as you please (as is true with any other GPL'ed program that produces something, like the GIMP).

I think the FSF uses a different interpretation of the GPL than common sense might infer, which is why they've licensed GCC with GPL exceptions.

http://www.gnu.org/licenses/gcc-exception-faq.html

In the faq, read this section "Why is compiler intermediate representation excluded from the definition of 'Target Code?'"

"...If that program is proprietary, the exception will not be available to any software compiled with it; the object code that GCC ultimately creates will have to be distributed under the terms of the GPL."


Let me include the whole FAQ entry in question:

Why is compiler intermediate representation excluded from the definition of “Target Code?”

When we first considered adding a plugin infrastructure to GCC, we were deeply concerned about the possibility that someone would write a plugin that would merely save GCC's internal, low-level compilation data structures to disk. With that done, other software would be able to optimize or otherwise improve that code without being directly connected to GCC. It may have been difficult for us to argue that those programs should be subject to the GPL's copyleft, so we wanted to discourage these sorts of arrangements.

We do that by excluding such output from the definition of Target Code. Because of this, even if someone writes a plugin that saves this information to disk, any programs that change the structures before GCC writes out Target Code will be involved in the Compilation Process. If that program is proprietary, the exception will not be available to any software compiled with it; the object code that GCC ultimately creates will have to be distributed under the terms of the GPL.


What they're specifically talking about here is preventing some "clever" third party from using GCC's plug-in architecture to attempt to circumvent the GPL license covering GCC. Basically, if you use a plug-in to operate on the low-level in-memory structures that GCC is using to compile your code, you don't get the license exception that allows you to include the technically-GPL'ed trivial libraries that GCC is going to link your code with under other licenses. This has no effect on normal use of the compiler.

It's pretty clear that the FSF intends GCC compiled code not covered by the exception to fall under the GPL license.


You really had to torture your reading of that page to get to that conclusion. The very first two paragraphs specifically state that the GCC developers have always intended to support proprietary development, even if they don't particularly like it. The second and third paragraphs of your own link:
The licenses for some libraries that accompany GCC have not been changed yet. These libraries are automatically used by the object code that GCC produces. Because of that, if these libraries were simply distributed only under the terms of the GPL, all the object code that GCC produces would have to be distributed under the same terms. However, the FSF decided long ago to allow developers to use GCC's libraries to compile any program, regardless of its license. Developing nonfree software is not good for society, and we have no obligation to make it easier. We decided to permit this because forbidding it seemed likely to backfire, and because using small libraries to limit the use of GCC seemed like the tail wagging the dog.

Therefore, these libraries have always had license exceptions that allow people to distribute the object code GCC produces under any license.
We are now moving these libraries to GPLv3 and updating their exceptions. Our fundamental policy has not changed; the new license is meant to permit all the uses of GCC that were permitted before. However, we have decided to use this opportunity to update the exception to accomplish three goals:

My Bold.

So, first, it is definitely legal to distribute binaries built with GCC under any license, and it is definitely the FSF's intention that that be the case. Second, that page is in its entirety about including license exceptions for "small, trivial libraries" that GCC automatically links into compiled object files specifically so that they can be distributed under proprietary licenses.

If the FSF interpretation of the GPL is accurate (it would be ironic if it wasn't), then in theory a GPL compiler without exceptions can only be used for GPL projects.


Edit:
Personally I find this interpretation bizarre. At the extreme, there could be license ramifications for all GPL tools like 'sed' or 'grep' lacking explicit exceptions.

Of course I leave it to the capable hands of more knowledgeable posters to explain it to me.


The FSF isn't claiming that the GCC's license applies to code that it generates. That isn't how "derived work" has ever been understood to be defined. What they're saying is that GCC links trivial libraries into the object code that it generates, and that those are covered by the GPL; that's where the "GPL infection" is coming from. Exactly because they felt like it would be inappropriate to force the GPL onto any object file built with the GPL, they included exceptions in the license of those trivial libraries allowing them to be included in proprietary programs.

Reply Parent Score: 2