Free and open source software (FOSS) and business are key elements for solving the largest problems facing humanity. In this article, we focus on the challenge of eradicating poverty, a significant economic condition that affects billions of people worldwide. We outline the role of microfinance – the use of small loans to help poor people establish businesses – in eliminating poverty. We then describe the Mifos Initiative, a FOSS project to provide banking software to support microfinance institutions. Although we focus on the specific case where software is being used to address the problem of poverty, the approach and lessons learned can be applied to other great problems facing humanity.

Introduction

Poverty, ecological devastation, war, sickness, and the survival of our species: these are solvable problems. Even though they have been with us for thousands of years, they do not have to be with humanity forever. To understand the potential we have for overcoming these problems, we should examine other great problems that have been solved throughout history. For instance, legalized slavery was a constant feature of human societies and human suffering for thousands of years, but in 1787 a team started working to eliminate it. In 1833, it was ended in the British Empire and that achievement provided enough momentum to end legalized slavery worldwide soon afterward. A second example is the worldwide eradication of smallpox. By the 1950s, the disease was killing 2 million people per year and, over the course of history, it killed hundreds of millions of people. In 1967, the World Health Organization formed a team to work on the elimination of smallpox, and it was successfully eradicated by 1980.

Both of these efforts used global teams that collaborated with each other by openly sharing and improving the technologies they used to engage with their problems. Both efforts are among the pinnacles of human achievement, relieving tremendous suffering and creating great positive economic results. We consider these efforts, and others like them, the virtual ancestors of open source business.

The Poverty Problem

Poverty has been with human society since the beginning of civilization, but unlike legalized slavery and smallpox, poverty has not yet been eradicated. Billions of people still suffer from this curable economic condition. There are between 2 and 3 billion people living in poverty now, depending on how you count. The UN Millenium Development Goals call for poverty’s elimination by the year 2050.

Poverty is not just an abstract measure – Grameen Foundation has concrete measures for describing poverty, and these are immediately understandable:

Do the family’s children eat three good meals a day?

Do they go to school?

Does the family have a house with a roof that will withstand a severe storm?

Does the family have healthcare?

Another way to describe poverty is by purchasing power. If the family earns less than the equivalent of $1.25 USD per day, they are extremely poor; if the family earns $2 or less per day, they are poor. These and other questions can reliably measure whether a family is in poverty.

What Is Needed

We believe that software and business are two key elements for solving poverty. First, we do not assert that software alone is enough to end poverty – poverty has many factors, and eradicating it will require many innovations. Rather, we assert that any solution to ending poverty will need software in order to reach all poor people in the time given. Second, we assert that business must play a role in the effort to eliminate poverty as an effective social technology for generating wealth. Eliminating poverty for 2 or 3 billion people is something charity cannot do – there simply is not enough wealth to go around, even if people were willing to part with it. And while governments have had some success redistributing wealth, they have not been very good at generating it. Furthermore, redistributing wealth has never alleviated poverty.

Microfinance

Where software and business come together in the service of poverty is in the field of microfinance. Microfinance is the business of providing financial services to poor people. To demonstrate how it can eliminate poverty, the process of microfinance is summarized below.

People are generally smart and entrepreneurial. However, poor people often lack the capital to better their situation. Traditionally, the only sources of capital available to poor people are those in their community, village moneylenders and the like, who often charged usurious interest rates, made arbitrary investment decisions, and did not have the well-being of the community in mind.

Microfinance institutions (MFIs) are for-profit, social businesses that lend money in small increments at reasonable interest rates, in amounts often less than $100 for a one-year loan. The loans are made mainly to women. Men pay back the loans just as reliably as women, but lenders have found that men mainly use the money on themselves. Women generally use the money on their children, their family, and their parents. Given scarce resources, loaning mainly to women is a more effective way to help people raise themselves out of poverty.

Women use the money to start businesses that earn them income, for instance, to buy a goat or a sheep, to buy material to make furniture for sale, to stock a small store, to start a restaurant, or to buy a mobile phone they can rent to their fellow villagers. These small businesses bring in more income for their family than the women could otherwise provide. This is the difference between their children going hungry and having enough food, between no school for the children and paying their school fees, between having a roof that blows off in a big storm and having a storm-proof roof. Over time, these businesses are the difference between poverty and having enough.

Microfinance also refers to savings, not just loans. Poor people often have erratic or seasonal income, and access to a safe savings account allows them to save money to even out their income over time, reducing the impact of emergencies and allowing them to put their energy toward their family and work rather than worrying about how to get by through other means, like buying and selling assets. It also gives them security compared to alternatives like stashing money in their mattresses where it can be stolen.

Microfinance has a strong track record. For instance, in Bangladesh microfinance institutions have helped 30 million people raise themselves out of poverty. Since microfinance banks charge a fair interest rate, the institutions earn money and can operate as a business, expanding if they are good at serving their customers and providing a fair return to their investors.

Microfinance Software

While the benefits of microfinance are great, there are several constraints on the growth of MFIs. Two important barriers are lack of capital and lack of software. The lack of capital is related to a lack of transparency; investors have a hard time finding and monitoring MFIs that are financially sound and socially successful. Without investors, MFIs cannot grow quickly. Lack of software is important for the operation of MFIs, enabling them to grow beyond small-scale operations that can be managed on paper or spreadsheets. MFIs with centralized software can operate hundreds of branches, reaching hundreds of thousands, or even millions, of poor clients.

These two major barriers are related. Centralized portfolio management and accounting software help MFIs know what is happening in their own business on a day-to-day basis, and can also be used to give their investors a view of the same information. However, most MFIs do not have access to good, centralized software that can be used to operate a socially and financially successful business.

The Mifos Initiative

The Mifos Initiative is a humanitarian FOSS project that aims to remove constraints on MFI growth. We make banking software that MFIs can use to solve their operational and transparency needs. MFIs can download Mifos Enterprise software for free to run on their own premises or they can run the software on the web with a paid subscription to Mifos Cloud, our software-as-a-service application.

One of the software’s main strengths is centralized management via a web-based user interface that MFI branch offices can access using a web browser. This allows MFIs to instantly know what is happening in all their branches, at the same time as minimizing the IT complexity and costs, since all they need at each branch is a computer with a web browser. This lower complexity enables MFIs to open new branches rapidly when they want to expand to meet market demand for their services.

The other main strength is business intelligence. We incorporate the Pentaho Business Intelligence Suite, a leading business intelligence tool chain that is also FOSS. This gives Mifos customers unparalleled reporting and data analysis capability, allowing MFI executives see their financial and social results clearly so they can steer their business toward profitability and effective poverty reduction.

Mifos also includes Grameen Foundation’s Progress out of Poverty Index (PPI), a statistical methodology for measuring an MFI’s social performance with the same rigor as it measures its financial performance. This allows MFIs and investors to know whether the MFIs products and services are actually helping people raise themselves out of poverty.

Successes and Challenges

We have had some great successes with Mifos: our software runs MFIs with hundreds of thousands of poor clients and its specialty is helping MFIs expand rapidly. Our customers are in Africa, India, the Middle East, the Philippines, and Mexico. We have won awards for our software, including the Java’s Duke Award in 2009.

However, with a project of this sort, the challenges are large. One particular challenge with Mifos is that developers cannot “scratch their own itch” by contributing to the project to solve a personal challenge. While people may use software run by a bank, no one ever runs banking software for their own personal use. And since Mifos is specialized around microfinance, which is used primarily by poor clients and has no online banking functionality, it is unlikely volunteer programmers would ever encounter this software in their daily life.

To work on this project, people must have a completely altruistic motive or else be paid to work on the project - there are no hobbyists using Mifos themselves. This presents a barrier to growth, since it is hard to find capable volunteer programmers with a solely altruistic motivation. Despite this challenge, we have found a handful of very capable, dedicated volunteers and are seeking additional people who wish to contribute directly to eradicating poverty from the Earth by helping MFIs be more effective.

We can use additional volunteer programmers, test automation developers, manual testers, translators, technical writers, user experience experts, product managers, and product managers. To help meet this challenge, we make a point of offering projects to match a volunteer’s desired level of involvement, from developing entire features, to improving user interface design, to fixing bugs that prevent new MFIs from using Mifos in their region of the world.

Volunteers are encouraged to contribute to Mifos because they are interested in helping others as a means to make themselves happy. Many people, especially open source enthusiasts, enjoy programming and helping others. Many open source projects are helping people in the industrialized West, people who have easy access to technology. We encourage open source and business enthusiasts to work to help people who have less access to technology, or who have bigger, more difficult problems. We can help our entire world society, our species, or even our planet. We believe it is a direct path to happiness for oneself and others.

Another challenge that we have, that we share with many FOSS projects, is that we are a small, but global project. This means that our programmers are in many different time zones, in the USA, India, Africa, and Europe. Making decisions in such an environment can be difficult, particularly because we want supple, flexible software that meets customer needs and is fast and fun to develop on.

A key idea that we have come to believe is that “Team = Product.” If the goal is for the software to exhibit certain characteristics, the team must also embody these same qualities. Because of this, we use the Core Protocols methodology and put a lot of care into our team’s shared vision. A team with shared vision can trust its sub-teams to make good decisions on their own without consulting with the whole group beforehand. Consistently making good decisions at all levels of a project leads to supple, effective, and fun software.

We also follow Scrum and Extreme Programming (XP) methodologies, which rely on high-quality decisions and shared code ownership to encourage innovation. These methods also promote heavy use of automated tests and continuous integration to detect problems right away; these are techniques that we have found helpful on a distributed team.

Why Are We Open Source?

The Mifos software is still a small project, comprised of about 40 developers on four continents. Some of our developers are paid by Grameen Foundation, others by MFIs, and still others volunteering their time. Our corporate partners include ThoughtWorks and SunGard, as well as our customer MFIs worldwide.

Grameen Foundation started out believing that just having a FOSS project would bring many individual volunteers to help us build and maintain our software. We labored under this misguided idea for several years, not attracting many contributors, until we started to understand the “scratch your own itch” problem discussed above. Eventually we came to learn that MFIs would contribute to Mifos, or pay others to do so, because they wanted to minimize their ongoing software maintenance costs. If they built their own software, or even made private modifications to Mifos themselves, they would be responsible for keeping the software additions running as Grameen Foundation released new versions. This would be difficult and costly for them. If they contributed the changes back to Mifos, there would still be some effort to ensure the software worked at each release, but the cost could be shared among many other MFIs who also wanted the same features. This reduces each MFI’s ongoing maintenance costs, and in our case, is one of the main value propositions to our customers.

Another way open source helps our business is that we can effectively use the same technique that MFIs use on our own software – incorporating work from other FOSS projects to enhance Mifos’ capabilities, and sharing the maintenance burden with other “customers” using the same projects. Several examples of this are the main components that Mifos is based on: Spring Framework, Hibernate, MySQL, Tomcat, and more recently, Pentaho. Like the MFIs that contribute money and work to us, we contribute money and work to these projects too, and by using this model explicitly we can develop it as a strength.

Lastly, from a philosophical point of view, Grameen Foundation believes strongly in transparency and freedom. FOSS embodies both of these values as well, so it is a natural match.

Conclusion

In this article, we have shown how Mifos is contributing to the eradication of poverty through an open source project and discussed some of the challenges and how they are being met. However, this approach and its lesson can be generalized to other problem areas, such as war, sickness, ecological devastation, and the survival of our species. Each of these areas is so large that businesses are vital to quickly developing the innovations, scale, and speed sufficient to reach a solution. In this issue of the OSBR, the approaches taken by various projects have been described and we encourage others to take these insights and apply them to further humanitarian challenges.

Author information

Adam Feuer

Mifos Initiative

Adam Feuer is Director of Engineering at Grameen Foundation's Mifos Initiative. He founded the network scalability solution provider F5 Networks, the internet service provider IXA (now part of Savvis Networks), and helped launch Amazon's grocery delivery business Amazon Fresh. He specializes in mission-critical business applications built using open source software and Agile methodologies. His passion is creating great teams to solve difficult problems.

Login

Related articles

Literacy Bridge, a non-profit technology startup, is using open source software (OSS), open hardware, and open content to solve some of the world's most challenging problems: global poverty and disease. Through the development and application of a digital audio device, Literacy Bridge's Talking Book Project is designed to make access to information available and affordable to those...

As open source projects mature, they tend to join or create foundations which manage the project's financial and software assets, provide a marketing and legal entity, and sometimes help to set the direction of the project. As non-profit organizations, foundations have a specific structure defined by the jurisdiction in which they were formed. This structure typically includes a volunteer...

On June 18, 2008, Mahshad Koohgoli, CEO of Protecode, delivered a presentation entitled "Practicing Safe Software: Good Software Record". This section provides the key messages from the lecture. Mashad's lecture discussed the drivers behind establishing software IP (intellectual property) pedigree as well as the preventive and corrective methods of detecting and managing...

On April 16, Doug Levin, CEO of Black Duck Software, gave a presentation entitled The State of Open Source Software and Corporate Software Development. This conference report presents the key messages and insights from the three sections discussed during the presentation.