0

The compiler doesn't leave its own code in the software or link proprietary libraries with it, the source code is exactly the same one I used throughout the development process, everyone is free to access and modify the source code, but no one can actually build a modified version of the software unless they have bought a license to use the compiler. Am I allowed to release my software under the GPL in this case?

I checked the GPL FAQ on the GNU site, but couldn't find an answer.

  • 1
    Why must it be built with the proprietary compiler? Is it just non-standard features/extensions someone else could theoretically add to their compiler, or something thornier like legal/contractual issues? – Ixrec May 14 '16 at 17:51
  • 1
    There is a similar discussion here: opensource.stackexchange.com/questions/2688/…. I can't find anywhere anything directly prohibiting compilation requirering a tool that is commercial. You can have GPL programs that require windows to run and even require windows to build at all. That does not seem to be a problem. – Bent May 14 '16 at 17:55
  • What language is your GPLed software coded in? – Basile Starynkevitch May 14 '16 at 18:08
  • 2
    I'm just curious what platform/language you are using that doesn't have a free compiler. – Thomas Owens May 14 '16 at 18:24
5

The GNU GPL FAQ has some related questions:

The first question appears the most relevant.

The definition of "System Library" varies between GPL v2 and GPL v3.

GPL v2 has this to say about System Libraries, which include Compilers:

However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

GPL v3 is more explicit and defines a compiler as a "Major Component". These are excluded from the "Corresponding Source" for a work, which is the source code needed to generate, install, and run the object code. This is defined in Section 1 Source Code of the license.

You are OK to release your source code under the GPL. However, there is this notion of the Free World, which only uses free software and libraries. Purists may reject your software in favor of other software, if they can, simply because of the dependency on non-free compilers. But that may not be a concern to you.

2

FSF writes that "Before we had the GNU C compiler, every C program (free or not) depended on a nonfree C compiler" (here), so likely using such compilers seem acceptable if the compiler does not bundle own libraries and does not claim the ownership of any kind on the compiled binary.

However the same source points out that this is definitely not a good thing, and should be avoided, and that may be better to start from writing a FOSS compiler first. Requiring a non-Free compiler will severly diminish the program's popularity between FOSS enthusiasts, and FOSS sceptics will not like your GPL, so there is a danger to stay without any audience. The proprietary compiler used to be Java problem in pre-OpenJDK times.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.