Submitted 980428, comments to email@example.com.
All future id source releases, whether tools (editor, map compiler) or games (Q1/Q2) should be subject to a License that includes a GPL-like mechanism to enforce source releases.
Anybody basing his/her work on publicly available sources that contribute to his/her work will be forced to give back to the public base.
Commercial, semi-commercial undertakings and efforts done by coders that do not feel comfortable with this solution are discouraged.
For id's purposes, a GNU GPL does not apply, as it allows for several means of charging for services (distribution on CD ROM or by other paid-for means, Cygnus-like support and development contracts).
A possible addition to any id License would be something like:
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. 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. These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. 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. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 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: a) Accompany it with the complete corresponding machine-readable source code on a medium customarily used for software interchange; or, b) Accompany it with complete instructions on how to obtain the source code from a site accessible by a customarily used protocol like FTP or HTTP. The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.The above is a slightly modified excerpt from the GNU Public License, which should be consulted for details.
From an exchange with John Carmack, on Fri, 6 March 1998:
>I want to repeat my suggestion to consider a GPL/GNU >like mechanism to enable modifications of >modifications - distribution of modified sources >should be mandatory and enforced. A situation recently came up where I was able to make a solid biz case for GPLing all of our released source code. I am almost certainly going to do that in the future. I have some questions about retroactively GPLing already released code, though.