We are here to achieve Market Monopoly! Apache Fineract aims to serve the world's three billion underbank or unbanked which is statistically significant. This also aligns with the vision and mission of World Governments. This essentially suggests that we are all here to help the world alleviate poverty and this by itself is no trivial task. We are surrounded by governments, governing agencies, reserve banks, financial institutions, regulatory bodies, security agencies etc.
Apache Fineract is in direct competition with similar product offerings from a plethora of companies, one of the products that I came across googling is from Oracle themselves and which also happens to be a commercially paid product. So one might be tempted to ask what is the key differentiator between Apache Fineract and Oracle? One is free to use and the other is paid, so by default Apache Fineract wins? That would be at best naive thinking, the customer is sane and has all the power and required resources to choose from the market without affecting the end customers. So Apache Fineract has no significant benefit as compared to any other product when it comes to product adaption from the end customers. So what is the biggest motivation for a customer to choose a product? Having worked for commercial companies myself, the biggest differentiator comes from how the genetic structure is of the organization. Most of the commercial companies biggest moving force is its balance sheet. Less P/L and so kill the product etc, and most of the people are lost to sloshing management positions. Whereas Apache Fineract stands out in this respect. Apache Fineract is meritocracy, meaning it credits merit and its aim is to retain bright sparks just like ourselves, look at the life history of some of the creators of Apache Software Foundation. But what use is having a good brain without management? It is again a disaster waiting to happen. Management is required, so that people are well aligned and are performing to their fullest. Management has to be either horizontal or vertical or both, but certainly not criss-cross or sloshing management. What is volunteering without accountability? I depend on some of my peers for good code and inessence my peers depend on my deliverables. Calling on dependable people is what the management should facilitate and that is what makes Apache Fineract, Apache Fineract. DataStructures: Just yesterday I was working on this piece of code where Collections are used, this comes to me as a surprise since Collections are type safe but they are not structure safe. Meaning Collections can process Set, Lists, Queues, Stacks etc. so if a Collection of type set is used in a command operation then the database will have unique rows, but if the same Collection uses type as list, though it will have unique primary keys but duplicate database rows. This is a very big bug as the next programmer may not know this nuance while coding, as he is only working with a subset of the code as mentioned in his Jira ticket. And if there is no unique constraint to the database column then we also have data integrity issues. Algorithm: Correct usage of algorithms is paramount to achieve code quality and effectiveness, one of the algorithms that I saw was used versus what would have been used. Let's say there are colourless buckets and the user has to put colored balls in the bucket such that all the coloured balls are sorted, but the user cannot see inside the bucket, so user has to remember the previous step (this also makes the data to be available as sorted and so this algorithm will break if the original data is not sorted and sorting cannot be done when there are many Ids with complex joins) as to what bucket he placed his last ball so that if it is same it will be placed inside the same bucket or next but the caveat here is that the user only remembers his last ball and blind to the bucket, verses in a map (in a map the data can be in any order and the key can collect a List or a Map) there are coloured buckets and the user has to simply place the same coloured balls into the same bucket this is irrespective of the flat data sorting order? Conclusion: - *Monthly Contributor Induction* – Onboarding sessions for new developers to understand coding standards, architecture, and Fineract’s data model. - *Regular Technical Syncs* – Focused discussions on design choices, algorithm selection, and performance optimization. - *Dedicated Requirements & Steering Separation* – Developers focus on clean implementation, while steering handles roadmap direction. - *Milestone Recognition* – Celebrating major contributions (new features, performance boosts, architectural refactors) to encourage long-term commitment. - - Thanks, - Kapil On Tue, Sep 9, 2025 at 3:44 AM James Dailey <[email protected]> wrote: > Kapil - in the future, please be aware that you are making a REQUEST. We > are volunteers here, not some service company that offers to keep the build > working such that "we developers can work". No such thing exists. You also > could propose to fix things and create a PR. "Fix it yourself" would have > been a completely appropriate response from the listserv and in many > other open source projects is exactly what you will get back. I'm glad no > one said that. > > I think you just joined the project, and there is a steep learning curve. > It would be helpful if you could help the next person by documenting what > you did that solved your problem. Maybe suggest some documentation with a > PR to our asciidocs, or open a Jira ticket with details if you find > something specific that is broken. > > Is this you? inkedin.com/in/kapil-panchal > <https://www.linkedin.com/in/kapil-panchal> > > I'm wondering what your project is about. Are you involved in the DPI > efforts? > > James > PMC Chair > > > On Sun, Sep 7, 2025 at 10:28 PM Kapil Panchal < > [email protected]> wrote: > >> Gentleman, Ladies, >> >> The latest development branch is failing builds, it seems there is an >> error with e2e tests. Please fix it so that we developers can work. >> >>
