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

FIN-OCR - Software Project Contribution and Onboarding #348

Open
mtnat opened this issue Jan 29, 2025 · 6 comments
Open

FIN-OCR - Software Project Contribution and Onboarding #348

mtnat opened this issue Jan 29, 2025 · 6 comments
Assignees
Labels
contribution ready-for-toc The issue is ready for TOC review

Comments

@mtnat
Copy link

mtnat commented Jan 29, 2025

1. Describing The Contribution

This is a list of questions that need to be answered by the contributor in order to allow a new project to pass to the approval stage of onboarding.

Business Problem

The ability to accurately and efficiently recognize the MICR line of a check is vital to the processing of check transactions. This can be difficult due to noise from handwriting. A efficient and highly accurate tool is required to support customer needs to quickly handle OCR processing of check images. Today the industry relies upon in-house or vendor solutions which can be costly or inificient.

Proposed Solution

The OCR Utility is built in collaboration with imagecacheletter from moov.io to provide an open source solution to remove noise and provide a highly accurate result which reduces the need for human review of error related checks.

Tentative Roadmap

The future state goals are to maintain accuracy of the image processing to ensure it meets accuracy claims from other vendor solutions.

Current State

The OCR Utility is currently used in production today for check in-clearing processing.

Existing Materials

Development Team

Maintainers

  • Reference list of maintainers here

Confirmed contributors

  • Reference list here

Target Contributors

We are seeking collaborators from the industry to continue to maintain and provide an accurate solution to its consumers.

Project Communication Channel(s)

  • Contributor to ask maintainers which communications channels they'd like to use:
    • Slack + Zoom
  • Asynchronous
    • GitHub Issues (public)
    • GitHub Discussions (public)
  • Synchronous
    • Recurring meetings

Understanding FINOS Onboarding Requirements

As a project onboarding into FINOS, you will need to familiarize yourself and your contributor team with the following materials:

Record The Contribution (FINOS Infra)

  • (optional) Identify and Assign FINOS Strategic Advisor
  • Submit contribution to LF by opening a ticket via https://jira.linuxfoundation.org/browse/SS and marking contribution as "Exploratory"; attach a summary of the Business Problem and Proposed Solution (above) of the project.

2. Approval

The FINOS Technical Oversight Committee (TOC) is responsible for approving FINOS project contributions; feel free to check their contribution principles.

If needed, the TOC will request a follow up either via GitHub Issue comments or by inviting project leads to one of their recurrent meetings.

Tasks (for FINOS Infra/TOC)

  • Prioritise this issue on the TOC Backlog
  • Assign this issue to @eddie-knight
  • Add the ready-for-tsc label
  • TOC to invite contributors to present their project
  • FINOS TOC approves/rejects the contribution
  • Ask @jgavronsky to mark contribution as "Engaged" within LF systems
  • (optional) If additional socialization is required, the Executive Director may bring projects to the FINOS Governing Board
  • Update the contribution status to "Engaged" by sending another email to LF Legal Representative with the name of the project and its new status.

TOC Findings / Report

TOC to enter findings summary here.

3. Preparing For Onboarding

Before the FINOS team can onboard your project, there are a few housekeeping that need to be taken care of. These must be completed by the contributor, with help if required from the FINOS Infra.

Kick-off meeting

  • Set up kick-off meeting with project leads
  • Run kick-off meeting
    • Walk through the checklist in part 1, ensure all the questions are answered and remove items that don't apply
    • Write and send contribution proposal announcement (optional - see below)

Proposal (Lead Maintainer)

  • Lead maintainer to send out announcement to community@finos.org using this template:

    Dear FINOS Community, 
    
    We would like to propose a new FINOS project. Please review the proposal details at (_TODO: add link to the GitHub issue proposal_).
    
    If you're interested in participating, please :+1: the GitHub issue proposal and drop a comment with your name, org and email
    
    Thanks a lot,
    

Logo / Trademarks

  • Sign the project contribution agreement to allow FINOS to act on behalf of the contributor for accounts related to the project (e.g., GitHub, domain names, social media) and to optionally manage trademark assignment
  • Request logo design from help@finos.org (if needed)
  • The codebase doesn’t include any patent or copyright that conflicts with FINOS Governance and bylaws. (Infra team to validate with FINOS Legal team if anything important is raised)

FINOS Project Blueprint

Add documentation here

4. FINOS Onboarding

This is performed by FINOS Infra once the three previous stages are complete, with support from the contributor and the FINOS Infra team.

Maintainers, Contributors and CLAs

  • Identify other existing contributors (assuming there's a contribution history (eg Git history)
  • Check if maintainers and other contributors are all covered by FINOS CLA
  • Engage with FINOS Legal team to figure out what’s needed to cover all maintainers and contributors with FINOS CLA
  • Reach out to contributors and employers to coordinate CLA signatures
  • Invite GitHub usernames to GitHub FINOS Org
  • Create <project-name>-maintainers GitHub team and invite users

Validation (only if code is contributed)

  • Backup (even with screenshot) GitHub permissions of the repository to transfer
  • Check GitHub repository transfer requirements:
    • finos-admin has Admin to all repositories to transfer
    • finos-admin ia allowed to transfer repositories out of the org
    • if the repository is owned by a user (and not an org), the user must be able to transfer the repository to finos-admin
  • The codebase doesn’t have HIGH or CRITICAL CVEs across direct and transitive libraries
  • The codebase doesn’t have any unfriendly licenses across direct and transitive libraries
  • (optional - if a build system is provided) The build process runs successfully
  • The codebase doesn’t include any patent or copyright that conflicts with FINOS Governance and bylaws (to be validated with FINOS Legal team)
  • All incubating criteria are met (review documentation provided above)

Code transfer

  • Transfer all code assets as GitHub repositories under github.com/finos
  • Rename main branch to main (instead of master)
  • Configure finos-admins (Maintain role) and finos-staff (Triage role) team permissions

Project Communication Channel(s)

  • Create the identified communication channels during infra set up
  • Create mailing-list on lists.finos.org (if requested)
  • Create Slack channels if requested.
  • Link communication channels linked front-and-center in the project README.md

Repository setup

  • Enable EasyCLA
  • Add project to metadata
  • Add identities, orgs and affiliations to metadata (deprecated by EasyCLA)
  • Add logo to FINOS landscape
    • Create staging branch on finos/finos-landscape
    • Merge finos/metadata changes on master (will udpdate landscape.yml in finos/finos-landscape)
    • Create PR from staging branch on finos/finos-landscape
    • Review Netlify preview
    • Merge PR
  • Add project maintainers emails to finos-project-maintainers@finos.org list
  • Add project maintainers GitHub usernames to the project-maintainers Team
  • Ask @jgavronsky to mark contribution as "Active" within LF systems
  • (best effort) Update release coordinates and code namespace to include finos
  • Check that CVE (and preferably static code analysis, if applicable) scanning is in place
  • Enable automated dependency update, using Renovate
  • Enable branch protection (Require a pull request before merging)
  • (optional) Enable meeting attendance tracking
  • (optional) Onboard into legend.finos.org/studio

5. Announcement

(Lead: Project Lead and FINOS Infra team)

  • Update the contribution status to "Active" by sending another email to LF Legal Representative with the name of the project and its new status.
  • Lead maintainer works with FINOS marketing to send out announcement to announce@finos.org , checkout announcement template at the Contribution page
  • Notify FINOS marketing (@grizzwolf + finos-marketing internal Slack channel)
@Vcedwards
Copy link

@maoo @TheJuanAndOnly99 what is the current status and provide eta for next steps.

@TheJuanAndOnly99 TheJuanAndOnly99 added the ready-for-toc The issue is ready for TOC review label Feb 7, 2025
@TheJuanAndOnly99
Copy link
Member

Hi @Vcedwards this has now been assigned for review to the FINOS TOC. They will reach out with next steps. If everything looks good they may ask you to join a TOC call for a quick presentation.

@eddie-knight
Copy link
Contributor

Hi @mtnat, would you like to present this project application on an upcoming Technical Oversight Committee meeting?

Wednesday February 19th is the next public TOC meeting, and March 5th is the next opening after that. You can reference calendar.finos.org to see the meeting times and other details.

@mtnat
Copy link
Author

mtnat commented Feb 11, 2025

Hi @eddie-knight,

Yes, we would like to present this on 2/19. Please add us to the agenda and let us know of anything else we should prepare.

Thanks.

@eddie-knight
Copy link
Contributor

Brilliant, I've got you slotted for next week!

The goal will be to provide the TOC with opportunities to ask questions and give feedback. You can open with any presentation that you anticipate will be beneficial — such as the background, problem, solution, and a demo of any working features.

@eddie-knight
Copy link
Contributor

Notes from today's presentation call:

  • @eminty69: What is the project's roadmap / next steps?
  • Dan: Looking to increase adoption
  • @eminty69: What will it look like for the TOC to support this project's onboarding?
  • @mindthegab: We will want to create a plan for early awareness efforts
  • @rocketstack-matt: volunteer to act as an onboarding buddy for the project to streamline the TOC acceptance vote - this will correspond to Matt's work creating TOC documentation for future project onboarding

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contribution ready-for-toc The issue is ready for TOC review
Projects
Development

No branches or pull requests

4 participants