Skip to content

dhuseby/did-git-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NOTE: THIS SPEC HAS BEEN WITHDRAWN FROM THE W3C DID METHOD REGISTRY

The future of developer provenance in Git repos is being implemented using authentic data provenance logs instead of DID documents. DID documents do not support history and DID methods conflate identification with location and it has resulted in siloing and politics; don't use DIDs. The signing tools used for this will all communicate with Git using a new protocol under development.

W3C DID Method Spec for did:git:

This repo is the central coordination point for work on the W3C DID method specification for Git repositories. If you would like to participate, we encourage you to join the mailing list and make sure you're familiar with decentralized identifiers (DID) and the problem we're trying to solve by reading the DID primer. This work is broken up into three major areas: defining the specification, modifying Git, and creating a new signing tool. Bellow are the outstanding TODO's for each area.

Spec TODO:

  • Add version to did-git-spec.md see method registry requirement 2.
  • Request that the spec be include in the DID method registry.
  • Add terminology section to the spec to define repo ID, committer ID, etc.
  • Complete the sections on motivation.
  • Finish the CRUD operations for both repo and committer DID strings.
  • Reconcile difference between did-dir-spec.md and did-git-spec.md to create standard for on-disk DID documents as keyring.

Impl TODO:

  • Create a fork of git.git.

Git Signing

  • Create a did-git-impl-signing branch off of git.git maint branch for signing infrastructure changes.
  • Rebase patches for signing infrastructure changes.
    • Rebase documentation changes.
      • Rebase signing interface abstraction.
      • Rebase GPG and GPGSM "drivers".
      • Verify that all existing GPG unit tests pass.
  • Submit signing fix patches to git.git mailing list.
    • Follow up on changes and discussion until it gets landed.
  • Create BetterSign "driver".
  • Create BetterSign unit tests.
  • Submit BetterSign patches to git.git mailing list.
    • Follow up on changes and discussion until it gets landed.

Git Porcelain

  • Create a did-git-impl-porcelain branch off of git.git maint branch for creating git-did porcelain.
  • Define the format of DID signatures in commit records. Proposal to use Linked Data Proofs.
  • Create a simple git-did porcelain command from the Python examples in the git.git repo.
  • Add initial unit tests for git-did porcelain.
  • Implement CRUD operations for repo DID strings.
  • Implement CRUD operations for committer DID strings.
  • Define and document the "meat-space" protocol for doing multiple signatures on a single commit. This is likely to be a threshold signature and the git-did porcelain should automate it as much as possible.

BetterSign TODO:

  • Create a public repo for BetterSign signing tool.
  • Upload existing bs code.
  • Create a public repo for the DIDDir library.
  • Upload existing diddir code.
  • BetterSign
    • Refactor sign/verify functions to use background-jobs
      • Add DID string parser.
      • Add linked data structure (LDS) output format.
      • Add JSON web signature (JWS) output format.
  • DIDdir
    • Add JSON-LD parser for DID documents.
      • Add Base58 crate for naming DID documents.
      • Add code to find DIDdir in local dir and ancestors.
      • Add git2 crate to handle Git commands for CRUD operations on DID docs.

About

Proposed specification for the did:git: method

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published