In Git and in other version control systems, commits and patches have timestamps attached to them:
In Git, those are called "author date" and "committer date".
In AS2 and AP, as far as I can see, there aren't standard properties to indicate the time that something was created. The only relevant property is published, which indicates when something was, well, published. In our terms here, that would be the time that a commit got pushed to the repository, and a Push activity then produced automatically by the forge. But that time, as far as I understand, is not the time that a commit was originally written, or applied/merged before the push.
It's possible that Alice writes a patch in the year 2000. In 2004, Bob reviews that patch and applies it to his local copy of the repo, and pushes it. The project goes inactive, but after a few years, it gets revived by Cindy, who clones Bob's old repo and pushes it in 2019 to a repo hosted on a ForgeFed federating forge.
In that case, and please correct me if I'm wrong,
There is a possibility to abuse the published property, but even if we did, do we use it for the author date or the committer date? And which property do we use for the other?
As far as I can see, the most commonly used property is the author date, usually it's the only date displayed. But author date is a worse candidate for published because usually the commit date is very close to the push, while author date can be days, weeks, even years earlier.
Are there some created properties on the fediverse? I've seen a created property in the Security Vocabulary, which simply maps to the Dublin Core created property URL. I suppose we could use dc:created.
PROPOSAL: Use the Dublic Core created property, put it in the ForgeFed JSON-LD context so that it can be used as-is without a prefix.
But do we use it for the author date or the committer date? Technically if used with a Commit, the committer date would be a closer fit. On the other hand, author date is the more commonly displayed date. If we use created for author date, what do we use for commiter date? Maybe just not have a property for it? Does any existing forge/client need this property? If yes, what do we name it? committed? committedAt? And if we use created for the committer date, what do we use for the author date?
Relevant properties from Dublin Core:
Let's review the commit in Cindy's repo that was originally written by Alice. It was created in 2000 by Alice, then committed by Bob in 2004, and in 2019 it was published by Cindy.
Now in the spec: created for author date, committed for committer date. Closing this issue; reopen if you have objections/comments on decision.