This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

SGI IA64 Fortran compiler: Can it legally be retargeted to RTL?


This small essay is my thoughts about the legal possibilities to retarget
the newly freed SGI IA64 Fortran compiler ("the compiler") to RTL (the gcc
register transfer language), i.e. make it a replacement for the current
g95 project.

The compiler is released under GPL version 2 as is gcc. SGI has the 
copyright.

1. The first option is to persuade SGI to assign the copyright to FSF.
   This would make it possible to distribute the compiler as part of the
   gcc suite.

2. The second option would be to retarget the compiler under the current
   copyright, i.e. make it a "work based on the Program" in the wording of
   the GPL. This compiler could not be distributed as part of the gcc
   suite, but would have to be distributed as a separate package.

   Copyright of the changes made to the compiler can be:

   a. Kept by the individuals making the changes.

   b. Assigned to SGI.

   c. Assigned to FSF.

Option one above would be the ideal solution, but I think option two will
be acceptable[1]. As I understand the GPL (IANAL), this could be a 
textbook case of what is described as "work based on the Program". As long
as the terms in GPL are followed for the changes the license cannot be
revoked by SGI (at least not for the version(s) already released under the
GPL). The main problem as I see it is, that the retargeted compiler will
have to be distributed separately from gcc.

Comments are welcome.


[1] It cannot be the GNU Fortran 90/95 compiler, but it could be a free
    Fortran 90/95 compiler.

-- 
Niels Kristian Bech Jensen -- nkbj@image.dk -- http://www.image.dk/~nkbj/

----------->>  Stop software piracy --- use free software!  <<-----------


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]