Hi Max,
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 one is already applied to context and of course there are more
cases where it woudl apply.
In fact, omitting the luametatex sources kind of violates the context
folk 'source included' rule anyway.
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
Well, if that is considered okay we can also replace tex by word or
whatever ... after all, how do we define 'still work' ... but maybe I'm
old fashioned and the same applies to everything; maybe that's why the
usa ended up with a crazy president: voters swapping one party for
another because they assume 'it 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"
So when one rename a.otf in b.otf why not rename a.lfg into b.lfg too.
And what if a style adapts e.g. interline spacing setup etc for the
original font ... okay, maybe that's why we see so many badly
typeset-by-tex documents on the web ... maybe that's why so much math
looks weird spacing wise ... swapping fonts and assuming all works fine.
And after a while no one notices and only the 'tex is pertfect' meme
survives and one doesn't have to check at all because of that.
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.)
Oh, so we should combine all files ... a lame excuse. I really hate this
kind of inconsistency.
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.
Indeed. I don't blame Karl at all. It's the policy of those the
distribution is used by for derived work I wonder.
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.
Context is quite old.
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 wonder.
(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 bet that sticking one head in the ground (ostriche) would work well.
We're talking file names, not resources. Those who bother about that
can't really use the internet or any related app anyway.
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/
I presume these are depressing reads so I decided to listen to some (non
free) music instead.
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.
We'll see how long tex will survive all this.
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.
In the current (political) climate we need to adapt drastically so we'll
see how that reflects on tex. Also, basically AI made all discussions
about copyright, free and such completely redundant. Soon there will be
a flood of 'make me a tex installation' stuff around.
$ 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
Great, all different names. Lucky me that I need little on linux.
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.
Good.
(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.
:)
Hopefully you can keep motivated for a few decades,
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________