Subject: Re: [bug#53765] V3 Patches

From: Maxime Devos <[email-masked]>
Date: Sat, 16 Apr 2022 21:16:08 +0200

Reily Siegel schreef op za 16-04-2022 om 19:39 [+0200]:
> It is my personal opinion that this is not a compilation, but a
> translation. All this "compiler" is doing, as far as I can tell, is
> reading the JSON source, and outputting an equivalent source in EDN
> format.

Translation (between human languages) is hard.  Translation between
file formats can be hard to, e.g. for complicated documents, I often
see errors introduced by Libreoffice (odt) <-> Microsoft (docx)
conversion.  

> This seems completely fine to me, as nothing then prevents the
> user of this library from editing the EDN source, which is equivalent to
> the JSON source. In fact, since this is a Clojure library, the EDN
> source is probably the preferred form for editing for people who are
> likely to use it.

These EDN files could be modified, so non-Cognitect people could
perhaps, for every new API thing or modified API that Amazon
introduces, manually search for the relevant part in the JSON files and
transcribe them to EDN, do some tests to make sure they didn't make any
errors during the transcribing process.  Likewise for updating the
documentation parts.

However, that looks like a lot of pointless work and a power indynamic,
that could be trivially be resolved by Cognitect.

> This seems to focus on instances when some important software freedom
> is lost. I can't see anything that would give guidance on what to do
> when all freedoms are preserved, as they seem to be here.

Theoretically, the freedoms seem to be preserved here.  However, at
least currently, Cognitect is making exercising some of these freedoms
pointlessly difficult.

TBC, I'm not saying that Cognitect must make things easy, rather the
making things hard (by keeping the compiler, or translator, secret) is
what I consider the problem here.

Greetings,
Maxime.