Social Source Software

Pattern number within this pattern set: 
18
David Geilhufe
Social Source Software, LLC
Problem: 

Non-governmental organizations (NGOs) face significant barriers to using Internet technologies to improve their ability to fulfill their mission. In a technology environment dominated by Fortune 500 corporations and dot coms, NGOs lack access to technology that is affordable, serves their unique business processes, and evolves as nonprofits adapt their processes to interact with their constituencies using technology.

Yet NGOs are developing and deploying Information and Communications Technology (ICT) solutions at an increasing rate. Without improved access, NGOs will never achieve the full potential promised by the deployment of state-of-the-art, mission-focused, Internet technologies. Mission-driven NGO technology is at risk of forever being relegated to being generations behind the for-profit sector, consisting of obsolete, inefficient, and incompatible tools.

Context: 

Social source software development methodology consists of three components:
1. Open Source
2. Collaborative development
3. Software communities

Open source Information and Communication Technologies (ICT) expand potential impact, by enabling a larger segment of the NGO community to take advantage of mission-driven ICT innovations.

The open source technology development model -- where anyone can improve technology because it is liberated from the legal constraints of intellectual property, as long as improvements are subsequently contributed to the community for others to improve upon -- represents an unrealized opportunity for the nonprofit sector to develop and disseminate technology that is mission driven.

Collaborative software development reduces the high costs of mission driven ICT by diving up costs among partners. For example, two major food banks might build an internal management system to track donors, supplies and outcomes. A version of the software that meets one partner's requirements might cost $100,000. A version of the software that meets two partners requirements might cost $150,000. By using collaborative software development strategies, each organization has saved $25,000 that they can use to feed people, rather than software vendors.

Software communities allow ICT solutions to develop, emerge and evolve according to the needs of the community. If a number of food banks form a community, they can find partners for collaborative software projects, they can take existing software and extend it to serve unmet needs, and they can share the best practices that underlie their ICT solutions.

The social source methodology can be employed in a variety of contexts:

1. Sector-wide .NGO platform
Since much of the core technology required to build web-based, mission-driven ICT solutions for the NGO sector is common-- authentication, permissions, synication, content management, personalization, etc.-- a social source methodology could be used to build the technological underpinning of major web-based NGO applications. For example, and online community, community networking, and food bank management application could be build on a common .NGO platform. Each application uses the same shared components like authentication.

2. Specific NGO sectors
Specific NGO sectors like food banks, information & refferal organizations, etc. might band together to build social source ICT solutions for their sector. Thought they may not achieve the same economies of scale as a sector-wide effort, they still achieve cost reduction and expansions in functionality.

3. Vendor-Customer Relationships
Since most of the NGO sector does not have the capacity to develop software, they rely on requests for proposals (RFPs) and commercial software vendors. The social source development model does not require changes to this model, the NGO simply adjusts their RFP to reflect the requirements of social source development.

Discussion: 

Most NGOs already use the principles of social source development in their day-to-day operations.

**Open Source**
Social purpose organizations continually distribute best practices and evaluation data to one another. The best programs are often replicated to support more people, expanding mission impact beyond a single organization.

Most of the time, organizations do not keep their best practices to themselves in the hopes of extracting economic rents. It simply does not make sense to hold back a very effective domestic violence strategy that could save 100 women's lives for the hope of an economic payoff.

This same methodology is at the core of open source software. Software is availiable to anyone to download and use according to their needs. Similarly, that software can be improved and extended by organizations that had no hand in building the software in the first place.

When these improvements and extensions are availibale to others to download,

**Collaboration**

**Community**

Social source software development is compatible with the current marketplace for software development services. Social source requirements become part of a social purpose organization's RFP for software development services.

Solution: 

The social source software development methodology allows social purpose organizations to create IT solutions that solve the problem of maximizing mission impact rather than maximizing profits. Further, they can maximize mission impact within the same economic software development framework that they use today.

Pattern status: 
Released