Tuesday, February 11, 2020

Software of the People, by the People for the People




“Why all Government and election management software should be built the Free and Open Source way”

ICT is increasingly playing a larger part in lubricating the democratic process and has tremendous potential to further enhance it. However much has also been said about the exploitation of software such as Facebook and Twitter to spread fake news and negatively deviate the public opinion of an electorate. We sometimes lose sight of the tremendous good software can provide to improve transparency, bridge communities and bring more power to the people. Unfortunately, software is complex for the lay voter, so how do we make sure it does the right thing and has no “Wizard of Oz” behind the scenes pulling the levers of bias?

In this article I hope to explain that a software development paradigm that has its origins in freedom and giving more power and rights to software users (aka ‘the people’) is also conceptually aligned with building our government systems in a democratic nation or republic.

This software is called Free and Open Source Software (or FOSS or Open Source for short), where Free stands for Freedom and its examples include popular browsers like Firefox, Operating Systems such as Linux and free online encyclopaedia Wikipedia. Firefox might not be your preferred choice for a browser and you might be using Chrome or Internet explorer, however there is a big difference in how Firefox is built. While the other two browsers are built by companies such as Microsoft and Google who have the final say, Firefox is built by a diverse community of volunteers and while the aspiration of the former two companies is to make a profit, the motive of the Mozilla Foundation which coordinates Firefox is to protect your privacy and to make sure the Internet is kept free. So if privacy and protection of your rights is your priority, then I recommend you go with Open Source Firefox.

To pick an acute example in Government, if there is any software that should go through similar scrutiny in a democratic nation it is election management software. No bias should be introduced into the election process and that includes the software which runs it, lest it be accused of playing a role in king-making.

Such software should not belong to one company; it cannot be opaque on how it works and it should be built by a representative diversity of people representing the electorate. Such is not possible with popular software that you getfrom companies such as Facebook, Twitter, Microsoft or Apple. Such software should adhere to three principles of the title above that I slightly modified from the famous Gettysburg quote by Abraham Lincoln.

Principle 1: Software (Owned) of the people

While most software in the world that you are used to such as Microsoft Office belongs to one company (you never own it, instead you lease it), who decides how the software should work. The software which runs Government policy adn the election process should ideally belong to the people. Any citizen of a nation where it is being used should be able to get a copy of the code and analyse it or get someone to analyse it on their behalf. For them to do this freely they need to have ownership of the software for free. Open Source software is built on the premise of using copyright law to make sure that all users have the right to get the software code and inspect it freely by law. Anyway Government software is ultimately built with Tax payers money so it should be a public good and you should have every right to inspect it.

Principle 2: Software (Built) by the people

This software cannot be built by one company, one ethnic group or one political party. Rather, it has to be built by a diverse group of interested parties. Any citizen who has the required software development skills should be welcome to participate in its development as a public service. The entire process of decision-makers should be very transparent so any biases are removed, if they get introduced intentionally (or unintentionally, as often is the case).

Open Source welcomes open participation, but one problem is that opening up so largely leads to analysis-paralysis which occurs when there are too many decision-makers (or naysayers) and less actual doers. This is the political equivalent of a hung Parliament. Instead, what has proven to work time and again in Open Source is a meritocracy of doers. In other words, everyone is welcome to participate but those who contribute the most get greater power to make decisions. IMO Fair enough as it still does not let us take away the right to audit the result.

Principle 3: For the people

The entire electorate should be invited to test the software if they wish to make sure it is suitable for their understanding of what a democracy should be. They should be welcome to provide feedback as users and be able to review the decisions made transparently. Only through this public trial and review will trust in the software be built.

Open Source makes the users (or Citizans) a valued part of the community and your inspection here does not have to be at a skin-deep level. You (or a developer you trust) have every legal right without asking for permission to take it apart and inspect it for anything you are unhappy with and recommend and contribute alternative approachs.

Free and Open Source software and the foundations that operate them follow the principles above and though the exact process by which the Open Source software is governed might vary slightly, it is by far better, more transparent and much more auditable by the public than proprietary software.

Security not through Obscurity

Many might come to an opinion that exposing the source code and working of such election software will make it vulnerable to hacking. Whilst that might be the case with a physical safe, this is not the case with software as just as there are people who can find hacks, there are also many who can participate and contribute a patch to address that vulnerability immidiately (unlike a safe). This is one key reason the Open Source Linux operating system and BSD Operating System are the most secure Operating Systems in comparison to their proprietary counterparts.

Governance of software for Governance

The exact governance model for Open Source varies through at the end of the day the end-result is transparently auditable by copyright law. On one side of the spectrum are commercial open source models for companies like RedHat/IBM/Google/AWS and on the other is the pure community oriented meritocracies such as the one run by Debian and Apache.

The latter is more aligned to Gov Software as it has a lot more transparency where decisions are voted on and documented transparently and includes deciding the annual leader, electing sub-commitees, on the roadmap, new polices, design and all the way down to what specific lines of code go into the product, but all these decisions are made a lot faster digitally.

In Summary

Free and Open Source Software has it’s root in Freedom and is naturally aligned for the development of Goverment software, partiularly that which run the election and policy making process. With such software all Citizens have certain inalienable freedoms protect by (Copyright) law to ensure there is no bias and to improve trust. You find suprising parallels to democratic processes in how such Open Source global communities like Apache and Debain run, but decisions here are made a lot faster digitally. One wonders weather we can make Government itself run a lot more effeciently as a Open Source project :-)

References
Defintion of the Four Freedoms of Free and Open Source Software https://en.wikipedia.org/wiki/Free_software#Definition_and_the_Four_Freedoms
A specific version fo this was published to the Financial Times http://www.ft.lk/columns/Software-owned-of-the-people-built-by-the-people-for-the-people/4-695920








Friday, October 02, 2015

#SustainableInnovation and the next generation innovator

Elaborating on the UNDP Social Good Summit Presentation (http://tinyurl.com/sti4sdg), we need to act to bring nature back into harmony with us humans. The world is in a decline due to our unsustainable use of it's resources. No one will take action unless we as individuals foster the right thinking and action in our homes, companies and public orgs. Corporates are stuck in their microcosms of competition to deliver pure profit/shareholder value. What is the point of turning in a profit/shareholder value, if you end up with a destroyed world where that value means so much less. Innovators have a key role to play to help connect the dots and disrupt unsustainable processes and technology with sustainable alternatives that creates multiplies in the supply chain. Innovators are often too passionate about technology that they forget to think about the big picture of the impact that that innovation will have on the world. Innovation = #SustainableInnovation is the new way we should think as scientists, inventors and innovators.

Here how to identify unsustainable process and technologies that you can disrupt with sustainable innovation. Often this also results in costs savings to the bottomline as well, but it should not have to:

  • What is the waste the business process produces? How much can that amount to in a year? What new tech can be applied to reduce wastage? ( e.g. Can we have more just in time approaches) 
  • Can the waste of one business process be recycled for another process also saving resource costs? (e.g biofuel created by waste) 
  • How much energy saving does applying technology Y provide against previous technology X. TCO should always factor energy used. (e.g. Moving from physical server machines to the cloud) 
  • How much no-renewable raw material is needed to create energy for the business process (e.g. can we add solar?) 
  • What if the product/service line becomes tremendously successful? Can you sustain growth sustainably? How can you create economies of scale such that the resource impact is better than linear? 
Become a Next Generation Innovator, become a #SustainableInnovator, or your generation will not have a world to enjoy your success. It is up to you.

Monday, September 28, 2015

Ideas on Accelerating the SDGs using Technology and Innovation


Recently I was invited to present at an UNDP organized forum on the day of the launch of the new SDG (Sustainable Development Goals) to talk on how technology and innovation can make a different. The presentation is given below and key points that is contained:

  • IPAT equation and how technology can contribute to reduce T (emissions/consumption) but also A (consumption/person) through social engagement
  • Also noted that we need to connect the dots from the 18 SDGs and the many 169 Targets to simple day to days actions individuals can perform
  • My idea for engagement was to use a gamifiied Mobile experience similar to Nike Fuel at different levels from kids (Plants vs Zombies experience). Possibly by planting a tree you can earn 2 SDG game points or by reducing energy consumption. Need to think through how you would validate it though.
  • Also we need to connect the dots to online purchase. Think if Amazon had some SDG ratings for the goods you were planning to purchase. Wouldn't knowing that the products were build by companies that thinks like "we do not test on animals", "no toxic materials used" validated by a 3rd party like the UN Global compact or similar

The presentation explains this in more detail (Slide 9-12)


Friday, June 27, 2014

Sahana Camp and IOTX Events


We had a great series of events at the IOTX (http://www.iotxconvention.org) with multiple events such as the Sahana Camp, OASIS CAP codefest, Sahana Training and ISCRAM. We had representatives from US Embassy, UNDP, Red Cross, IUCN, UNICEF, ICTA and World Vision interested in Sahana








Had an opportunity to recap the last 10 years of Sahana evolution at a keynote I provided. Given below are the master slides if you are interested in seeing how Sahana evolved to where it is today


Great team work from the Sahana community with participation from contributors who joined us in Sri Lanka from US, UK, Germany, New Zealand, India and Australia


Thursday, January 27, 2011

Learning Software Development the Open Source way: A student guide

A book I co-authored with Professor Allen Tucker and Professor Ralph Morelli targeted mainly as a semester course for students was recently published by Chapman and Hall/CRC as part of their innovations in software engineering series and is available on Amazon titled "Software Development: An Open Source Approach"


Background to book and value to students interested in a career in IT
Participating in Open Source is a fantastic way for computer science students to get some hands on experience in a live Software Engineering project, especially before they start a professional career in Information Technology. Participating in an Open Source provides invaluable experiences that closely emulates what they have to face in the real world of professional software engineering, which a pure academic project or simulated mock project cannot offer. Additionally internships with software engineering firms often does not sometimes provide the full range of experiences needed as students are rarely permitted to participate in the critical parts of a billable client project thus their access and exposure is often restricted. Open Source projects however welcome contribution and the sky's the limit in terms of what you can contribute. You are valued more for the quality of what you can do, rather than how many years of experience you have under your belt. Participating in a global Open Source project also is not just about coding, but also about getting exposure to some of the invaluable soft skills needed to becoming a well rounded professional software engineer or architect. This includes interacting with diverse people from developers to users, documenting for those different audiences, understanding software usability, software intellectual property boundaries and learning how to promote your product and yourself. And if the student does well, it also gives them valuable credentials, referenceable experience and a global recognition that could serve to rapidly develop their career. Invaluable not just for students but even professionals who have still not got into Open Source. The book is a hands-on guide for you to get involved and becoming a valuable part of a Open Source community. Hope you enjoy it and do send us feedback for our next edition.