Date

  • Held on Zoom at 7:30am PST / 1530 GMT
  • Meeting duration: 1hr

Presentation

Attendees

(~29 online, as of 1620 UTC)

Attendee locations

(preferred format: CITY, COUNTRY or simply COUNTRY)

  • Bangalore, India
  • Bhubaneswar, India
  • Bologna, Italy
  • Budapest, Hungary
  • Chile
  • Dallas, USA
  • Delhi, India
  • Egypt
  • Kampala, Uganda
  • Laos
  • Mumbai, India
  • New Delhi, India
  • Nigeria 
  • Nyakrom, Ghana
  • Pune, India
  • Seattle, USA

Action items

Photos

RAW notes from Fireflies AI meeting bot

Copy pasted from Fireflies 


  • Community Engagement: Participants from various countries shared motivations, emphasizing mentorship and welcoming new contributors.

  • Volunteer Contributions: Encouragement for volunteers in testing and code reviews to enhance collaboration and learning opportunities.

  • AI Tool Usage: AI tools recognized for speeding up processes, yet human authorship of contributions remains essential for quality.

  • Release Process Improvements: Adoption of Apache Release Tool aims to automate processes, ensuring stability and compliance in system operations.

  • Testing Prioritization: Increased focus on cucumber testing as vital for stability, with community efforts to develop onboarding resources.

  • Roadmap and Community Input: Collective decision-making on project evolution encourages input from users to define strategic priorities.



Notes

Community Engagement and Onboarding

The meeting fostered a strong sense of community by encouraging introductions and sharing motivations, setting a collaborative tone for new and existing contributors (00:01).

  • Diverse Global Participation and Motivations (00:01)

    • Participants introduced themselves with locations spanning the US, Egypt, Hungary, India, Nigeria, Ghana, Kenya, Chile, and more.

    • Motivations ranged from poverty alleviation, fintech interest, gaining open source experience, to mentoring newcomers.

    • Several newcomers expressed eagerness to contribute despite limited prior experience, highlighting a welcoming environment.

    • Mentorship roles were established to help onboard and guide new contributors, promoting sustained involvement.

  • Volunteer Roles and Contribution Encouragement (33:26)

    • James Dailey and Adam Monsen emphasized the importance of volunteers stepping into areas needing attention, particularly in test coverage and reviewing pull requests.

    • Clear advice was given to new contributors to ask before starting work on tickets to align with ongoing efforts and avoid duplication.

    • Adam Monsen encouraged pairing and open communication to ensure quality contributions, especially when AI tools are involved.

    • This approach supports a culture of collaboration and continuous learning.

  • Use of AI Tools in Contributions (23:22)

    • The community recognizes AI tools as accelerators but stresses that all contributions must be human-authored.

    • Adam Monsen highlighted the need for diligence in code review and maintaining clear communication to ensure code quality.

    • Citation of AI tool usage is encouraged as best practice, though policies are still evolving.

    • This reflects a thoughtful integration of modern tools while preserving open source values.

  • Interest in Testing and Onboarding Support (01:12:26)

    • Several members volunteered to help expand and maintain cucumber testing, even those new to the framework.

    • Plans were discussed to create onboarding materials and possible recorded conversations to ease new contributors into testing.

    • Using AI tools to summarize and create training content was proposed to speed onboarding.

    • This initiative aims to strengthen quality assurance and lower barriers to contribution.

Release Process and Technical Infrastructure

The project is actively improving its release process and technical foundations to enhance stability and ease of contribution (16:48).

  • ATR Release Tool Adoption and Process Improvements (17:42)

    • Adam Monsen reported that the Apache Release Tool (ATR) is stable and functioning well, automating parts of the release process while preserving security.

    • The develop branch is treated as a release-ready stable integration branch to streamline releases.

    • Documentation is up to date with manual steps required before full ATR automation, such as GPG signing and branch management.

    • Plans include adding redundancy and rotating the release manager role to distribute responsibilities.

  • Security and Compliance Foundations (19:55)

    • The backend system aims to be scalable, secure, operationally capable, and compliant by design.

    • Security practices like the four-eyes principle and enhanced audit trails are emphasized to support compliance.

    • Vendors are expected to provide additional operational security layers around the core system.

    • These measures ensure trustworthy and robust financial services delivery.

  • Command Processing Refactor (CQRS) (35:44)

    • Alexander Vitakovich is undertaking a deep refactor to improve type safety and remove brittle JSON parsing in command processing.

    • This work targets long-standing technical debt and aims to stabilize core business logic processing.

    • The refactor supports future maintainability and reduces error-prone manual parsing.

    • Progress updates are shared via tickets, signaling active ongoing development.

  • Loan Origination Framework and Progressive Loan Enhancements (40:10)

    • Adam Saghy reported near completion of progressive loan support for monetary and non-monetary transactions, including re-aging and re-amortization.

    • A new minimalistic loan origination framework is being developed to support multiple configurable originators per loan.

    • This framework aims to offer flexibility for diverse business needs and is expected within one to two months.

    • Community input is invited to extend and customize this functionality.

Testing and Quality Assurance

Testing is recognized as critical for stability, with cucumber testing promoted to increase coverage and make tests more accessible (30:44).

  • Introduction and Advocacy for Cucumber Testing (30:44)

    • Cucumber tests allow writing human-readable end-to-end test scenarios, making collaboration with business analysts and QA easier.

    • Despite initial adoption delays, cucumber testing covers key modules like loans, savings, and customers.

    • Adam Saghy emphasized the need to increase test coverage to protect against regressions during backend evolution.

    • The project is actively seeking volunteers to write and maintain these tests.

  • Call for Volunteers and Onboarding Efforts (01:12:26)

    • New contributors expressed willingness to help with cucumber testing despite limited experience.

    • Plans to develop onboarding guides and recorded walkthroughs aim to lower barriers to entry.

    • Leveraging AI tools to produce training content was suggested to accelerate community learning.

    • These efforts are expected to improve code quality and contributor confidence.

  • Testing Prioritization and Feature Coverage Discussions (01:08:50)

    • Contributors discussed prioritizing which modules and features should receive focus for test coverage.

    • Balancing expanding tests for core features versus possibly trimming less-used functionality was raised.

    • This reflects a strategic approach to quality assurance aligned with roadmap priorities.

    • Community feedback will guide testing focus areas.

Roadmap and Strategic Direction

The project is at a crossroads with a focus on improving maintainability, defining priorities, and considering a potential major evolution or rewrite (47:16).

  • Proposed Roadmap Criteria and Focus Areas (47:16)

    • Prioritize items that enhance maintainability and can be realistically accomplished with community resources.

    • Ensure community-driven input especially from experts in banking, lending, and financial inclusion.

    • Favor incremental improvements over expansive new features to keep the core solid and consistent.

    • This approach targets sustainable progress and avoids overreach.

  • Discussion on Finrac 2.0 and Evolution vs. Rewrite (56:02)

    • James Dailey opened the conversation on whether to evolve the current system or build a new version (Finrac 2.0).

    • Input highlighted the need to gather raw ideas from all users before deciding the path forward.

    • The product is mature but has gaps, especially in testing and stability of some modules.

    • The decision will weigh community capacity, resource availability, and strategic goals.

  • Community Input on Priorities and Dogfooding (01:04:24)

    • Adam Monsen emphasized attacking technical debt, improving build tools, and security as key ongoing needs.

    • He advocated for attracting and engaging users who run the system in production ("dogfooding") to provide real-world feedback.

    • Voting on feature priorities and roadmap items with input weighted by production usage was proposed.

    • This data-driven approach aims to align development with actual user needs.

  • Vendor-Neutral Product Management Model (53:28)

    • The project operates without single product owners; the PMC committee manages technical direction neutrally.

    • Individual vendors have their own visions but contribute within the community process.

    • This open meritocracy approach means features emerge from collective demand and volunteer effort.

    • It encourages broad participation but requires clear communication and consensus building.

Feature Development and Specific Enhancements

Several focused development efforts are underway targeting key functional improvements and new features (27:57).

  • Modular Security Architecture Implementation (27:57)

    • Phase one completed with OAuth 2.1 support and PKCE for public UI security.

    • Fineract can act as a resource server with built-in Spring authorization or external servers like Keycloak.

    • The design allows flexible configuration to support different authentication and authorization needs.

    • Ongoing work is documented with JIRA tickets and design docs led by Alex, with Adam Saghy as secondary contact.

  • Negative Balance and Force Post Handling (36:46)

    • Campbell Burgess explained real-world necessity for force posts due to transaction timing and consumer behavior.

    • Saifulhuq is actively developing support for negative balances to reflect these scenarios.

    • The code is in progress with ongoing issue resolution and community discussion.

    • This enhancement addresses practical banking needs and aims to improve accuracy.

  • Progressive Loan Enhancements Near Completion (40:10)

    • Support for complex loan actions like re-aging, re-amortization, and rescheduling is mostly finished.

    • The system now supports interest-bearing progressive loans with these capabilities.

    • The work increases flexibility for sophisticated lending products.

    • Final phases expected soon to complete this feature set.

  • Loan Origination Framework Development (42:43)

    • A minimalistic implementation allows defining multiple loan originators per loan with configurable fields.

    • This supports various channels such as online, API, or affiliates.

    • The community is invited to suggest extensions or customizations.

    • Delivery is targeted within one to two months, providing a flexible base for loan origination.

Process Improvements and Community Norms

The meeting reinforced open source norms, communication standards, and the importance of process transparency (46:11).

  • Communication and Mentorship Emphasis (46:11)

    • Adam Monsen highlighted the value of checking in with the community before undertaking work.

    • Pairing and open dialogue are encouraged to ensure alignment and quality.

    • This supports smoother onboarding and reduces duplicated or misaligned efforts.

    • It fosters a culture of responsibility and shared ownership.

  • Review and Contribution Best Practices (33:26)

    • Contributors should review commits actively as a form of participation.

    • Writing tests, especially in cucumber, is a key area needing help.

    • Volunteers are urged to communicate regularly about progress and challenges.

    • These practices help maintain code quality and project stability.

  • Survey and Feedback Mechanisms Proposed (01:11:29)

    • A follow-up survey is planned to collect community priorities on features and usage areas.

    • Responses from production users will be weighted more heavily to guide roadmap decisions.

    • This aims to create a data-driven approach for strategic planning.

    • Active community involvement in this survey is encouraged.

  • Volunteer Leadership Development (01:14:10)

    • James Dailey invited volunteers to help with meeting facilitation and leadership roles.

    • Offers to mentor new facilitators were welcomed to build community capacity.

    • This helps distribute workload and develop community governance.

    • Encouraging leadership growth supports long-term project health.



Action itemsAdam Monsen

  • Take detailed meeting notes on the wiki during meetings to complement official minutes (00:22)

  • Continue working on ATR release process improvements and documentation updates (17:42)

All Contributors

  • Volunteer for GSOC mentorship roles as per upcoming Apache Foundation confirmation (21:42)

  • Practice transparency when using AI tools in contributions and seek help if unsure; cite extensive AI assistance where applicable (23:22)

  • Consider volunteering for next meeting master of ceremonies; trained mentorship available (01:14:48)

Adam Saghy

  • Lead ongoing Modular Security Architecture development; provide updates and support for community volunteers (27:57)

  • Finalize progressive loan module enhancements and loan origination framework implementation; solicit community feedback for extensibility (40:10)

Community members

  • Volunteer to increase cucumber test coverage, including onboarding new contributors and writing test cases (33:26)

Saifulla Khan

  • Continue integrating and debugging negative balance handling feature with community feedback (36:46)

New contributors

  • Follow open source collaboration norms by asking before taking on tickets and participate actively in reviews and mail discussions (44:54)

James Dailey

  • Organize a community survey to identify production users (dogfooding) and prioritize roadmap items based on feedback (01:10:05)

Adam Saghy and Kengne Yvana

  • Collaborate to create onboarding materials and training for cucumber test contributions (01:12:26)