Pizzigati Prize - Vishwas Babu

Describe the software you have developed and explain how your software has benefited the

nonprofit sector. Explain what it is your software does, what language code it is written in, who is using it, how long it has been in use and how the user community is responding to it. How has or will your software be disseminated?

Mifos X is an open technology platform for financial inclusion that provides the client data management, loan and savings portfolio management, integrated real time accounting and social & financial reporting for any organization to bring financial services to the 2.5 billion poor and unbanked.

2.5 million clients are collectively reached by the 100+ organizations using our software.

The first version of the product was launched by Grameen Foundation in 2006 as a web-based system written on the JEE stack that supported group lending. As the sector’s first open-source system it secured a number of accolades and was well-received for its flexibility and ease of use. Since then, the sector has evolved beyond microcredit with a profound need to support a full range of financial services including savings, insurance, and mobile payments.

To position our community to respond to these evolving needs of the poor and better connect to digital financial inclusion, we launched Mifos X and re-wrote Mifos as a true API-driven platform with a suite of configurable apps available in the cloud. The ‘X’ emphasizes the extensibility of the platform and its exponential impact, in the breadth of services it can support and the solutions that can be built through the platform.

The current system consists of two distinct entities:

1) The platform: A RESTful back-end which talks to a to a MySQL database and is built on the Jersey/Spring/JPA stack  

2) A suite of products built on top of the platform including a pure Javascript application (AngularJS) which supports the most commonly used financial inclusion models.

This distinction within the system is in-line with our two pronged strategy for reducing the technology barrier for entry into the financial services sector, by making available

1) Cloud and mobile-ready products (AngularJS and Android apps) which can be rapidly adopted.

2) The core underlying functionality needed by all organizations as RESTful APIs from our platform to enable the community to quickly build their own enterprise grade financial inclusion products/apps on any technology stack and pioneer new business models to grow digital financial inclusion.

Our product is simple enough that a small organization like Elevate Africa in Mali could set it up themselves to support the dozens of clients they serve, and at the same time is powerful enough to be used by organizations like ENDA (Tunisia)  and Bank BTPN (Indonesia) who reach more than one million clients.

With this new platform, we are now in a position to reach out to more non-profits following different operational models, be it SHGs (Self Help Groups) in South Asia or SACCOs (Savings And Credit Co-operative) in Africa and enable more financial innovators to help people break out of the cycle of poverty without being constrained by expensive core banking software.

The product and the platform are available for download at  http://mifos.org/mifos-x/ and the codebase at https://github.com/openMF.

We recognize we cannot do this alone. The primary distribution and innovation channel for Mifos X is our network of local partners - social businesses, certified and trained by the community, to promote, implement, host, and support Mifos X worldwide.  Working in-country with each of our users to implement Mifos X and build out new apps, this network can sustainably scale our software and enable a virtuous cycle of innovation that flows worldwide.

Describe the development process for your software. How does your software reflect the open source ethos?

Financial inclusion has unique needs that only the open source ethos and development process can fulfill. Our open community-driven approach to development is the most effective way to scalably provide cost-effective solutions that can be shaped to these needs and supported locally.

To achieve our mission, we catalyze a global community of developers that deeply understands our users and can rapidly build out software to support them. We follow a distributed agile development model with a feature release every twenty days and weekly bug fix releases. We advance a democratic community-driven roadmap by using Jira for requirements analysis and release planning. To receive the maximum possible value from contributors, we use the Fork & Pull Model on Github for developer collaboration.

Our very small core development team leverages a distributed team of volunteers, strategic partners, and deployment partners. Fundamental to this distributed development process is enabling a continuous communication cycle from users to developers to ensure innovation comes from the bottom up. Users raise requirements on our mailing list or issue tracker which are then prioritized by volunteer business analysts based on community need and potential to further scale the reach of our technology.  Simpler issues are marked as introductory and knocked off during hackathons held by partners like Google, VMware, and ThoughtWorks or by students through Google Summer of Code and Code-In.

What do you think is the role of software developers in the social change movement? How have you been or how can you see yourself as a leader for change? (200 words or less)

The role of a software developer in the social change movement is just as critical as those with any other unique skill set. As an architect of a platform, I have the powerful opportunity to guide & enable any person in the world  to make a meaningful contribution to poverty alleviation through a simple code submission.

There are sayings in my native language which loosely translate to "A Hungry stomach knows no morals" and "how poverty is a disease that dehumanizes both its victim and the observer (who treat the poor as something less than human)"

Humanity's evolution, social change or whatever you choose to call it could drastically be accelerated, if together, we find a way to eliminate poverty.

Towards this end, my fellow Mifos developers and I spend our time designing and developing software which could be used by innovative financial inclusion organizations to better manage their operations and extend their services to as many unbanked people as they possibly can.

We believe that the poor, when given access to these financial services, would be able to break out of the crippling cycle of poverty. It is humbling to know that with each line of code I write, each customer I support, and each volunteer I mentor, we help to break that cycle.