Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Submission of Farmworker WalletOS project proposal #10

Merged
merged 18 commits into from
Aug 9, 2023

Conversation

jorgefl0
Copy link
Contributor

No description provided.

jorgefl0 and others added 10 commits June 21, 2023 15:19
Signed-off-by: Jorge Flores <jorge@entidad.io>
Signed-off-by: Jorge Flores <jorge@entidad.io>
Signed-off-by: Jorge Flores <jorge@entidad.io>
Signed-off-by: Jorge Flores <jorge@entidad.io>
Signed-off-by: Jesus Torres <111382853+jesus-entidad@users.noreply.github.com>
Signed-off-by: Jesus Torres <111382853+jesus-entidad@users.noreply.github.com>
Signed-off-by: Jesus Torres <111382853+jesus-entidad@users.noreply.github.com>
Signed-off-by: Jesus Torres <111382853+jesus-entidad@users.noreply.github.com>
Signed-off-by: Jesus Torres <111382853+jesus-entidad@users.noreply.github.com>
Signed-off-by: Jorge Flores <jorge@entidad.io>
Copy link
Collaborator

@tkuhrt tkuhrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the project proposal. This one is an interesting one and will require that we reach out to the LF legal teams and the Governing Board. I have made comments related to those touchpoints in my review comments. Also, I have added other review comments to get a better understanding of the exact nature/scope of the contribution and clarification on the governance.

Farmworkers are the backbone of global food supply chains, yet they remain one of the most underserved segments of our population. Governments around the world deemed them ‘Essential’ during the recent pandemic. While services and programs exist to help, it’s challenging and costly for organizations that provide them to securely collect and verify the information needed to prove applicant eligibility claims. As a result, most farmworkers forego services and resources they need, even though they’re eligible for them.


Over the last three years, Entidad and the UFW Foundation have been exploring digital trust technologies to solve this problem. We’ve developed Preparese<sup>TM</sup>, a digital infrastructure solution that lets farmworker organizations securely reuse verified farmworker information, eliminating the need for repetitive collection. The solution layers didcomm, wallet, decentralized identifiers, and verifiable credential technologies with a low-code application development platform, [Mendix](https://www.mendix.com/).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to know what parts of Mendix are being used by this project? Specifically, I see that there are terms that Mendix has for using its software, and I am concerned that those terms may conflict with the open source nature and licenses that we would use within the OpenWallet Foundation. We need to be very clear that the contributions that would be made via this project will not be code that is generated by Mendix software.

Copy link
Contributor Author

@jorgefl0 jorgefl0 Jul 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mendix is a low-code application platform provider so its terms of service cover usage of Mendix services and resources by Mendix developers (organizations and/or individual contributors). The Application model for a standards compliant wallet engine will be the primary focus for the contributors of this project. The Mendix terms of service do protect the IP rights to these App models in Section 3 with reference to "Customer Data" definition in section 17.

There are design-time and runtime aspects of app development but one of the great things about this tooling is that there is clean separation between the two.

The following diagram captures the developer's "design-time" perspective. We hope that the diagram helps to clarify the software components that would fall under the scope of this OWF project and distinguishes PrepareseTM as an example of a closed (proprietary) application that embeds core Farmworker WalletOS components. We plan on documenting a similar diagram to aid in understanding the "runtime" perspective soon.

Farmworker_WalletOS_OSS_Project

projects/farmworker-wallet-os.md Show resolved Hide resolved
projects/farmworker-wallet-os.md Show resolved Hide resolved
You can read more about our journey on [our blog](https://www.entidad.io/blog).

# Alignment with the OpenWallet Foundation Mission
The **Farmworker Wallet OS** project is a community of contribution led by Entidad and the United Farm Workers Foundation (UFWF) with the goal of furthering the adoption of an open, secure, interoperable digital wallet solution that makes it easier for farm worker communities to access life-changing social and human services. The open-source software components maintained by this community will enable non-profit and social good organizations to build wallet-driven solutions on top of the Mendix low-code platform. Collaboration with app makers from the broader Mendix developer community will help inform and guide the Farmworker Wallet OS project with industry proven best practices, leading to the implementation of reusable functionality that is aligned with the goals of the Open Wallet Foundation (to preserve user choice, security and privacy). The community will also inspire the next generation of low-code app builders to learn and expand their skill sets with decentralized (web3) technologies.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will the code only work with Mendix? Or will the engine code be able to be utilized by other wallets?

Copy link
Contributor Author

@jorgefl0 jorgefl0 Jul 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Application models ("code") can only be interpreted by Mendix. But any Mendix developer would be able to embed these app models into their own Mendix apps. This is true for many other low-code platforms available in the public marketplace such as Salesforce or Microsoft PowerApps (similarly, an AWS Lambda Function can only run in an AWS cloud instance).

For a technical deep-dive as to how App models are deployed to a Mendix runtime, please reference the following documentation resources:

  1. https://docs.mendix.com/refguide9/runtime/
  2. https://www.mendix.com/evaluation-guide/app-lifecycle/cloud-providers/

The **Farmworker Wallet OS** project is a community of contribution led by Entidad and the United Farm Workers Foundation (UFWF) with the goal of furthering the adoption of an open, secure, interoperable digital wallet solution that makes it easier for farm worker communities to access life-changing social and human services. The open-source software components maintained by this community will enable non-profit and social good organizations to build wallet-driven solutions on top of the Mendix low-code platform. Collaboration with app makers from the broader Mendix developer community will help inform and guide the Farmworker Wallet OS project with industry proven best practices, leading to the implementation of reusable functionality that is aligned with the goals of the Open Wallet Foundation (to preserve user choice, security and privacy). The community will also inspire the next generation of low-code app builders to learn and expand their skill sets with decentralized (web3) technologies.

# Current Code of Conduct
[Farmworker Wallet OS Community Code of Conduct](https://github.com/Entidad/.github/blob/main/CODE_OF_CONDUCT.md)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be great to understand how this differs from the OWF code of conduct.

Question for the OpenWallet Foundation staff: Do we need to get this approved by LF Europe?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to use the OWF code of conduct. We didn’t realize that was an option. No need for a review with LF Europe. We will replace the existing code of conduct with the OWF’s.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would be great.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code of conduct has been updated to reference the OWF Code of Conduct

* [Ockert van Schalkwyk](https://github.com/skullquake)
* [Jorge Flores](https://github.com/jorgefl0)

# Proposed Project Governance
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How would others contribute to and become maintainers of the project?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a lot of complexity with emerging web3 and digital trust technologies and we recognize that we need collaborate with likeminded developers in order to keep up with the rapidly evolving standards and protocols. We welcome other contributors and maintainers to join the project.

Low-code app platforms have gained a lot of popularity in recent years and adoption will only continue to grow. We are hopeful that this open source project under the umbrella of the OWF would help attract other developers looking to make in impact with digital trust technologies with a significantly lower barrier to entry enabled by enterprise-grade low-code platforms like Mendix. Non-profits organizations, governments, and public service providers will be able to build privacy-preserving apps without braking the bank.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am happy to hear that you are looking for additional contributors and maintainers. It would be good to document how you would expect people to move through the funnel of user -> contributor -> maintainer.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tkuhrt This sounds like something that should be covered in a lifecycle plan. Can you clarify if this documentation is required for the Labs stage? We may have to reconsider applying for the Growth Stage if plans for contributor/maintainer participation need to be formalized.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a good point. Let's talk about the expectations during the TAC call and be sure that everyone is on the same page.

projects/farmworker-wallet-os.md Outdated Show resolved Hide resolved
projects/farmworker-wallet-os.md Show resolved Hide resolved
* [medium.com/@Entidad](https://medium.com/@Entidad)

# Financial Sponsorship
UFW Foundation
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we expect that the UFW Foundation will continue to provide financial sponsorship in any way for this project? If so, how?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UFW Foundation will continue to financially support Entidad’s ongoing contribution and maintenance of the project.

The **Farmworker Wallet OS** will be organized and published as a suite of software modules that can be imported into any existing Mendix app code repository. The Mendix software modules effectively serve as a digital wallet SDK that can be embedded into any Mendix application to enhance the user experience. The code repository for this project is itself a Mendix app repository and as such can be executed locally on any [supported](https://docs.mendix.com/refguide9/system-requirements/) developer workstation.


The initial version of the digital wallet SDK is being built on top of [Aries Framework Javascript](https://github.com/hyperledger/aries-framework-javascript), an open-source framework maintained by the [Hyperledger Aries developer community](https://www.hyperledger.org/use/aries) helping to foster participation with the Aries Digital Trust ecosystem. Over time, the digital wallet SDK can be extended to support other digital trust open-source frameworks such as OPENID4VC and VC API.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aries Framework Javascript is a dependency, correct? There is no plan to fork this code base, is there?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct, I've updated the project proposal with the AFJ v0.4.0 dependency. We have no plans to fork the AFJ codebase and plan to contribute to it where we can.

@tkuhrt tkuhrt requested a review from petecool July 10, 2023 15:49
Updated project website and social media sections

Signed-off-by: Jorge Flores <jorge@entidad.io>
Signed-off-by: Jorge Flores <jorge@entidad.io>
Demonstration of interoperability between the low-code wallet solution and publicly available demo applications (BCGov and Animo Solutions) showcasing Aries exchange protocols.

Signed-off-by: Jorge Flores <jorge@entidad.io>
…and OpenID4VC

Signed-off-by: Jorge Flores <jorge@entidad.io>
Updated reference links to open standards organizations and working groups.

Signed-off-by: Jorge Flores <jorge@entidad.io>
Replacing proposed license from Hippocratic V3 with Apache 2.0

Signed-off-by: Jorge Flores <jorge@entidad.io>

There are [design-time](https://www.mendix.com/evaluation-guide/developing-in-mendix/) and [runtime](https://www.mendix.com/evaluation-guide/app-lifecycle/deployment/) aspects of app development but one of the great things about this tooling is that there is clean separation between the two.

The following captures the developer's "design-time" perspective. We hope that the diagram helps to clarify the software components that would fall under the scope of this OWF project and distinguishes Preparese<sup>TM</sup> as an example of a closed (proprietary) application that embeds core Farmworker WalletOS components. We plan on documenting a similar diagram to aid in understanding the "runtime" perspective soon.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Recommend to use more specific repository names (example demo-native-template and demo-dev-native-app seem too generic to me and could conflict with other projects / confuse folks).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Repository names for reference implementation components have been renamed.


There are [design-time](https://www.mendix.com/evaluation-guide/developing-in-mendix/) and [runtime](https://www.mendix.com/evaluation-guide/app-lifecycle/deployment/) aspects of app development but one of the great things about this tooling is that there is clean separation between the two.

The following captures the developer's "design-time" perspective. We hope that the diagram helps to clarify the software components that would fall under the scope of this OWF project and distinguishes Preparese<sup>TM</sup> as an example of a closed (proprietary) application that embeds core Farmworker WalletOS components. We plan on documenting a similar diagram to aid in understanding the "runtime" perspective soon.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting that this diagram shows hosting of Aries-related repos (traditionally at Hyperledger) at OWF. What are the implications?

Copy link
Contributor Author

@jorgefl0 jorgefl0 Aug 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per recommendation from TAC, the aries-sdk-mendix lab project proposal has been submitted to Hyperledger Labs for consideration.

The second product, Preparese Mobile<sup>TM</sup>, is designed around the unique needs of farmworkers. We’ve developed a react native mobile app that lets farmworkers store, manage, and exchange their verified information. Engagement with organizations is made easier with [DIDComm](https://didcomm.org/book/v2/)-based communication capabilities such as text and video chat.


One of the cornerstone technologies of the solution is an interoperable Mendix enabled digital wallet. The wallet components need to be able to engage with various non-profit, government, and philanthropic sources, each with their own technology stacks. For this reason, interoperability and working with open standard frameworks has been a priority. The project team members have participated in [TrustOverIP Foundation](https://trustoverip.org/), [Hyperledger Aries JS Working Group](https://wiki.hyperledger.org/display/ARIES/Aries+Framework+JavaScript), and various other communities, including [DID Communication Working Group](https://identity.foundation/working-groups/did-comm.html) and [OpenWallet Foundation](https://openwallet.foundation/) of late, to ensure we adhere to best practices and standards.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which interoperable protocols and credential formats does this wallet support today? What additional protocols and credential formats are planned?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AnonCreds credential format and DIDComm v1 are currently supported. The project roadmap includes adding support for DIDComm v2 and W3C VC including:

  • OpenID4VC
  • W3C JSON-LD
  • SD-JWT

# Issue Tracker
Github

# External Dependencies

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the CICD elements also supplied by GitHub?
And library/package hosting also supplied by GitHub?

Project will adopt the OWF Code of Conduct

Signed-off-by: Jorge Flores <jorge@entidad.io>
@tkuhrt
Copy link
Collaborator

tkuhrt commented Aug 9, 2023

@jorgefl0 : The PR reflects This branch is out-of-date with the base branch. Can you rebase this PR so that we can merge it?

@tkuhrt tkuhrt merged commit b402392 into openwallet-foundation:main Aug 9, 2023
1 check passed
@tkuhrt
Copy link
Collaborator

tkuhrt commented Aug 9, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants