On Tue, Nov 26, 2024 at 2:36 PM Paul Dufresne via Freedos-devel <freedos-devel@lists.sourceforge.net> wrote: > > I said: > > Note the license seems to allows rebuilding and distributing only a > > not-modified version. > I did read too fast the license... You can read it at: > https://github.com/upx/upx/blob/devel/LICENSE > It's a bit complex because there is the program, the stub in executable for > general case, the stub in executable > of GPL programs. >
Yes, the license for UPX is GNU GPL v2 (or later). However, the authors also note in the license file that "compressing a program is a special form of linking with [the UPX] stub" under the GNU General Public License. (See below.) And that's an important point. Not all open source licenses are compatible with the GNU GPL, so you can't just assume "it's open source, I'll compress it with UPX and that will be fine." The FSF maintains a list of licenses, including a list of licenses that they consider are NOT compatible with the GNU GPL: https://www.gnu.org/licenses/license-list.html#GPLIncompatibleLicenses Important bit of FreeDOS license history: the FSF folks are picky about licenses, and it's likely there are some licenses that are approved by OSI but not compatible with the GNU GPL. I don't remember right now. Our standard has been: if either the OSI considers a license is "open source" (they maintain a list of "open source" licenses) *or* if the FSF considers a license is "Free software" (per their list) then we've accepted the license. But DOS (1981) is older than the GNU GPL (v1 1989; v2 1991) -- and FreeDOS (1994) is older than the Open Source Initiative (1998) -- so there are DOS programs we include in FreeDOS that have a license that's not listed on either the FSF or OSI lists. We've had to determine if these are "open source" enough that we can include them. How that affects UPX: that means that the license for a program we've included in FreeDOS was never evaluated by the FSF so you won't know if these are acceptable (GPL compatible) to compress with UPX. Per the "compressing a program is a special form of linking with [the UPX] stub" that means a program's license must be compatible with the GNU GPL to compress it ("link") with UPX. Here's a copy/paste from the UPX license. Full copy at https://github.com/upx/upx/blob/devel/LICENSE > GNU GENERAL PUBLIC LICENSE > ========================== > > UPX and the UCL library are free software; you can redistribute them > and/or modify them under the terms of the GNU General Public License as > published by the Free Software Foundation; either version 2 of > the License, or (at your option) any later version. > > UPX and UCL are distributed in the hope that they will be useful, > but WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > GNU General Public License for more details. > > You should have received a copy of the GNU General Public License > along with this program; see the file COPYING. > > > SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES > ============================================ > > The stub which is imbedded in each UPX compressed program is part > of UPX and UCL, and contains code that is under our copyright. The > terms of the GNU General Public License still apply as compressing > a program is a special form of linking with our stub. > > Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special > permission to freely use and distribute all UPX compressed programs > (including commercial ones), subject to the following restrictions: > > 1. You must compress your program with a completely unmodified UPX > version; either with our precompiled version, or (at your option) > with a self compiled version of the unmodified UPX sources as > distributed by us. > 2. This also implies that the UPX stub must be completely unmodfied, i.e. > the stub imbedded in your compressed program must be byte-identical > to the stub that is produced by the official unmodified UPX version. > 3. The decompressor and any other code from the stub must exclusively get > used by the unmodified UPX stub for decompressing your program at > program startup. No portion of the stub may get read, copied, > called or otherwise get used or accessed by your program. _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel