Hi Max, I'll just type up here as my reply is "short". (I guess things are clear, at least if I squint just right.)
First, thanks for the long and detailed reply, I appreciate that it took a while for you to put that together. Second, while I strongly believe in the concepts of free(dom) and open-source software, I think some policies (such as "don't distribute software that only is useful with non-free software") are not necessarily friends of free/OSS, because "freedom" should include the freedom to use what software I want. In other words, these policies are restricting my freedom. For example, if I am madly in love with some non-free typeface, a policy that essentially says "we're going to make it hard for you to use that typeface" is just spiteful. Third, while I avoid Debian whenever possible, partially because of their fanaticism (Monty Python's "Spanish Inquisition" skit always comes to mind, except the skit is funny), I have heard about Debian's non-free stuff. However, I had not heard about TL's non-free stuff until this week, even though I have been using TL for many years. (I guess I need to read more documentation, but since downloading the installer and installing works so well, I tend to do only that.) Right now, if one scrolls all the way to the bottom of https://www.tug.org/texlive/quickinstall.html, one does see a link to the TLContrib repository, from where one sees a list of package names with no explanation of what those packages contain, and (for now at least) a 403 to https://git.texlive.info/tlcontrib. Q: Do you think that, at the risk of raising the ire of the absolutist elements in the free software world, that mentioning tlcontrib more prominently (say, on https://www.tug.org/texlive/) would make sense? And if you think so, do you think Karl would agree? Cheers. Jim On Thu, Mar 19, 2026 at 02:43 (-0700), Max Chernoff wrote: > Hi Jim, > On Wed, 2026-03-18 at 14:22 -0300, Jim wrote: >> On Tue, Mar 17, 2026 at 04:06 (-0700), Max Chernoff via ntg-context wrote: >>> 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" >> I don't want to flog any horse to death, but I will admit I don't >> understand this particular point. >> Specifically, I don't see how referencing something in a non-free font >> makes cambria-math.lfg itself verboten. > So the default/historic rule is that if a file is only useful when used > with non-free software, then it cannot be included in TL. As far as I'm > aware, this rule has been in place forever, but the first formal mention > of it that I can find is from 2010. The documentation is still kept in > RCS, so here's the log+diff: > ---------------------------- > revision 1.21 > date: 2010/11/23 00:49:02; author: karl; state: Exp; lines: +29 -21 > free support for something nonfree doesn't fly. > =================================================================== > RCS file: RCS/pkgcontrib.html,v > retrieving revision 1.20 > retrieving revision 1.21 > diff --unified -r1.20 -r1.21 > --- pkgcontrib.html 2010/10/04 23:10:51 1.20 > +++ pkgcontrib.html 2010/11/23 00:49:02 1.21 > [...] > @@ -21,38 +21,46 @@ > [...] > +<li>a.2) The package must be useful in itself, or useful in conjunction > +with free software. In other words, we won't install a package that > +exists only to support something nonfree, even when it is free itself > +(e.g., LPPL'd macro support for a proprietary font). That doesn't help > +the free software world, and would rightly be rejected by <a > +href="http://www.gnu.org/distros/free-distros.html">free distros</a> in > +any case. > Because of this, the type-imp-* files for non-free fonts were excluded > from TL, from before I started maintaining the package > https://svn.tug.org:8369/texlive?revision=67034&view=revision&limit_changes=0 > (Those files were _always_ supposed to be excluded, but with >250k files > in TL, nobody has the time to check every one, so only "obvious" cases > tend to be caught, and even these often take a while.) > When I took over maintenance of the ConTeXt package last year, my first > step was to compare the ConTeXt files in TL with the ones in the > Standalone Distribution. I noticed the missing files, and lots of > discussion ensued. Essentially, we (Karl and I) agreed on the following: > 1. We do not want to make any _significant_ changes to the current > policy regarding free support files for non-free software. > 2. "psnfss.map" has been around for 30+ years > https://www.ctan.org/pkg/psnfss > and has been included in TL since the very beginning > https://svn.tug.org:8369/texlive/trunk/Master/texmf-dist/fonts/map/dvips/psnfss/psnfss.map?revision=93&pathrev=93&view=markup > 3. "psnfss.map" is only useful with non-free fonts (ignoring that there > are free clones available now; there are other .map files that refer > to fonts without free clones). But the current (in 2025) policy > requires us to remove this file. > 4. But we don't want to remove "psnfss.map", because this would break > 30+ years of documents, because there's 20+ years of precedent, and > because removing this file wouldn't benefit the free software > movement in any way. > 5. The type-imp-* files are semantically equivalent to the .map files, > so if we allow .map files for non-free fonts, then it would be > inconsistent to disallow type-imp-* files for non-free fonts. > At this point, Karl and I came to the conclusion that given the above > points, the best solution would be to reword the current policy to allow > exactly this case. So: > ---------------------------- > revision 1.56 > date: 2025/05/14 20:05:25; author: karl; state: Exp; lines: +13 -12 > exception tweak > ---------------------------- > revision 1.55 > date: 2025/05/14 00:41:11; author: mseven; state: Exp; lines: +12 -2 > Update pkgcontrib.html with .map file exception. > =================================================================== > RCS file: RCS/pkgcontrib.html,v > retrieving revision 1.54 > retrieving revision 1.56 > diff --unified --ignore-all-space -r1.54 -r1.56 > --- pkgcontrib.html 2025/02/15 18:48:07 1.54 > +++ pkgcontrib.html 2025/05/14 20:05:25 1.56 > [...] > @@ -53,6 +52,18 @@ > [...] > +<p>Exception: <code>.map</code> and <code>.map</code>-like files that > support > +non-free fonts may be included in TeX Live. This exception includes > +<em>only</em> <code>.map</code> files, and not <code>.enc</code>, > +<code>.tfm</code>, <code>.afm</code>, or similar files. A > +<code>.map</code>-like file may categorize a font, convert user-friendly > +names to file names, and specify the relationships between the font's > +variants (bold, italic, etc.); a file that supports non-free fonts in > +any other way (e.g., provides actual font functionality) does not fall > +under this exception. Also, these <code>.map</code> and > +<code>.map</code>-like files must themselves be available under a free > +license. > So essentially, _any_ files that exist only to support non-free software > aren't permitted in TL; as a special exception, type-imp-* and *.map > files that support non-free fonts _are_ allowed. >> Indeed, cambria-math.lfg might not work well with some other font that is >> pretending it is Cambria math, but surely that isn't a reason to declare >> the .lfg file non-free. It just tells me that if I pretend some other font >> is Cambria math, then I'll get an error or bad results or ... >> But isn't that problem on the user who is pretending something else is >> Cambria math? There are all sorts of things I can do to make TeX, LaTeX >> and ConTeXt give me bad output, and surely texlive doesn't want to omit >> every piece of the system that I can mis-use. > The point is not whether the files work; the important thing is that if > the files are useful with proprietary software _and_ not useful with > free software, then they're not allowed. > (Files that work with both free software and non-free software (such as > the fontloader, which can load all types of fonts) are also allowed. > Files that are equally broken/useless with proprietary software and free > software are also allowed, but strongly discouraged for obvious > reasons.) > I guess there are a few different perspectives here: > - The pragmatist: I only have free fonts installed, and my friend send > me a .tex file that depends on non-free fonts. If I rename some free > fonts without .lfg files to the same name as the proprietary fonts, > then the document compiles correctly; therefore, the type-imp-* files > are useful on their own without proprietary software. But this > renaming trick gives an error with the .lfg files (or produces > unusable output, etc.), therefore these files are not useful with only > free software. > - The literalist: type-imp-* files are like .map files, therefore they > are allowed. .lfg files are like .tfm files, therefore they are not > allowed. > - The historian: we've historically allowed .map files for non-free > fonts, but have historically disallowed any other support files for > non-free fonts. Therefore, anything that isn't like a .map file can > never be allowed. >> Similarly, there are all sorts of pieces of software on my computer which >> assist me in using non-free software. > Yup, I'll freely admit that I have lots of non-free software installed > on my computers, and that I don't necessarily personally agree with all > of TL's policies. >> But I imagine even the most >> fanatical Debian person would allow those on his/her computer. > tlcontrib is explicitly modelled after Debian's "contrib" repo: > https://contrib.texlive.info/ > https://www.debian.org/doc/debian-policy/ch-archive#the-contrib-archive-area > Splitting Debian into separate "main" and "contrib" repos is quite a bit > of extra work, so the fact that it exists implies that many Debian > developers are against including the contents of "contrib" in "main" > (which also implies that this means that they don't want the contents of > "contrib" on their computers.) >> So... is the exclusion of cambria-math.lfg explainable in any other way >> than "ugly output will result if you use it on a free font"? > Yes, see the long explanation above :). But please let me know if > anything is still unclear, and I can try and clarify it further. > 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 ___________________________________________________________________________________
