Monday 10 March 2014

Ghana lags behind in Open Source Development

Usage of Open Source software in Ghana, while growing constantly and rapidly, is still very much in its infancy. This is perfectly normal and characteristic of the adoption patterns of Open Source software all over the world. Open Source comes like a thief in the night and before you know it, it's all over the place. A typical example is the android operating system. Isolated programmers and system administrators, small, medium and large companies as well as students and hobbyists are the primary users of Open Source software in Ghana.

Ask the CEO of a large multinational organization in Ghana whether his company uses Open Source software and his answer will most likely be, No. Ask the techies at the same organization whether they use any Open Source software and from time to time, you'll hear, Yes!However, even though Ghana's usage of Open Source software follows the pattern that is seen in many other places there is a distinct lack of adoption of Open Source from within the developer community in Ghana. 

In February 2014, Edem Kumodzi and myself paired to give a presentation on Django Programming framework at Google Developer Day. The plan was to spend about 30 minutes on the slides talking about the advantages of django , features , popularity of python and a short demo on a site I built with Django then spend the remaining one hour on a practical hands on session with the participants. Our first part of the presentation went really well but the practical session was an interesting one. Before getting our hands dirty with the codes, we first had to make sure our participants had installed all the prerequisites eg python and to our surprise about 85% of the developers were running windows operating system and the remaining 15% running linux ( eg Ubuntu , Fedora , MACOS ). We spent about 50 minutes of the one hour trying to set up the machines of the windows users for django development. As for the linux users it was quite easy since they had python pre-installed. This is normal i guess ? Yes it is normal for everybody else to use windows but for software developers it is not. Linux operating systems are the best when it comes to advanced web and software development.  After the event i came to the realization that there is a big problem and we have to go back to the drawing board and get everyone interested in free software and open source development.

 Why Open source ?

The first benefit and the one that is most often cited, is that Open Source software is free. This follows from the fact that the software is freely distributable. Strangely enough, this has not prevented people from charging for free software and the ability to charge for free software is specifically allowed in the most common Open Source license, known as, the General Public License. This suggests that free software is free in the sense that there are no restrictions being imposed on it as opposed to the situation where no money is charged for the software.

Another benefit of Open Source is a side effect of the availability of the source code. Other people are free to improve the source code as they see fit. It has been empirically shown, with the Linux operating system source code, that the availability of source code leads to more rapid development, more robust source code that crashes less often, quicker turnaround time for fixing bugs, fewer security holes and vastly increased customizability. If, for example, the Ghanaian government wanted a standard word processor ( MS word widely used now) which could be used by all government officials that has been tailored for each government department, an Open Source word processor could be modified to suit the exact needs of the government. In fact, this is exactly what the German government has done with regard to a program that will replace Microsoft Outlook in the German government.
The particular reasoning behind the German government funding development of an Open Source project can be explained as follows: Open Source is a way of cutting costs from software licensing; a capacity-building strategy whereby the German software industry can grow, in terms of manpower and expertise; and lastly, a means to ensure national security by eliminating opportunities for foreign governments to introduce backdoors into software that will be used to conduct espionage. Munich says the move to open source has saved it more than €10million Euros and thats how they kicked microsoft out of the city. Read more here Now you can imagine the amount of money African governments will be saving if they choose to go open source.

Jon “Maddog” Hall (In the picture on your left) Executive Director of Linux International also said there are many good reasons for governments to be running open source software, the primary reason being security. He cautioned, however, that “security is about more than just keeping secrets safe. We have to ask the question ‘can our government systems survive if our software systems collapse?’ If you’re depending on a particular company to run your government and you don’t have access to the source code you don’t have security.”

There have been major setbacks in the open source movement here in Africa , late last year South African Department of Basic Education banned Free and Open Source Software in SA Schools and mandates programming an ancient, moribund language in contradiction of government's own policy. A good friend and mentor of mine Derek Keats (On my left hand in the second picture) spoke out against it and you can read it here  Two of the many interesting points he raised in his own words were "The decision to allow only a single office suite from a single license rental company (Microsoft) is anti-competitive, and denies school learners exposure to a variety of viable alternative office suites that could indeed run even on said operating system, and also denies other companies access to the school environment. " The directive locks school children to a particular company's product, hiding from them that there are viable alternatives that they can have full control over, and that does not lock them into being customers of a particular license rental company (indeed that do not extract rents from artificial scarcity at all and that respects their freedom). "

In Ghana's case it is even worse since we do not have any open source policy that I know of and also in  schools students are introduced to Windows, Microsoft Suits and other proprietary systems. When it comes to programming Visual Basic , Microsoft dot net etc Most of the I.T lecturers themselves are running windows so  I keep asking myself this question Where is Ghana’s Gold: In our earth or in our minds? 

Somewhere in July 2012 , as a move for me to get most people interested in linux here in Ghana. I was so ambitious to launch a linux based operating system in other words another linux distro called Anansi OS. The idea was for it to come pre-installed with the basic software we use in Africa like office , media players etc and in the future with the help of more code contributors add a bundle of educational tools targeting our educational system in Africa and possibly with a local language  ( Swahili and twi etc. ) keyboard layout and localisation of some of these educational tools. This project was faced with a massive backlash from the Ghanaian developer community. People raised both constructive criticism and also others simply lambasted the project. It created one of the longest threads on our Ghanaian developer mailing lists people raised questions on the tools i chose , if it had any unique selling point etc I finally decided to put the source code on Git for other devs to contribute to make the software evolve and till date not a single developer has followed up on the project or contributed code as you can see here https://github.com/raindolf/Anansi  This tells you the problem with the dev community. More talk and less action. There is no spirit of collaboration. As a result I hardly attend dev meetups and also opted out from the linux user group.

Open source development is limited in Ghana because programmers are too busy trying to earn a basic living than to donate their time to creating open source code. The main carriers of open source in Ghana will be senior devs like Alfred Rowe  ( Senior Ruby dev ) , Saya guys ( Robert and Badu ) and many more starups building software on complete open source technology stack. The Ghana-India Kofi Annan Centre of Excellence in ICT (AITI-KACE), Ghana's first Advanced Information Technology Institute is the only institute that runs open source operating systems completely ,from their administrator computer to the students and in this way they do microsoft a big disservice.  

I continuously put my money where my mouth is. I have open sourced each and every project I have worked on personally. Open this link to view my repositories.  My believe is that to get more people to adapt to open source we have to start from the grass roots. The absence of many viable community of FOSS developers in Africa is the biggest weakness of the FOSS movement in Africa. This is because the availability of a pool of developers, testers, documenters, translators etc is drawn from the community. I have also presented on how Africa can be an open source society. 

Lets start from introducing the younger generation to open source and the benefits. I would finally want progressive people to join me to start a movement here in Ghana. Our mission will be at least once or twice every month we will choose and go to a random Junior High School or Senior high school and for about 3 hours on a saturday introduce them to the linux shell or open source programming. In the near future we will partner with major stakeholders to introduce open source policies into the Educational curriculum. Send me an email here iraindolf [ at ] gmail.com if you want to become a part of this new linux movement. 

"We want knowledge, we want information, we want freedom. Hinder us not and aid us if you will. But dare not call yourselves civilized while we remain where we are." - Guido Sohne