This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Distibuting GCC with a commercial program
- To: Vikhtor dot Porton at psu dot ru
- Subject: Re: Distibuting GCC with a commercial program
- From: "Martin v. Loewis" <martin at loewis dot home dot cs dot tu-berlin dot de>
- Date: Tue, 11 Jan 2000 10:11:16 +0100
- CC: gcc at gcc dot gnu dot org
- References: <01bf5be9$260e4440$a540c0d4@ws1-35.psu.ru>
> We are going to develop a commercial program package (some programs and
> libraries, which we will license for a charge for using and copying for
> certain curcumstances) -- "the Program" below.
The exact terms of copying GCC are defined in the file COPYING, this
is the General Public License.
> We want to distribute GCC with the Program to allow under certain
> circumstances for someone to compile the Program and/or to write plugins
> for the Program. We want the Program will invoke GCC automatically (e.g.
> a user will press the `Compile' button and the Program will
> system("gcc ...") or some like).
> It isn't clarify for us whether GPL permit us such distribution of GCC
> with the Program.
It definitely does:
# 3. You may copy and distribute the Program (or a work based on it,
# under Section 2) in object code or executable form under the terms
# of Sections 1 and 2 above provided that you also do one of the
# following: [conditions follow]
> We can although to distribute GCC on separate media at separate
> cost. We have right to do this.
Definitely. You don't even have to distribute GCC separately. What you
*have* to do to follow the conditions outlined in section 3 above:
# a) Accompany it with the complete corresponding machine-readable
# source code, which must be distributed under the terms of Sections
# 1 and 2 above on a medium customarily used for software
# interchange; or,
#
# b) Accompany it with a written offer, valid for at least three
# years, to give any third party, for a charge no more than your
# cost of physically performing source distribution, a complete
# machine-readable copy of the corresponding source code, to be
# distributed under the terms of Sections 1 and 2 above on a medium
# customarily used for software interchange; or,
#
# c) Accompany it with the information you received as to the offer
# to distribute corresponding source code. (This alternative is
# allowed only for noncommercial distribution and only if you
# received the program in object code or executable form with such
# an offer, in accord with Subsection b above.)
That is, you have to provide the sources of GCC somehow. It is
probably most easy for you to include the sources of GCC on your
distribution disk as well. Please look at section 2 in the GPL: If you
modify the sources of GCC in any way before producing the binary that
you distribute, you have to provide the sources to your modified copy
of GCC.
> But have we right to invoke GCC from the Program?
GCC is free software, in the sense that you can do anything with it
that you want, as long as you are not taking away freedom from others.
I guess your question here actually not whether you have the right to
invoke GCC, you definitely do. Another question is whether section 2
of the GPL applies, which reads (in part)
# b) You must cause any work that you distribute or publish, that in
# whole or in part contains or is derived from the Program or any
# part thereof, to be licensed as a whole at no charge to all third
# parties under the terms of this License.
I think the conventional interpretation of that is that if you tightly
integrate gcc into your application, you form work derived from gcc.
As a result, you'd have to license the entire application on the terms
of the GPL. I don't know your application, so I cannot say whether
this would reasonably count as derived work or not. The GPL clarifies
# Thus, it is not the intent of this section to claim rights or
# contest your rights to work written entirely by you; rather, the
# intent is to exercise the right to control the distribution of
# derivative or collective works based on the Program.
Disclaimer: IANAL, and I do not represent the copyright holder of GCC
(i.e. the FSF). Please have a look at
http://www.fsf.org/philosophy/pragmatic.html
It explains the motivation behind the license, and it encourages you
to license your application under the terms of the GPL. They say ``If
you will make your software free, you can use this code.'' If you
license your application under the terms of the GPL (and follow its
rules), you certainly won't have any problems with people claiming
that you violated the GPL.
Regards,
Martin