Xref: news-dnh.mv.net comp.os.msdos.djgpp:3301 gnu.misc.discuss:5403 rec.games.programmer:33606 Path: news-dnh.mv.net!mv!news.sprintlink.net!novia!news.dpc.net!news.heurikon.com!uwvax!newssinet!news.nc.u-tokyo.ac.jp!wnoc-tyo-news!wnoc-sfc-news!venus.sun.com!cs.utexas.edu!garcon.unicom.com!unicom.com!bga.com!realtime.net!imci2!newsfeed.internetmci.com!psgrain!fizban.solace.mh.se!news.ecn.uoknor.edu!news.uoknor.edu!news From: nlin AT alliant DOT backbone DOT uoknor DOT edu Newsgroups: rec.games.programmer,comp.os.msdos.djgpp,gnu.misc.discuss Subject: (LONG) DJGPP: Can I sell compiled programs? Date: Fri, 17 Nov 1995 00:15:38 GMT Organization: The University of Oklahoma (USA) Lines: 74 Nntp-Posting-Host: essex.ecn.uoknor.edu To: djgpp AT sun DOT soe DOT clarkson DOT edu Dj-Gateway: from newsgroup comp.os.msdos.djgpp Greetings everyone! I have a licensing question about programs I create using DJGPP. I apologize for the length of this post, but it's unfortunately brought about by the length of the GPL. Put simply, can I sell the executable form of programs I compile and link with DJGPP? I am considering switching to DJGPP from Turbo C++, because it (DJGPP) is a full 32 bit compiler. However, after reading the COPYING.LIB license file, containing the GNU Library General Public License, I am not completely clear as to my rights in terms of selling/distributing any executables I create. Let's say I develop a program under DJGPP. As I understand it, there are then three classes of files for which different licensing may apply: 1. The source code to my program. 2. The object code to my program. 3. The executable code to my program, linked with the GNU/DJGPP libraries. Basically, the GPL does not affect #1, so long as my source code does not contain portions of the Library, correct? As for #2, the GPL may affect my rights to my object code, if the source code used material from the Library's header files (which is, in practice, a practical necessity). Then, said object code may contain portions of the Library, and thus fall under the GPL. The following section confuses me: > If such an object file uses only numerical parameters, data >structure layouts and accessors, and small macros and small inline >functions (ten lines or less in length), then the use of the object >file is unrestricted, regardless of whether it is legally a derivative >work. (Executables containing this object code plus portions of the >Library will still fall under Section 6.) I assume that most of my object code will fall under this clause. It says that the "use" of the object file is under these conditions unrestricted. Does this mean the "licensing" of this object file is also unrestricted? Finally, #3 -- the executable. It falls under section 6 of the GNU Library GPL, correct? As I understand this section, I can sell or otherwise license in any manner the executable form of software, containing the linked libraries, if I do the following: 1) Include object code (but NOT source code) for my application, so users may relink my application with new/updated DJGPP libraries (libc.a, etc). Also include any necessary script/batch files for relinking. Give users permission to relink, modify, and reverse engineer my objecct code so that such relinking may be debugged or modified as necessary. 2) Include the DJGPP libraries' source with my application. 3) Supply a copy of the GNU Library General Public License. 4) Mention the copyright of the linked GNU libraries. Is this correct? If I do the four things above, then am I legally allowed to sell (in particular, as Shareware, but the question applies equally for commercial software) my executables? I am particularly interested in #1 -- do I understand correctly that I do NOT need to supply source code, but only object code, to my executable? Does this mean that the upcoming game QUAKE, the successor to DOOM which I understand is being written using DJGPP, will include relinkable object files? Would/could all this legal rigamarole be avoided if DOS/DJGPP provided for shared/dynamically linkable libraries? I've heard a lot of good things about DJGPP, but I want to make sure I understand my rights before I become a "true convert". Thanks in advance! -Norman