Fineract Proposal

Abstract

Fineract (\’fīn-,ə-ˌrakt\: A hypercube for digital financial services) is an open source system for core banking as a platform. Fineract provides a reliable, robust, and affordable solution for entrepreneurs, financial institutions, and service providers to offer financial services to the world’s 2 billion under and unbanked.

Proposal

The aim of this proposal is to bring the Mifos X codebase and community under the Apache Software Foundation (ASF) umbrella in order to help coordinate the development effort of the growing number of organizations which contribute to it, and give it the confidence of the neutral, transparent, and open source governance policy of the ASF.

The name Mifos X will remain the property of the Mifos Initiative (a US based 501(c)(3)) and will be used for a specific distribution of the Fineract code. All development efforts of the Mifos Initiative will be transferred to the Fineract project.

Background

Mifos X is a mature and robust platform that provides loan, savings, and business management functionality based on market proofed requirements. The project was started in 2006 at the Grameen Foundation, initially creating the Generation One solutions of Mifos 1 and Mifos 2, the industry’s first open source and web-based MIS, to support the Joint Liability Group (JLG) lending methodology created by Mohammed Yunus, which gained him and the Grameen Bank the Nobel Peace Prize for his financial work in 2006.

In 2011 the independent Mifos Initiative, a 501(c)(3), was founded with two goals:

  1. Create the Generation Two solution Mifos X, an extensible API-driven platform purpose built for Financial Inclusion 2. Build and govern an open source community of users, developers, and service providers committed to using Mifos X for Financial Inclusion.

Since then a worldwide community of users, partners, and volunteers has grown that utilizes, develops, and supports Mifos X. More than 40 partners from Africa, India, China, South-East Asia and Latin America, with over 120 deployments and 3.5 million clients, have enhanced the platform based on regional requirements and national regulatories.

Rationale

Financial Inclusion - providing financial services to the world’s 2 billion under and unbanked, enabling them to become a part of the global economy - requires an affordable, reliable, scalable, and robust solution.

The adoption of mobile solutions and digital financial services is increasing at an incredible pace and has led to an influx of new innovators, financial institutions, and service providers into the Financial Inclusion space and into the Mifos community which is growing at an accelerating rate year-over-year since 2012.

Our rationale for joining the ASF is that as an Apache project we can better manage the growth and governance of our community and provide the community the confidence of sustainable long-term open source management, which strengthens their commitment and continues the growth of our vibrant, diverse community, collectively innovating around a single codebase, sharing the social mission to eliminate poverty.

Initial Goals

The initial goals of the Fineract transition under the ASF umbrella are to establish a new home for an already fully functioning project, and also make sure that the entire development community governs itself in the Apache Way.

In addition, we will ensure:

  1. All dependencies are compliant with the Apache License and the ASFs licensing policies.
    1. To become compliant a refactoring of the reporting module is necessary to be able to swap out the Pentaho Reporting Engine. This work will be undertaken during incubation.
      2. Ongoing development based on our collaboratively established 2016 roadmap, and bring the process into the Apache Way.
      3. Creating releases per Apache guidelines.

Current Status

Meritocracy

We already have attributes of meritocracy embedded in our community.

  • We have a developer email list which identifies active community members who then become committers .
  • On the user email list new features are introduced and discussed, forming the product roadmap, and prioritization is based on merit and need.
  • We have successfully graduated 13 Google Summer of Code interns, many of whom have become long-term committers and developers to the project.

Community

There are more than a hundred developers within an active developer mailing list. We have a large and growing installed base of users (financial institutions) and a diverse eco-system of regional service partners who support and deploy Mifos in their communities, and solution partners who have built financial inclusion solutions on top of Mifos. The community has held three annual conferences (2012, 2013, and 2015) where the community gathers to connect implementers with developers, sharing their knowledge to collaboratively build innovative solutions.

If Fineract is accepted by the Incubator, transitioning the community to embrace the Apache Way of governance would be a primary initial goal. We will solicit major existing developers to become committers on the project from the beginning.

Core Developers

The core developers are a diverse group of individuals already very experienced in open source development.

Edward Cable is a co-founder of the Mifos Initiative, and has established the current community and governance model, Sander van der Heijden is the CTO of Musoni Services, one of the first companies to create a commercial product on top of the platform, that is completely mobile-based, and Markus Geiss started as a volunteer and was appointed Chief Architect this year.

A broad base of committers around the Mifos developer team from Conflux Technologies is made up of volunteers (e.g. Michael Vorburger, Product Manager Design Studio at Temenos AG, Ishan Khanna a graduate student at Bhagwan Parshuram Institute of Technology, or Terence Monteiro, Founder & Director of SanJose Foundation) supporting and guiding contributors, and governing the code base.

Alignment

Transition to ASF is a natural progression towards collaborative software development and commercial-friendly standard licensing. Brian Behlendorf and Zaheda Bhorat, both open source community leaders, in their role as advisors for the Mifos Initiative, helped us to establish a community that shares a vision based on a philosophy that is well aligned with the Apache Way.

Known Risks

Orphaned products

The community proposing Fineract for incubation is a strong and vibrant open source project with a large installed base of users that is growing at an increasing rate year-over-year from 2011 through 2015. In addition to the commitment from the non-profit Mifos Initiative to move its development efforts to the Fineract project, the size and diversity of the community is a guarantee against the project being orphaned.

Inexperience with Open Source

We have managed Mifos as an open source project since inception. Every release has been open source. We have open source community processes, such as a developer mailing list, community conference calls, a collaborative and transparent product roadmap, and an annual developer conference open to all.

Our leadership has extensive open source experience. Our chairman, Paul Maritz, was CEO of VMWare and CEO of Pivotal where he lead open source initiatives at both companies. At Pivotal, he championed the Spring open source framework and directed 3 Pivotal projects into Apache projects, including Geode, HAWQ, and MADlib.

Our board member Dave Neary has spent 4 years with Red Hat, building their open source developer community, and is a member of the GNOME Foundation since 2004.

Homogenous Developers

The initial group of committers is heterogeneous when it comes to corporate affiliations. The community is extremely diverse in terms of geography, the backgrounds of developers, and the diversity of roles they play in the community, such as users, regional support partners, and solution partners. Since its inception, the entire community has contributed to the software across a distributed and transparent infrastructure and environment.

Reliance on Salaried Developers

Our developer community consists of a mix of salaried developers who are committed to the code base and volunteers.

The salaried developers work for (info) the Mifos Initiative, a 501(c)(3) non-profit; (ii) financial institutions that use Mifos X; (iii) regional service providers committed to financial inclusion that deploy and support Mifos X in their communities; or (iv) solution partners that build and distribute custom solutions on top of Mifos X.

We also have pure volunteers who contribute, often through hackathons and corporate social responsibility programs such as Benetech’s Social Coding 4 Good, LinkedIn’s Day for Good, Google’s GoogleServe, ThoughtWorks Social Impact Program, and VMware Take 3 Sabbatical program.

This diversity of roles and developers adds to the sustainability of the project.

Relationships with Other Apache Products

Currently we are utilizing some Apache projects, like Tomcat, POI, commons-lang, or HttpComponents, there are no additional relationships right now. In 2016 further Apache projects, like Apache OpenJPA, and Apache Geode, will be introduced to the project.

The platform is built on top of the Spring Framework, utilizing multiple modules, like Spring Data, Spring Web, or Spring Security.

An Excessive Fascination with the Apache Brand

While we respect the reputation of the Apache brand we see a benefit for both sides. We bring a stable and mature community with a deep rooted social mission and are able to give Fineract a solid home as an open source project following an established development model.

Documentation

Information about Mifos X can be found at https://mifosforge.jira.com/wiki/display/MIFOSX/Welcome+to+Mifos+X.

Initial Source

Initial source is available on GitHub under the MPLv2 at https://github.com/openMF/mifosx.

Source and Intellectual Property Submission Plan

The Mifos Initiative owns all copyright to all contributions and has the legal right to sign the ASF Software Grant Agreement. As soon as Fineract is approved to join Apache Incubator, the source code will be transitioned via the Software Grant Agreement onto ASF infrastructure and in turn made available under the Apache License, version 2.0.

External Dependencies

Vendor

Library

License

Compatible

Amazon.com, Inc.

AWS Java SDK

AL v2

yes

Apache Software Foundation

Commons

AL v2

yes

Apache Software Foundation

Tomcat

AL v2

yes

Apache Software Foundation

POI

AL v2

yes

Apache Software Foundation

HTTPClient

AL v2

yes

Ben Fortuna

iCal4j

BSD 3-clause

yes

Boxfuse GmbH

Flyway DB

AL v2

yes

Bruce Dunwiddie1

JavaCSV

LGPL v2.1

no

Google, Inc.

gson

AL v2

yes

Google, Inc.

guava

AL v2

yes

iText Group NV

iText

MPL v1.1

yes

Jayway

JsonPath

AL v2

yes

Jayway

RESTassured

AL v2

yes

JUnit

JUnit

EPL v1

yes

Michael Vorburger

MariaDB4J

AL v2

yes

Oracle, Corp.

JAX-RS

CDDL v1

yes

Oracle, Corp.

Jersey

CDDL v1.1

yes

Oracle, Corp.2

MySQL Connector/J

GPL v2

no

Pentaho, Corp.3

Reporting Engine

LGPL v2.1

no

Pentaho, Corp.3

Reporting Library

LGPL v2.1

no

Pivotal Software, Inc.

Spring Boot

AL v2

yes

Pivotal Software, Inc.

Spring Framework

AL v2

yes

Pivotal Software, Inc.

Spring Security

AL v2

yes

Sam Pullar

Mustache

AL v2

yes

Square, Inc.

retrofit

AL v2

yes

Square, Inc.

okhttp

AL v2

yes

Stephen Colebourne

Joda-Time

AL v2

yes

Szczepan Faber

Mockito

MIT

yes

Terracotta, Inc

Quartz

AL v2

yes

Terracotta, Inc

Ehache

AL v2

yes

  • 1 = can be removed
  • 2 = can be replaced
  • 3 = need an abstraction on our side to become replaceable

Cryptography

The only cryptography included by the project will be via library inclusion, and will be used to encrypt stored user data on mobile devices and in cloud storages.

Required Resources

Mailing lists

  • private@fineract.incubator.apache.org (moderated subscriptions)
  • commits@fineract.incubator.apache.org
  • dev@fineract.incubator.apache.org
  • user@fineract.incubator.apache.org

Git Repository

https://git-wip-us.apache.org/repos/asf/incubator-fineract.git

Issue Tracking

JIRA Project Fineract (FINERACT)

Other Resources

Initial Committers

The following list comprises the current long term committers and does not contain occasional developers.

  • Vishwas Babu AJ (vishwas at confluxtechnologies dot com)
  • Edward Cable (edcable at mifos dot org)
  • Andrew Dzakpasu (andrewdzakpasu at musoni dot eu)
  • Markus Geiss (mgeiss at mifos dot org)
  • Sander van der Heijden (sander at musoni dot eu)
  • Ishan Khanna (ishan1604 at gmail dot com)
  • Myrle Krantz (mkrantz at mifos dot org)
  • Terence Monteiro (terence at sanjosesolutions dot in)
  • Adi Nayaran Raju (adi dot raju at confluxtechnologies dot com)
  • Gaurav Saini (gsaini at apache dot org)
  • Nazeer Hussain Shaik (nazeer dot shaik at confluxtechnologies dot com)
  • Michael Vorburger (mike at vorburger dot ch)

Affiliations

  • Vishwas Babu AJ (Conflux Technologies)
  • Ed Cable (The Mifos Initiative)
  • Andrew Dzakpasu (Musoni Systems)
  • Markus Geiss (The Mifos Initiative)
  • Sander van der Heijden (Musoni Systems)
  • Myrle Krantz (The Mifos Initiative)
  • Terence Monteiro (SanJose Foundation)
  • Adi Nayaran Raju (Conflux Technologies)
  • Nazeer Hussain Shaik (Conflux Technologies)

Sponsors

Champion

Ross Gardler

Nominated Mentors

  • Ross Gardler
  • Roman Shaposhnik
  • Greg Stein

Sponsoring Entity

Incubator PMC

  • No labels