Tuesday, February 11, 2020

Software OWNED of the People, BUILT 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 if used the right way. Much has been said also 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. However, 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 the software users (a.k.a the people), is also conceptually aligned to 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 examples include popular browsers like Firefox, Operating Systems such as Linux or 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. Whilst 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 whilst the aspiration of the former two companies is to make a profit, the motive of the Mozilla foundation that 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 the election management software. No bias should be introduced into the election process and that includes software that runs it, least it may be accused of having 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 use from companies such as Facebook, Twitter, Microsoft or Apple. They do not satisfy any of these concerns.

Such software should adhere to 3 principles of the title above that I slightly modified from the famous Gettysburg quote by a great democratic forefather Abraham Lincoln

Principle 1: OWNED OF the People

Whilst 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 that runs the government policy should ideally belong to the people. Any Citizen of the nation where it is being used should be able to get a copy of the code and analyze or get someone to analyze 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 freely by law. 

Principle 2: BUILT BY the People

This software cannot be built by one company or one ethnic group or one political party. Rather it has to be buitd 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 often unintentionally. But one problem is that opening up so largely causes analysis-paralysis  that results from 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 time after in Open Source is a meritocracy of doers. In other words, everyone is welcome to participate but those that contribute the most get more karma to make decisions.

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 review the decisions made transparently. Only by this public trial and review will you be able to trust the software. 

Open Source makes the users (voters) 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 not happy with.

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 thanproprietry software.

Sri Lanka’s history in Open Source Software

Sri Lanka happens to be a renowned international hub for Open Source developers. We have some very talented Open Source developers and award winning Open Source projects like Sahana that have helped save lives around the world, universities like the University of Moratuwa that provided the largest number of selected Open Source students for Google Summer of Code, Foundations such as Lanka Software Foundation that nurtures Open Source developers and internationally renowned companies like WS02 that support Open Source software commercially. 

Sri Lanka Elections, Lanka Software Foundation and Open Source

I have been observing the recent public commentary of Lanka Software Foundation’s involvement in building election management software and felt the need to explain the importance of Open Source in this context.  Lanka Software Foundation is a not-for-profit Foundation with the goal of creating Free and Open Source software and Sri Lankan talent. As full disclosure, I was a fellow of Lanka Software Foundation in the past and have been an Open Source project lead there.

Any decisions made are  a layered set of choices and sometimes you have to pick which layers got it right and which could do with improvement. The important thing is to have a foundation for improvement and feedback and this is what Open Source Software projects provide. Below are some concerns you might have and how Open Source handles them:

Is Open Source or Proprietary software the best for this? For the many reasons I have already articulated above I would choose Open Source software to promote the freedoms and transparency we need of such software.

Who are the people building this? I don’t know if I can trust these people. There is nothing stopping you from contributing and becoming one of these people yourself and getting to know the others on the public mailing list used to build, test, audit and transparently document the software.

I think the way they have built is not right. It is biased! Feel free to join as a Citizen tester and give your feedback. Spend your energy contributing and getting involved to correct anything you do not like. Participation is what it is all about. No one here is going to build biased software in plain sight, where every decision and every piece of code is transparently made in a public place as is mandated by Open Source.

The people developing this software are from one ethnic group or one political class. So join and make sure your group is represented and I am sure others will do the same to represent themselves, but first represent yourself.

Person X knows Person Y and Person Z probably bribed Person Y.  Well do you know for sure that this is what happened or is it some fake news being spread? The important thing is that at the end of the day what is produced is transparent in its working, and if there is any undue influence you can work to correct it.

It does not matter how the software is built but rather how the data is handled when it is run for the election. There is technology today like Block Chain and Quantum computing that can even address this from a software design perspective. However, the election commission needs to not treat this any different. Just apply the same process as they do for the current proprietary systems they have been using. I believe this is what has taken place but the election commission team needs to upskill their development team to adopt to this new technology.

In Summary

Progress is about moving forward. We need to work together to build the nation to compete in a very competitive global economy. The choice to go with Open Source was a good foundation for election software and is a good step forward. I believe better ICT solutions, especially with Open Source technology which fuels some of the latest innovations, is critical for our country to move forward rapidly. 

If you don't like it you are free to participate in Open Source design, development or testing. There is nothing stopping you. I am not just talking, I am "walking the talk". I have started contributing to the election software testing.  


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)

About Author

Chamindra de Silva has been working in the ICT industry for 20 years predominantly with Virtusa where he is presently a VP, Engineering based in London. After the Asian Tsunami in 2004 he got involved in Open Source source software, where it was applied for humanitarian response and lead the Sahana Disaster Management project that has been deployed to support disaster response around the world and won this Sri Lanka n innovation many international awards. He continues to be a Director on the Board of the Sahana Foundation. He is a graduate of Oxford University with a degree in Engineering and Computer Science.