Please describe your proposed solution.
Context
- The Mithril paper describes, among several things, a way for fast bootstrapping of PoS blockchains using Stake-based Threshold Multisignatures. Use-cases such as light-wallets and chain indexers can be implemented with improved levels of security and self-accountability.
- IOHK has taken the lead on the effort of providing an implementation of the Mithril paper in the form of an open-source, Rust-based infrastructure component.
- Participation from diverse stakeholders in the ecosystem throughout the development process is an important characteristic of any open-source project.
- In particular, a close level of integration of Mithril with other components in the Cardano infrastructure will accelerate adoption.
Scope of the Proposal
- Reach out the the core Mithril team and ensure their interest on adding a new team member in the form of an open-source contributor, external to the IOHK company. This new member will require an active level of involvement in the whole development process; including roadmap discussions, technical discussions and tasks distribution.
- Recruit a new developer, either from TxPipe or from any interested party in the community, to become a paid open-source contributor to the Mithril implementation. Competency will be evaluated by TxPipe and advice will be requested from the core Mithril team.
- Ensure participation of this new contributor throughout a period of 6 months; This contributor will be responsible for tasks such as:
- Submitting code via pull requests.
- Reporting bugs or suggesting new features.
- Improving documentation.
- Helping with project infrastructure.
- Assisting in managing issues.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
A new contributor addresses the challenge by providing the following benefits:
- New contributors often bring with them their own network of contacts, who may become interested in the project as a result.
- Each new contributor represents one more person who understands the project and can work on it; improving the long-term sustainability of the project.
- New contributors force the team to maintain good onboarding documentation and practices, making the process easier for future new contributors.
- A fresh set of eyes can often spot redundancies, inefficiencies, and bugs that people who've been deeply involved in the project may overlook; improving the overall quality of the project.
- A new contributor might bring knowledge of libraries, tools, or techniques that are not present in the current set of senior maintainers and contributors.
- A steady influx of new contributors can signal a vibrant, active, and inclusive community, which can enhance the perceived reputability.
How do you intend to measure the success of your project?
Measuring the level of participation of an open-source contributor can be both quantitative and qualitative. Here are specific metrics that we’ll use to measure the impact of the contribution:
- Commit frequency: This is a basic metric that measures the number of commits a contributor has made to the project. This gives an idea of their overall activity level.
- Lines of code: The number of lines of code a contributor has added, modified, or deleted.
- Pull requests: The number of pull requests a contributor has created, as well as how many have been accepted.
- Issue involvement: how often the contributor has created new issues, commented on existing issues, or helped to resolve issues.
- Code quality: an assessment of the quality of the contributed code as evaluated by the senior members of the team.
- Review involvement: Participation in code reviews, both as a reviewer and as a reviewee.
- Community involvement: level of participation in issues and discussions within the context of the repository but also in different channels across the ecosystem (stackoverflow, twitter, etc).
Please describe your plans to share the outputs and results of your project?
We’ll provide a public report describing the activities of the contributor on a monthly basis. These reports will provide:
- Contribution Graphs: Tools like GitHub provide contribution graphs that can visually depict a contributor's activity over time. This can provide an easy-to-understand overview of their involvement.
- Acknowledgement in Release Notes: When new versions of the software are released, the release notes can include acknowledgments of those who contributed to that release. This gives visibility to contributors in a highly visible document.