UnROOT should use a distinct Writer identifier when writing RNTuples
The current implementation of RNTuple writing sets the RNTupleHeader's Writer field to the same string as ROOT (currently "ROOT v6.35.001").
This goes against the purpose of the Writer field, as it is supposed to uniquely identify the program that generated a specific RNTuple (see the Binary Format Specification). Ideally, one should be able, given any RNTuple in the wild, to have an indication of how it was generated, which greatly helps e.g. with bug reporting and such.
Therefore UnROOT.jl should write its own string identifier in the Header envelope (e.g. "UnROOT
yea, that is there so we can test byte-exact matching against the test file produced by ROOT proper.
we should add a keyword to function write_rntuple(file::IO, table; file_name="test_ntuple_minimal.root", rntuple_name="myntuple") and defaults to UnROOT.jl <version>, and set to "ROOT ..." for testing purpose
Yes, I understand that it can be very useful for testing. The concern is that users may start producing RNTuples for which we will have no way of discerning the provenance, so ideally the abiility to set the Writer to anything other than the "official" string should not be accessible to regular users.
That makes sense to me