Hi Hans,

On Tue, 2026-03-17 at 10:54 +0100, Hans Hagen wrote:
> On 3/17/2026 10:13 AM, Max Chernoff wrote:
> So maybe when we'd ship byte-compiled lfg files it would fall through.

Well then you'd fall afoul of the "all compiled files must also contain
their corresponding source" rule :)

> That is the strange thing: why does the policy permit filenames in tex
> files but not in lua files ... baffles me.

Filenames are equally fine in Lua and TeX files, but the difference is
that the .lfg files reference the structure/contents of the font, not
just the name. For example, you can rename "texgyrepagella-regular.otf"
to "LucidaBrightOT.otf", and "type-imp-lucida.mkiv" will still work
completely correctly (I've even tested this out). However,
"cambria-math.lfg" depends on the font having a character in
"0x221A.parts.bottom" that needs to be kerned by 0.2 units; this will
presumably only work (or only give good results with) the actual Cambria
Math font, and not just some random font renamed to "cambmath.ttf"

> And we both know that there
> are non-context files that relate to non free fonts but they can't be
> left out because otherwise some free stuff doesn't work.

These are in general not allowed, regardless of how much removing them
would break things. Generally files like this are kept because either:

1. They contain ~20 lines of code to support other non-free software,
   interspersed between hundreds of lines of code that does something
   useful without non-free fonts. (This is just to make things easier on
   the TL maintainers: downstream distributions like Debian and Fedora
   will patch their package sources to remove such code from their
   files.)

2. TeX Live contains >250k files, and Karl is essentially the only
   person who checks the uploads, so unless something is _obviously_
   non-free, it probably won't be noticed, since checking every file is
   just plain impossible.

3. We're generally more lenient with older packages than newer packages,
   because it's often impossible to contact authors of 20+ year old
   packages.

But if the LaTeX kernel were to add a file that only exists to support
non-free fonts and someone points it out to the TL maintainers, then we
would indeed remove it.

(I agree that the rules seem almost nonsensical at times, but we're
trying to strike a balance between "complies with the policies of
downstream distributions like Debian and Fedora" and "doesn't add
needless work for the TL maintainers". Which often gives odd results,
but the alternatives either make TL impossible/really hard to package
for downstream distributions, or mean that Karl has to do a ton of extra
work.)

> I wonder if anyone would really bother if they were there. But if it
> really matters I'll check my next linux update and wipe out all programs
> that refer to something non-free, like browsers / css etc.

You will not find non-free software in the default installation of any
of the major Linux distributions (aside from Ubuntu). Some examples of
distro policies:

    https://en.opensuse.org/Free_and_Open_Source_Software

    https://wiki.debian.org/DebianFreeSoftwareGuidelines

    https://docs.fedoraproject.org/en-US/legal/license-approval/

In general, TL's policies on non-free software are _less_ strict than
any of these distros; if you find any software that TL's current
policies disallow but would be allowed by one of these distros, then
that's almost certainly an oversight on our part, and we will likely be
able to relax TL's policies to allow it.

> > > so these users are toast anyway.
> >
> > Not quite "toast", just not installed by default. All these files are
> > available in the tlcontrib repo
> >
> >      https://contrib.texlive.info/
>
> Poor users, who have to cope with all this.

Agreed, this would not be my first choice (personally), but it's the
best option given the current policies.

> >      $ tlmgr repository add 
> > https://mirror.ctan.org/systems/texlive/tlcontrib tlcontrib
> >      $ tlmgr install context-nonfree
>
> That second line kind of indicates the weirdness. When I update the way
> larger programs in an linux / windows installations I never have to do that.

This is _exactly_ how most Linux distributions work:

    https://rpmfusion.org/Howto/Multimedia

    https://docs.fedoraproject.org/en-US/quick-docs/rpmfusion-setup/

    
https://serverfault.com/questions/240920/how-do-i-enable-non-free-packages-on-debian

    
https://www.debian.org/doc/debian-policy/ch-archive#the-non-free-archive-area

    https://en.opensuse.org/SDB:Installing_codecs_from_Packman_repositories

    https://en.opensuse.org/Additional_package_repositories

Which is fairly unsurprising, since tlcontrib was explicitly modelled
after Debian:

    https://contrib.texlive.info/

> > After that, *all* of the files contained in the Standalone Distribution
> > but excluded from the default installation of TL will be available in
> > their standard locations, and will automatically update with the rest of
> > the packages.
>
> Apart from the fact that some configurations are adapted wrt locating
> files.

Yes, correct. But if this ever breaks anything or causes any problems,
then I'd consider that a bug, and will try and fix it as soon as
possible.

> > (I'm aware that this is still somewhat inconvenient, and that most users
> > won't do this, but this is the best/only option available to me.)
>
> Sure, I know you somehow have to cope with it. Just hopew that no own
> ask some chat to help with this as it can be halucinating.

:)

Thanks,
-- Max
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

Reply via email to