This talk describes the implementation of a self hosted C compiler that is implemented in a dialect of C that is simultaneously valid C, JavaScript, and AWK. This allows us to ship a C compiler in source form that can be built on many different platforms.
cjsawk itself is also capable of building a C99 compiler. In turn this allows us to bootstrap from source all the way up to GCC.
> I'd go further and advocate for legally mandated source code escrow for copyright validity, and GPL like rights to the code once public, which would happen if the software is off the market for N years.
I see what you are saying and don't completely disagree. I however feel that the spirit of free software is to set all software free. From that it follows, that if we are going to follow the current route of complete disregard for authorship and licenses, then the free software movement should continue fighting to liberate all software in existence. In other words, those LLM's that you mention that are to enable software freedom for users who cannot code themselves, in a fair world, they would be trained with both free and proprietary software. After all, a derivative work from a proprietary software should also be subject to fair use. The output produced by the LLM wouldn't necessarily be a literal copy-paste of any particular proprietary software... as the models would just be "learning" from them. The company could just continue doing business as usual, build on their brand and yada yada yada.
Regarding the licensing, I'll restate my point that the Affero license was created precisely in a moment where the existing licenses could no longer uphold the freedoms that the Free Software Foundation set out to defend. A change of license was the right solution at that particular point in time and, if it worked then, I think we can all agree that there is at least a precedent that such a course of action might work and should at the very least be considered as a possible solution for today's problems.
That said, my own personal view is more aligned with demanding the nation states to pressure big corporations so that currently closed-source software becomes at least open-source (either by law, or simply by stopping using it and invest their budget in free alternatives instead). Note I said open source and not free. I just would like to read their code and feed it to my LLM's :)
If we instead adopt the view of free software (https://www.gnu.org/philosophy/open-source-misses-the-point....), the fact that OpenAI and other large corporations train their large-language models behind closed doors - with no disclosure of their training corpus - effectively represents the biggest attack on GPL-licensed code to date.
No evidence suggests that OpenAI and others exclude GPL-licensed repositories from their training sets. And nothing prevents the incorporation of GPL-licensed code into proprietary codebases. Note that a few papers have documented the regurgitation of literal text snippets by large language models (one example: https://arxiv.org/pdf/2409.12367v2).
To me, this seems like the LLM-version of using coin-mixing to obscure the trail of Bitcoin transactions in the blockchain. The current situation also reminds me of how the generalization of the SaaS model led to the creation of the Affero GPL license (https://www.gnu.org/licenses/why-affero-gpl.html).
LLM's enable the circumvention of the spirit of free software licenses, as well as of the legal mechanisms to enforce them.
Kudos for writing such a handy tool! I love the fact that it is self-contained in one file.
Adding the option to filter by monospaced typefaces would make it even more amazing, imho. I would totally use a version of it that had the ability to "pair" three fonts: heading font, body font, and coding font.
The cherry on top would be enabling support for locally-installed fonts.
cjsawk itself is also capable of building a C99 compiler. In turn this allows us to bootstrap from source all the way up to GCC.
Web demo: https://cosinusoidally.github.io/tcc_simple/experiments/cjsa...
Project github repo: https://github.com/cosinusoidally/tcc_simple/tree/master/exp...
Slides: https://online.accuconference.org/wp-content/uploads/2025/10...