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
___________________________________________________________________________________

Reply via email to