Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
darrellodonnell authored Dec 30, 2023
0 parents commit cfb901a
Show file tree
Hide file tree
Showing 110 changed files with 10,679 additions and 0 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/render-specs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

name: spec-up-render

on:
push:
branches:
- main

jobs:
build-and-deploy-spec:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly.
with:
persist-credentials: false

- name: Install and Build 🔧 # This example project is built using npm and outputs the result to the 'build' folder. Replace with the commands required to build your project, or remove this step entirely if your site is pre-built.
run: |
npm install
node -e "require('./index')({ nowatch: true })"
rm -rf node_modules
- name: Deploy
uses: peaceiris/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/
allow_empty_commit: true
force_orphan: true



114 changes: 114 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
.idea
# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Netbeans
nbproject/

# VSCode
.vscode/

docs/index.html

.DS_Store
44 changes: 44 additions & 0 deletions COPYRIGHT_POLICY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
OWF Contributor License Agreement 1.0 - Copyright
Open Web Foundation

Contributor License Agreement (CLA 1.0)
(Copyright Only)


1. The Purpose of this Contributor License Agreement. This CLA sets forth the terms under which I will participate in and contribute to the development of the Specification. Capitalized terms are defined in the CLA’s last section.

2. Copyrights.

2.1. Copyright Grant. I grant to you a perpetual (for the duration of the applicable copyright), worldwide, non-exclusive, no-charge, royalty-free, copyright license, without any obligation for accounting to me, to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and implement any Contribution to the full extent of my copyright interest in the Contribution.

2.2. Attribution. As a condition of the copyright grant, you must include an attribution to the Specification in any derivative work you make based on the Specification. That attribution must include, at minimum, the Specification name and version number.

3. No Other Rights. Except as specifically set forth in this CLA, no other express or implied patent, trademark, copyright, or other property rights are granted under this CLA, including by implication, waiver, or estoppel.

4. Open Web Foundation Agreement ("OWFa") version 1.0 Execution. I acknowledge that the goal of this CLA is to develop a specification that will be subject to the OWFa version 1.0. While I have no legal obligation to execute the OWFa version 1.0 for any version of the specification being developed under this CLA, I agree that the selection and terms of the OWFa version 1.0 will not be subject to negotiation.

5. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards.

6. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this CLA.

7. Representations, Warranties and Disclaimers. I represent and warrant that 1) I am legally entitled to grant the rights and promises set forth in this CLA and 2) I will not intentionally include any third party materials in any Contribution unless those materials are available under terms that do not conflict with this CLA. IN ALL OTHER RESPECTS MY CONTRIBUTIONS ARE PROVIDED "AS IS." The entire risk as to implementing or otherwise using the Contribution or the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Contribution or the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS CLA, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Nothing in this CLA requires me to undertake a patent search.

8. Definitions.

8.1. Bound Entities. “Bound Entities” means the entity listed below and any entities that the Bound Entity Controls.

8.2. CLA. “CLA” means this document, which sets forth the rights, grants, promises, limitations, conditions, obligations, and disclaimers made available for my Contributions to the particular Specification.

8.3. Contribution. “Contribution” means any original work of authorship, including any modifications or additions to an existing work, that I intentionally submit for inclusion in the Specification, which is included in the Specification. For the purposes of this definition, “submit” means any form of electronic, oral, or written communication for the purpose of discussing and improving the Specification, but excluding communication that I conspicuously designate in writing as not a contribution.

8.4. Control. “Control” means direct or indirect control of more than 50% of the voting power to elect directors of that corporation, or for any other entity, the power to direct management of such entity.

8.5. I, Me, or My. “I,” “me,” or “my” refers to the signatory below and its Bound Entities, if applicable.

8.6. Specification. “Specification” means the Specification identified below as of the date of my last Contribution.

8.7. You or Your. “You,” “you,” or “your” means any person or entity who exercises copyright rights granted under this CLA, and any person or entity you Control.

Identify the Specification here:

Your specification (All Versions)
1 change: 1 addition & 0 deletions Contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Need content
46 changes: 46 additions & 0 deletions EditingTheSpec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Editing the Specification

To contribute changes to the specification, please

- Review the [Contributions policy](Contributing.md) for this specification and ensure that you and your organization are willing to abide by the policy.
- **Pull requests submitted to this repository imply acceptance of the [Contributions policy](Contributing.md).**
- Submit a pull request by:
- forking this repo
- editing the appropriate markdown files in the [`/spec`](/spec) folder

The specification source consists of the markdown files listed in
[specs.json](/specs.json) and found in the [`/spec`](/spec) folder. The
specification is automatically rendered (using
[Spec-Up](https://github.com/decentralized-identity/spec-up)) to the `/docs`
folder of the `gh-pages` branch of this repository on each pull request merge
(using a GitHub Action), and then published (using GitHub Pages).

## Testing your Edits Locally

Full guidance for using Spec-Up is in its
[repository](https://github.com/decentralized-identity/spec-up). The short
version of the instructions to render this specification locally while you are
editing is:

- Install the prerequisites: `node` and `npm`
- Run `npm install` from the root of the repository
- Run `npm run edit` from the root of the repository to render the document with
live updates to the `docs/index.html` as
you edit the source files.
- You can also run `npm run render` to just generate the specification file once.
- Open the rendered file in a browser and refresh to see your updates as you work.
- When you are done, hit `Ctrl-c` to exit the live rendering.

Please check your edits locally before you submit a pull request!

### Handling the Rendered Specification File

When you create a pull request to update the specification, the `docs/index.html` will be
.gitignore'd and **not** included in your pull request. A GitHub Action triggered on merging pull requests automagically renders the full
specification (`docs/index.html`) to the `gh-pages` branch in the repository and the
specification is published (via GitHub Pages) from there.

## Adding a New Source Markdown File

If you add a source markdown file to the specification, you must also add a reference
to it in the [specs.json](/specs.json) in the root of the repository.
7 changes: 7 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
This repository and its content inherit a licensing model from the Technical Stack Working Group ([TSWG](https://wiki.trustoverip.org/display/HOME/Technology+Stack+Working+Group)) at the Trust over IP Foundation ([ToIP](https://trustoverip.org))

The license model comprises of three parts and as such three documents:

* [Copyright Policy](COPYRIGHT_POLICY.md)
* [Approved Deliverable Patent Licensing](PATENT_LICENSING.md)
* [Source Code](SOURCE_CODE.md)
56 changes: 56 additions & 0 deletions PATENT_LICENSING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
OWFa 1.0 - Patent Only
Open Web Foundation

Final Specification Agreement (OWFa 1.0)
(Patent Only)


1. The Purpose of this Agreement. This Agreement sets forth the terms under which I make certain patent rights available to you for your Permitted Uses of the Specification. Capitalized terms are defined in the Agreement’s last section.
2. Patents.
2.1. Patent Non-Assert.

2.1.1. The Promise. I, on behalf of myself and my successors in interest and assigns, irrevocably promise not to assert my Granted Claims against you for your Permitted Uses, subject to the terms and conditions of Section 2.1. This is a personal promise directly from me to you, and you acknowledge as a condition of benefiting from it that no rights from me are received from suppliers, distributors, or otherwise in connection with this promise. This promise also applies to your Permitted Uses of any other specifications incorporating all required portions of the Specification.

2.1.2. Termination.

2.1.2.1. As a Result of Claims by You. All rights, grants, and promises made by me to you under this Agreement are terminated if you file, maintain, or voluntarily participate in a lawsuit against me or any person or entity asserting that its Permitted Uses infringe any Granted Claims you would have had the right to enforce had you signed this Agreement, unless that suit was in response to a corresponding suit first brought against you.

2.1.2.2. As a Result of Claims by a Related Entity of Mine. If a Related Entity of mine files, maintains, or voluntarily participates in a lawsuit asserting that a Permitted Use infringes any Granted Claims it would have had the right to enforce had it signed this Agreement, then I relinquish any rights, grants, and promises I have received for the Specification from other signatories of this Agreement, unless a) my promise to you was terminated pursuant to section 2.1.2.1, or b) that suit was in response to a corresponding suit first brought by you against the Related Entity.

2.1.3. Additional Conditions. This promise is not an assurance (i) that any of my copyrights or issued patent claims cover an implementation of the Specification or are enforceable or (ii) that an implementation of the Specification would not infringe intellectual property rights of any third party. Notwithstanding the personal nature of my promise, this promise is intended to be binding on any future owner, assignee or exclusive licensee to whom has been given the right to enforce any Granted Claims against third parties.

2.1.4. Bankruptcy. Solely for purposes of Section 365(n) of Title 11, United States Bankruptcy Code and any equivalent law in any foreign jurisdiction, this promise will be treated as if it were a license and you may elect to retain your rights under this promise if I (or any owner of any patents or patent applications referenced herein), as a debtor in possession, or a bankruptcy trustee, reject this non-assert.

2.2. Patent License Commitment. In addition to rights granted in 2.1, on behalf of me and my successors in interest and assigns, I agree to grant to you a no charge, royalty free license to my Granted Claims on reasonable and non-discriminatory terms, where such license applies only to those Granted Claims infringed by the implementation of the Specification, solely for your Permitted Uses.

3. No Other Rights. Except as specifically set forth in this Agreement, no other express or implied patent, trademark, copyright, or other property rights are granted under this Agreement, including by implication, waiver, or estoppel.

4. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards.

5. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this Agreement.

6. Representations, Warranties and Disclaimers. I represent and warrant that I am legally entitled to grant the rights and promises set forth in this Agreement. IN ALL OTHER RESPECTS THE SPECIFICATION IS PROVIDED "AS IS." The entire risk as to implementing or otherwise using the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All of my obligations under Section 2 regarding the transfer, successors in interest, or assignment of Granted Claims will be satisfied if I notify the transferee or assignee of any patent that I know contains Granted Claims of the obligations under Section 2. Nothing in this Agreement requires me to undertake a patent search.

7. Definitions.

7.1. Agreement. “Agreement” means this document, which sets forth the rights, grants, promises, limitations, conditions, obligations, and disclaimers made available for the particular Specification.

7.2. Bound Entities. “Bound Entities” means the entity listed below and any entities that the Bound Entity Controls.

7.3. Control. “Control” means direct or indirect control of more than 50% of the voting power to elect directors of that corporation, or for any other entity, the power to direct management of such entity.

7.4. Granted Claims. "Granted Claims" are those patent claims that I own or control, including those patent claims I acquire or control after the Date below, that are infringed by Permitted Uses. Granted Claims include only those patent claims that are infringed by the implementation of any portions of the Specification where the Specification describes the functionality causing the infringement in detail and does not merely reference the functionality causing the infringement.

7.5. I, Me, or My. “I,” “me,” or “my” refers to the signatory below and its Bound Entities, if applicable.

7.6. Permitted Uses. “Permitted Uses” means making, using, selling, offering for sale, importing or distributing any implementation of the Specification 1) only to the extent it implements the Specification and 2) so long as all required portions of the Specification are implemented. Permitted Uses do not extend to any portion of an implementation that is not included in the Specification.

7.7. Related Entities. “Related Entities” means 1) any entity that Controls the Bound Entity (“Upstream Entity”), and 2) any other entity that is Controlled by an Upstream Entity that is not itself a Bound Entity.

7.8. Specification. “Specification” means the Specification identified below.

7.9. You or Your. “You,” “you,” or “your” means any person or entity who exercises copyright or patent rights granted under this Agreement, and any person or entity you Control.

Identify the Specification and version number here:

did:webs DID Method Specification (All Versions)
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# specification-template

A template for `toip` specifications [specification-template](https://w3c-ccg.github.io/did-spec/#specific-did-method-schemes).

The spec is written in W3C's [respec](https://dev.w3.org/2008/video/mediaann/ReSpec.js/documentation.html) format using DIF's [Spec-Up Tool](https://github.com/decentralized-identity/spec-up).
To browse the spec, see the [rendering on GitHub pages](https://trustoverip.github.io/tswg-did-method-webs-specification/index.html). To contribute to the spec, submit PRs that modify the .md files that are used to generate the .html files in this folder.

Before submitting a PR, please see the [Editing The Spec](./EditingTheSpec.md) document for guidance on generating the specification locally for review.
Loading

0 comments on commit cfb901a

Please sign in to comment.