Background
The social sector has been visibly slow on leveraging technology and the reasons for this are no secret – lack of adequate investments, limited capacity to implement change, inadequate training on technology use, weak post implementation technology support & service, rigid mindsets and more. While the challenges in the sector are large, fascinating and seemingly frightening, philanthropic push manages to attract only a handful of passionate individuals and even fewer numbers of individuals with technical strengths. The spread of technology and its use has been in pockets and often dependent on external benefactors. However, technologies maturing in the areas of internet, telephony, satellites, voice and image recognition, cloud computing, artificial intelligence, machine learning, analytics, point-of-use IoT devices etc. present an opportunity for societal platforms that can enable point solutions at a scale and affordability that was not possible earlier.
Approach
Social Alpha intends to build and evangelize usable, affordable and quality software to fill urgent and immediate gaps in the sector. Philanthropic investment in software needs to meet additional goals to create and strengthen societal platforms while providing recognizable value to consumers. Open source technologies and tools is now popularly accepted and help reduce the cost of developing new software by leveraging existing software to create something new and unique, helps drive high-performance modular architecture while the openness enables trust and inclusiveness. Software that is based on a product/platform approach using open standards for interoperability ensures that future consumers do not spend sparse resources duplicating existing software solutions and in expensive integration efforts. Open Source allows new consumers the freedom to run the software, study and modify the software, redistribute the software and distribute modifications to the software. Open sourcing software ensures higher trust, adoption, faster improvements, lower maintenance, expert scrutiny.
Social Alpha is committed to build societal software products/platforms using open source software. The products/platforms we create will also be open source software and this is our commitment of giving back to both the open source community and the social sector. Open source licenses are many, with licenses classified as Permissive, Weak Copyleft and Copyleft types. Building on top of open source provides a rich source of base software components with Permissive, Weak Copyleft and Copyleft type of licenses – this makes the software we build aka the derivative, to naturally and easily fit under the Copyleft type license. Both Permissive and Weak Copyleft type licenses allow for derivatives to be licensed as Copyleft type. Copyleft type licenses also prevent uncooperative developers from converting open source software into proprietary software while ensuring that modified/extended versions remain free for unrestricted public use, future modification and distribution. Copyleft type license is expected to help the body of work grow over time as usage increases while community contributions help improve and strengthen the solution further. Creating new software under the Copyleft type license maximizes the benefits to the social sector through initial lower costs as it builds on top of a large base of open source software and ensures visibility of improvements to its derivatives, thus making Copyleft type license the primary license choice for our societal platforms.
The need for affordable software-based solutions drives our efforts to maintain a corpus of relevant software solutions - components, products and platforms relevant in our sector. There may exist popular affordable open source components that partly or fully match the needs in the sector- these make it to the corpus of component collection for immediate and future use. For a need where no open source solutions exist, we create new open source components that are designed for affordability, accessibility and usability and these are built using existing and stable open source software – once created these too make it to the corpus of component collection. The component collection is a virtual repository of curated, useful open source software solutions – it aims to encourage usage (implement), modification, distribution of components/products/platforms and hence reduce duplication of efforts and resource spends in the social sector. Advancements in technology overtime will call for retiring older and less efficient components in the collection. This corpus of component collection is expected to continuously change based on finding new solutions from scouting exercises, creation of new open source components and retiring of older less useful components as part of housekeeping exercises.
For a software solution need expressed or identified in the social sector, Social Alpha’s first response will be to either recommend solutions prevalent within the social sector or recommend a solution within the identified corpus of components/products/platforms or scout for existing affordable, usable solutions in the larger software solutions space. We look to build only when the need is generic (multiple identified and/or potential users) and the market lacks an affordable, usable solution. We build for the ecosystem and hence we prefer to open source our work and encourage all ecosystem players to do the same. While leading edge technology is exciting, we prefer to base our work on modern, well understood and stable technology. The software we build needs to be stable, easily available, easy to use and operationally sustainable. This drives the need for a high degree of engineering automation, inter-operability, component-based design and building on top of popular open source technologies and build as a multi-tenanted solution wherever possible. Usability of the software is one key consideration for the solutions we build, and it drives our focus on the value that every user perceives, effective design of the UI, flexibility achieved through simple configurations and ease of deployment and upgrades.
Ideally platforms solving large scale problems will be able to demonstrate a growing user base and have multiple impact stories to tell. A large active user community, supported by a strong open source community of software developers and solution implementers is vital for a successful platform. While new platforms will initially be funded through philanthropic capital, it is key to understand and look for viable operational sustainability of the platform. Revenue models that allow for simplified and affordable use of the solution while covering operational costs and feature enhancement costs need to be considered. Subscription based access, implementation services, multi-tenancy, single stable code base, interoperability, open standards, component based, micro services, flexible infrastructure scaling will be some of the key tenets to ensure sustainable and affordable platforms.
Typical concerns around open source software are around support, security and data privacy. - Social Alpha will commit to support the new societal platforms that we create until such time there exist visible value to the user community. - While closed source software approaches security through obscurity, open source relies on transparency - nothing makes one intrinsically more secure than the other. The most active open source projects benefit from a large community that detects and responds to issues rapidly. The good news is that there are online databases and tools that track vulnerabilities in open source libraries. - Open Source software provides more control over data with the ability to adapt the open source software to comply with specific data privacy policies as well as the ability to easily audit/inspect the manipulation of data by the software.
Commitment
Social Alpha is committed to the open source solutions it builds by ensuring the following: • provide access to source code and documentation that enables contributions, public use, modification and distribution of the solution. • select and implement open source engineering tools for Source Control Management, Static Code Analysis, Configuration Management, Continuous Integration and Deployment, Container Management, Test Automation, Monitoring & Log Analytics, etc. • create and maintain staging environments for solutions – dev, QA, Production, and a demo environment if required. • assign named owners to key roles like product owners, SMEs, lead developers/gatekeepers, DevOps manager, community manager etc. • periodic and need based security checks and updates.
Conclusion
For Social Alpha, creating open source societal platforms is a natural choice as it encourages transparency, trust, longevity, collaboration, co-creation, diversity while ensuring stability, scale and sustainability. We are completely committed to building these societal platforms and we invite like-minded people to join us in solving societal problems through open source software development.
Feedback: vineet@socialalpha.org