The UPX issue would be irrelevant if we didn't ship binaries at all. Hear me 
out. :)

Repeatedly, I have seen stressed here the importance of making sure all 
packages we ship are 100% open source. And rightfully so - I don't disagree 
with that.

However, shipping binaries could be seen as a form of bloat because they are 
completely redundant when each package is supposed to have complete source code 
included. What better way to ensure that the packages we ship both currently 
and in the future meet this crucial goal than to prefer that a package contain 
only source code, which the installer then builds into a functioning binary at 
install time? Source code, as it is simply text, has an extremely high 
compression ratio, with the only tradeoff being a (perhaps slight?) increase in 
install time on some older machines. And are any FreeDOS apps truly so large 
that they couldn't be built fairly quickly on all but the very oldest install 
targets out there? In my mind - and I realize others may disagree - a one-time 
"penalty" of a longer install is a worthwhile trade-off to make for an overall 
much smaller package size.

Doing this would facilitate another nicety, too: dynamic compilation tailored 
to the user's machine. Have a modern machine? Cool, the installer will compile 
you a 386+ binary with no additional hassle from the user's point of view. Got 
an older PC? No sweat, one 8086-compatible binary, coming right up! All from 
the same code the package already contains.

The only notable exception to this principle which comes to mind would be 
applications which are written in commercial languages, such as Borland Pascal 
and the like, which we could not install temporarily to facilitate 
installation. Applications written in such a way would need to have binaries 
shipped in the traditional manner. But I wonder how many applications written 
in the FreeDOS-preferred combo of Watcom C and NASM could be converted to this 
paradigm, and how much space could in turn be saved.





Sent with Proton Mail secure email.

On Friday, November 29th, 2024 at 6:52 PM, Jim Hall via Freedos-devel 
<freedos-devel@lists.sourceforge.net> wrote:

> On Mon, Nov 25, 2024 at 7:04 PM Eric Auer via Freedos-devel
> freedos-devel@lists.sourceforge.net wrote:
> 
> > Hi! There is a new DOjS release, as mentioned on
> > 
> > https://sourceforge.net/p/freedos/news/
> > 
> > unfortunately, the freedos zip is 61 MB in size :-o
> > 
> > https://ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/js/dojs/1.13.0/
> 
> 
> Yes, this is a very large source package because SuperIlu includes the
> 3rd party source code required to build DOjS (which is a Good Thing --
> but that also means it's big).
> 
> > This made me wonder how it could be made smaller.
> > 
> > The TL;DR answer is: Use 7Z, not ZIP, for the sources to
> > shrink the download, but you can also save dozens of MB
> > in the installed size by using a small set of tricks.
> > 
> > A simple way to shrink the installed package is UPX:
> 
> [..]
> 
> 
> Except that you can't. From my other email (see "FreeDOS 1.4"): the
> UPX "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."
> 
> And:
> 
> > 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.
> 
> 
> 
> The DOjS license file lists the licenses for each of the components
> included in DOjS. I just went through them again, and they all look
> like they appear on the FSF's list of "GPL-compatible" licenses ..
> except OpenSSL:
> 
> > The OpenSSL toolkit stays under a double license, i.e. both the conditions
> > of the OpenSSL License and the original SSLeay license apply to the
> > toolkit.
> 
> 
> And per the FSF's "compatible licenses" page, they consider the
> OpenSSL license is not compatible with the GNU GPL:
> https://www.gnu.org/licenses/license-list.en.html#OpenSSL
> 
> My interpretation is that you cannot compress this with UPX, because
> the UPX developers consider compressing to be a form of linking .. and
> the FSF folks say the OpenSSL license is not compatible with GPL, so
> you can't link with it.
> 
> IANAL. Licenses are tricky.
> 
> 
> 
> jh
> 
> 
> _______________________________________________
> Freedos-devel mailing list
> Freedos-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freedos-devel


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to