gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

OffTopic > Bundled/Derivitive works and License conflicts

#28208 - Abscissa - Wed Oct 27, 2004 8:08 pm

This seems to be a common point of confusion with open-source liscences (GPL in particular), and I'm going to double-check the GPL again myself, but I wanted to get others input before totally trusting my understanding of the legaleese.

As I understand, the GPL requires derivitive works to be GPL'd but does not require GPL for things that are merely distributed with GPL'd software. The issue (as usual) is where is this line drawn? The GPL (from section 2) seems to define it as: whether they "can be reasonably considered independent and separate works in themselves" and are distributed "as separate works", or if they're distributed "as part of a whole". It's this "as part of a whole" that I don't quite understand the boundaries of.

Specifically, I'm thinking about the GBA AppWizard for Visual Studio I'm working on. I don't plan to use the GPL on it (I'm actually thinking more along the lines of the MIT license). Although, I would like it to interface with/be compatible with certain pieces of software: DevKitARM (which is based on gcc and hence is GPL'd), possibly GNU Make if I decide I need to abandon NMAKE, and likely GBFS (which is GPL as well) since it seems to be the best way of including binary data.

I can certainly have my app as it's own individual download and require users to download and install the others separately, and I don't think there would be any problem with that. It's just that considering that the whole purpose of my program is to make things super-easy for the users, especially beginners, that seems like a lot to expect out of them. I would like to be able to provide a distribution of this GBA AppWizard that includes the various things it needs (obviously excluding Visual Studio, that would be silly ;) ) to make less work for the end-user, and possibly provide an integrated installer as well. This would of course be in addition to a stand-alone distribution.

I wouldn't actully be making any changes to the various pieces of software, just distributing them together. But, what I'm not sure of is, would that resulting distribution (with or without an all-in-one install program) would constitute "parts of a whole" and therefore require the GPL for all of it? Or would it still be considered seperate works? Or would it invoke section 10 of the GPL and simply require obtaining permission from the authors of the various programs?

#28220 - tepples - Wed Oct 27, 2004 11:48 pm

As for calling gcc.exe, make.exe, and gbfs.exe from your Wizard:
If a plurality of cooperating programs run in separate processes and communicate via typical inter-process communication methods such as command line arguments and data files, then they do not form a single larger program, and they fall outside the scope of any "viral" effects of the license, as explained by this section of the GPL FAQ. For instance, if your program invokes the GCC toolchain (gcc.exe) or the GBFS archive builder (gbfs.exe) in a separate process, that's no different from the Windows shell (cmd.exe) invoking those programs.

As for distribution:
GNU/Linux distributions often include both GPL'd software and GPL-incompatible software in the same .iso format archive; the "mere aggregation" clause allows this to happen. The only restriction for bundling GCC, Binutils, and GBFS with your completely separate work is that you have to make GCC source code, Binutils source code, and GBFS source code available at cost.

As for libgbfs.c:
The GBFS runtime shouldn't cause a problem because it's permissively licensed.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#28227 - Abscissa - Thu Oct 28, 2004 1:37 am

tepples wrote:
The only restriction for bundling GCC, Binutils, and GBFS with your completely separate work is that you have to make GCC source code, Binutils source code, and GBFS source code available at cost.


I assume you mean "at no cost". ;)

#28230 - tepples - Thu Oct 28, 2004 3:17 am

No, "at cost." I'll highlight the relevant language from the GNU GPL:
Stallman and Moglen wrote:
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 [...] 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.

You can charge for necessary expenses to get the source code to the user, as Mandrakeclub does. However, for GCC, Binutils, and other packages much smaller than an OS distro, access to the source code is a marginal good (that is, too cheap to bill for), and most redistributors just toss it on a web site somewhere.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#28232 - Abscissa - Thu Oct 28, 2004 4:51 am

Oh, yea. I knew about the cost of distribution stuff. It's just the way the sentence was worded ("The only restriction ... is that you have to make ... source code available at cost.") That made me think "What? I'm required to charge money for it? That can't be right!" Heheh, silly me :)