This question (both this one on Meta and the blockquoted one for main) seem on topic to me. The answer that I'll write below is certainly off-topic for Meta though.
The official repository of LuaTeX seems to be located on a private GitLab site, here.
Yes, the main "upstream" repo is indeed https://gitlab.lisn.upsaclay.fr/texlive/luatex. Throughout the year, commits/updates are made to this repo. However, sometimes changes are made directly to https://tug.org/svn/texlive/trunk/Build/source/. Occasionally, the GitLab repo pulls in the changes from the TL repo, then once a year (ish) the TL repo pulls in the changes from the GitLab repo.
It doesn't appear to allow contributions, not even in the form of defect reports or similar.
The GitLab site doesn't allow any contributions directly, but the LuaTeX team still accepts them.
and I appreciate and comprehend the remarks from the FAQ
Most of luatex.org is pretty old, so I wouldn't take anything there too literally.
The story here is a little complicated, but here's a short version. LuaTeX started when NTS was going to be the next big thing, but NTS ultimately failed because there was more discussion than actual coding. This was a big problem since computers had changed a lot since 1982, but the only major new engine was pdfTeX, and TeX couldn't afford to stagnate if it wanted to survive.
Also, LuaTeX was originally developed only for ConTeXt. So at the start, LuaTeX gained whatever features that it needed for it to work with ConTeXt. Pretty much every previous TeX engine had near-perfect backwards compatibility with Knuth's original TeX, but LuaTeX intentionally had a few minor backwards incompatibilities. These incompatibilities are to this day controversial.
These days, things are much different. At the start, LuaTeX would change radically from year-to-year; now, there haven't been any major changes for about 5 years. At the start, LuaTeX was entirely driven by ConTeXt's needs; now, the most recent update broke ConTeXt to fix bugs with LaTeX and Plain.
1. Several of the points mentioned around the topic of contributions and even user feedback appear out of date (both sockets and UTF-8 no longer seem to be a concern; ancient versions seem to be referenced; trunk ist referenced instead of the master default branch).
Correct, this is all ancient.
2. Having specific plans and a specific design doesn't generally preclude outside contributions. The only thing it does is to provide a boundary within which contributions should (?) be welcome.
3. Small team of decision-makers doesn't preclude outside contributors or contributions. I've even heard of instances where FLOSS projects gained new core team members by taking in contributions and promoting regular high-quality contributors.
This was written back when LuaTeX was only for ConTeXt, and to this day ConTeXt has very different wants/needs compared to the other TeX engines. Generally speaking, some of the loudest users in the TeX community want nothing to ever change, but this conflicts with ConTeXt's goal of continuous improvement.
Outside contributions are definitely welcome in LuaTeX; I made a first-time contribution (bug fix) two weeks ago. And if you look through the changelogs, LuaTeX still adds new features every year or so.
Considering that the upstream project -- as per their own statements -- doesn't seem to be inclined to take any outside contributions,
Yeah, I agree that this page makes them look semi-hostile to outsiders. But the LuaTeX team (Hans and Luigi these days mainly) are actually quite friendly. Keep in mind that there are also some language/cultural issues here too.
is there any way to contribute at all?
Send a patch (in an attachment, not inline) or a bug report to [email protected]
(current archive is stale, use this one instead). If it's something simple/obvious, Luigi will usually merge/fix it in about a day (although it won't end up in a binary until the next annual TL release).
If it's a feature request or something more complicated, then it will probably take some more time. Generally speaking, LuaTeX doesn't like to add new features anymore, but anything simple or important has decent odds at being accepted.
Patches generally aren't needed for bug reports, but they'll help a lot for a feature request.
In particular I imagine the TeXlive project could be willing to maintain patches rebased against the upstream
TL never patches upstream projects (except for things like web2c
, kpathsea
, pdftex
, etc. where TL itself is the upstream). But if you did manage to get a patch into TL, it would eventually get pulled back into the main LuaTeX repo.
[added by me] How do you build/install LuaTeX from source?
$ git clone --depth 1 //gitlab.lisn.upsaclay.fr/texlive/luatex.git
$ cd luatex
$ ./build.sh --parallel --luahb
# cp build/texk/web2c/luatex build/texk/web2c/luahbtex "$(kpsewhich --var-value=SELFAUTOLOC)"
# fmtutil-sys --byengine luahbtex
# fmtutil-sys --byengine luatex