19

Are systems like Git robust enough so that if questions arises about a paper's priority, it would prove or substantiate a claim to have a VCS log?

  • 4
    What do you mean by priority? That one paper was written before another? – Ian_Fin Sep 20 '16 at 17:27
  • 3
    @Ian_Fin I asked about priority a while back: academia.stackexchange.com/questions/66052/… – StrongBad Sep 20 '16 at 17:49
  • 7
    Are you talking about priority for patent law or to "prove" to your colleague/wife/mother that you had the idea first? – StrongBad Sep 20 '16 at 17:50
  • 4
    You could ask git itself—git help commit—and note the conspicuous [--date=<date>] option in the synopsis… :-) – wchargin Sep 21 '16 at 4:04
  • 2
    Short answer: no, the date of a commit can be easily edited. Cf. stackoverflow.com/q/454734/2657549 – Clément Sep 21 '16 at 17:07
23

It sort of depends on what you want to timestamp, and who you want to convince with the data, but there's some important points to keep in mind.

  • If it's a locally-kept repository, then it simply cannot be used to establish any sort of priority, because those timestamps can be forged. Git is simply not robust enough (depending as it does e.g. on your system clock) to be a silver bullet; it can be made part of a case (analogously e.g. to timestamped lab books) but it is not enough by itself.

  • On the other hand, you can use a version-control repository hosted by a third party, such as a private repository on GitHub or Bitbucket. Here you need to make sure that you push regularly to the remote repo, because what really matters is the timestamp on the push and not the commit (again, because the locally-generated timestamps can be forged); you also need to make sure that the third party actually keeps timestamped logs of said uploads.

    This is in principle usable, but whether it will be sufficient or not will depend on what you want to do with it. Ultimately it will come down to whether the people you're trying to convince can be persuaded to trust the third party's logs and their neutrality. (Note, also, that what matters here is not the robustness of git that matters - it is the reliability of the third party instead.)

  • Depending on your field and its community, having written the paper first may not actually matter - quite often, a lot more weight can be put (rightly or wrongly) on being the first to publish the work.

    There is a lot of field-to-field variability, but if someone else publishes work that is essentially equivalent to yours, then at the very least you should expect a steep uphill climb to get a journal to publish your manuscript, even if you can prove you had the text just about completed before the others even submitted. I will leave these discussions aside, though, under the assumption that you've already thought through them or will do so before acting.

26

I understand your question in the following way:

You are asking if a git repository can be used to add a "timestamp" to some idea, so that in case multiple researchers come with the same idea, you can prove that you were the first (whenever this is actually true).

Unfortunately, dates in a git repository can easily be forged. See here for a stackexchange thread documenting this.

  • 1
    Maybe if it's your repository. But what if it's a repository controlled by some other person/department/organization/journal? – smci Sep 20 '16 at 22:09
  • 2
    @smcl They can still be forged. – user253751 Sep 20 '16 at 22:56
  • 10
    If we assume a third party is trusted, they could validate the dates and for instance reject commits that are in the future. Then you could at least prove priority if you push immediately after publication or whatever. But at that point the VCS itself becomes irrelevant and it could just be any old website. – Matti Virkkunen Sep 20 '16 at 23:07
  • 5
    Anything not signed of by an trusted authority is worth nothing. You can push your repository to a trusted authority, if they agree to that, but that doesn't depend on git. The best way to prove some document existed at some specific time is trusted timestamping, in my opinion. – Josef Sep 21 '16 at 6:46
  • 3
    @MattiVirkkunen the problem is forging dates that are earlier than you claim, not later. – Stop Harming Monica Sep 21 '16 at 14:33
7

Trusted time-stamping service

What you are looking for is a provider of trusted time-stamping.

Git can not — or rather: should not — be used for that, because git is not in any way meant to perform that sort of service. For git to be used this way, you would have to prove that the git repository is accurate when it comes to time, accurate about who is submitting to it, and tamper-proof when it comes to commits.

And sure, you may assume that this is the case with any of the big third-party providers, like github. And sure, in a civil case, where a preponderance of the evidence is enough (i.e. evidence need only be more likely than not likely, instead of as in a criminal trial where they must be proven beyond reasonable doubt), then this might very well fly.

But why bother with re-purposing git when there are dedicated providers for this very type of service? There are both free and paid providers. I would personally take someone way more seriously when they use a proper service for this compared to someone that re-purpose something that is meant for completely different things.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.