It’s not clear to me what amount of history state should be shown to the public on notebooks, including attribution.
In projects hosted in public version control (e.g. on Github), it is possible to use “blame” to see who wrote what, along with a full history of what the project looked like before/after each contribution. But commits are not every trivial code change, but only the chunks that authors explicitly grouped together and labeled. So when authors are careful about the content/metadata attached to their commits, what we get is a sanitized history that the author could explicitly craft.
In Observable everything but the final notebook state is hidden from everyone but the author in the UI, though old versions are accessible to anyone who knows magic version numbers that were previously published. There are no commit messages, no discussion attached to sets of changes, no idea of which “suggestion” notebooks were merged in, etc.; any metadata like that must be explicitly added to the notebook content by the author (“thanks to X and Y for idea A; thanks to Z for cleaning up implementation of B” or whatever).
Authors can see a full history, but it is a very messy version recording every minor code reformat, typo fix, and failed experiment.
The current tendency to hide the messy guts of the editing process is probably better than an alternative of showing everything including stuff that the author might not want to show.
It’s hard to balance workflow friction (using real version control systems has non-negligible mental overhead) vs. the benefits more structured approaches provide.