Include the name of project being proposed.
Agent Framework JavaScript (for now, at least we can keep the AFJ acronym)
Specify the stage that you want this project to enter. See project lifecycle for information on the different stages.
Stage summary
- Labs Stage: This initial stage is for projects that are either early-stage or well-established with minimal resource needs. It provides a neutral home to foster collaborative development and align with OpenWallet Foundation projects. Labs projects receive minimal support and undergo an annual review.
- Growth Stage: Aimed at projects seeking to reach the Impact Stage, this phase involves actively developing a community, governance, documentation, and a roadmap. Growth projects receive more resources and mentorship from the Technical Advisory Council (TAC) and are expected to move out of this stage within two years.
- Impact Stage: This stage is for projects that have met their growth goals and entered a sustaining cycle of development, maintenance, and long-term support. These projects often have large, established communities and are commonly used in
enterprise production environments. Impact projects participate actively in TAC and receive ongoing support from the Foundation.
Somewhere between growth and impact?
Include a description of the project, including what it does, why it is valuable, the origin and history, and other information that will allow others to understand what the project will include. Architecture diagrams should be included if available.
Aries Framework JavaScript has evolved significantly since its inception as a Hyperledger Aries project. Initially, it heavily relied on Hyperledger standards such as DIDComm, Indy, and AnonCreds. However, with advancements in verifiable credential technology and the emergence of new standards, the framework underwent multiple refactoring and modularization processes to maintain interoperability.
This allowed for the inclusion of non-Hyperledger standards like W3C Verifiable Credentials with Data Integrity Proofs, Presentation Exchange, OpenID4VC, and SD-JWT integration. As industry requirements shifted towards greater modularity, it became apparent that a unified framework may be better.
The future direction for Aries Framework JavaScript involves adopting a compartmentalized approach consisting of single-purpose libraries designed to work together seamlessly, building on what is already out there. This transition will take considerable effort and will, therefore, be gradual.
In order to expand the framework's support for standards beyond the Hyperledger ecosystem, a reassessment of its governance was necessary. The Open Wallet Foundation (OWF) has been considered a potential steward due to its commitment to promoting interoperability without directly developing or maintaining standard protocols.
NOTE: In addition to the Aries Framework JavaScript repository, we propose moving the Aries Framework JavaScript Extensions and Aries Mobile Agent React Native repositories, due to their strong relationship with the framework.
However, the motivation to propose this move is based on the framework's evolvement. This document will there fore primarity focus on the framework.
Include a statement on alignment with the OpenWallet Foundation mission.
The objective is to promote interoperability by supporting numerous standards, as was outlined earlier. As a Hyperledger project, all components have been open source from the beginning.
Maintainers will persist in collaborating with Standards Development Organizations (SDOs) across ecosystems, as done previously.
Has this project adopted a Code of Conduct? If so, please include a link to it. If a current code of conduct is not adopted, will you adopt the OpenWallet Foundation code of conduct?
The project currently follows the Hyperledger Code of Conduct as is the case for all Hyperledger projects: Hyperledger Code of Conduct - Hyperledger - Hyperledger Foundation. Hyperledger being part of the Linux Foundation too, it may be assumed its Code of Conduct is in line with the foundation's policies.
Include the name of a sponsor from the TAC, if identified (a sponsor helps mentor projects).
Include the proposed project license. The OpenWallet Foundation will consider OSI-approved permissive open source licenses and prefers Apache 2.0.
The project has an Apache 2.0 license: hyperledger/aries-framework-javascript: Aries Framework JavaScript (Built using TypeScript)
If the project already exists, please provide a link to the repositories. If no source exists, this is okay. Please state that this will be a completely new project with code beginning in the OpenWallet Foundation.
The project is hosted in GitHub and includes the following repositories:
OpenWallet Foundation expects that an issue tracker is open to anyone who would like to view, add, or fix issues. This information allows the TAC to better judge the state of the project maturity. If the project already exists, please provide a link to the issue tracker. If there is no issue tracker or you do not currently track issues, please answer with "N/A (not applicable)".
The issues are tracked using Github's issue feature in the corresponding repository. For issues that span across multiple repositories, Github's projects feature may be used.
If there are any external dependencies, please list those here including licenses.
If the project already exists, please provide details on the release methodology and mechanics. If there is not currently a release methodology, please answer with "N/A (not applicable)".
All artifacts of the project use SemVer for versioning and have continuous integration/continuous delivery pipelines built using GitHub actions. All releases are done automatically.
Include the names of initial maintainers and their GitHub IDs.
name | Github |
---|---|
Berend Sliedrecht | @blu3beri |
Jakub Kočí | @jakubkoci |
James Ebert | @JamesKEbert |
Karim Stekelenburg | @karimStekelenburg |
Timo Glastra | @TimoGlastra |
Ariel Gentile | @genaris |
Jan Rietveld | @janrtvld |
Briefly describe the project's leadership team and decision-making process.
The current governance model under Hyperledger is community-based. This means that decisions are made democratically, with the aim of community consensus. In cases where no clear consensus is established, active contributors may be granted a louder voice.
Include a link to the project charter. The project charter can be obtained by completing the project intake form.
Include any existing financial sponsorship. If none, please state "None".
None?
Include any infrastructure needs or requests. OpenWallet Foundation provides a set of services for projects and labs. Please note which of these you will utilize and what else is required.
https://tac.openwallet.foundation/governance/project-and-lab-services/
code-cov