scs@itivax.iti.org (Steve C. Simmons) (07/22/89)
Much of what is below was figured out in discussion with Dave Steinhoff (uunet!amara!des). Please credit him for the facts and me for the errors. It appears that g++ itself is like gcc with regards to copyleft. You can write your own code and compile it as you please. The problem comes in when linking your code. Just as c requires a libc.a, so c++/g++ requires its own libraries. Since the g++ library source is copylefted, the compiled library is copylefted and the resulting linked object can only be distributed under the copyleft rules. The InterViews package of Stanford contains a public domain version of the c++ library, ie, one not derived from FSF or ATT source. Although useful, this does not provide a complete PD g++ package. There are two modules which must be supplied from FSF code: crt0+.o and crt1+.o. The g++ installation script ads these to your libc.a. A similar situation would apply with gcc, but Stallman/FSF has explicitly granted the use of those modules in linked code. To our knowledge, he/FSF has *not* done so with the g++ modules. Given the purpose of FSF, one should not expect it. If you are using the InterViews package, be aware that you must supply your own version of these two modules if you wish to avoid FSF copyright infringement. Disclaimer -- this is Daves and my opinion. It doesn't necessarily reflect the views of our employers, Richard Stallman, or the Free Software Foundation. -- Steve Simmons scs@vax3.iti.org Industrial Technology Institute Ann Arbor, MI. "Velveeta -- the Spam of Cheeses!" -- Uncle Bonsai