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

Reply via email to