Skip to content

Instantly share code, notes, and snippets.

@rmehta
Last active October 15, 2015 09:37
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rmehta/e13c47e51d19bba60957 to your computer and use it in GitHub Desktop.
Save rmehta/e13c47e51d19bba60957 to your computer and use it in GitHub Desktop.
What can we expect from Govt of India's new Push into Open Source

What can we expect from Govt of India's new Push into Open Source

The government of India has recently announced a big push into Open Source as a part of its Digital Initiative. For a country of more than a billion people and thousands of government organizations, this seems like a big and long overdue move. This will no doubt give boost to the faltering Free and Open Source Software communities in India. On the face of it, this initiative should not be written off as yet another bureaucratic exercise into nothingness, because the program seems to be headed by an able administrator, RS Sharma, who was a part of the massive Universal ID (UID) project executed by the government of India that has issued bio-metric based IDs to around 700 million Indians. Mr Sharma and has also managed to build an impressive and tasteful attendance application based on the UID infrastructure.

In theory this makes perfect sense too. If public money that could be either used to build a public or private asset, there is no doubt at all that the money must be used to create public assets. Here are some thoughts / suggestions from my experience in the Free / Open Source domain.

Make It Free

The first and well understood virtue of an Open Source application is that the source code is available for everyone to see and build upon. This also helps in avoiding reinventing the wheel every time. There is also another, less understood feature that open source software must also be well engineered, reusable, documented and near production quality. Some people call it "Free" software, becuase it means that a community is encouraged to use it without depending on the original developers. I think the government must also talk about the part otherwise, there is a possibility that some key components of the tools that will be built could be missing.

Engage a Community

Given the near infinite resources available at the hands of a powerful government, this software most likely will be built by its own organizations or give out large contracts to existing large IT firms. Now it is clearly not possible for this kind of initiative to be give in the hand of high thinking volunteers, these large organizations are not designed to build software in the open. The biggest problem here is that these companies may not want to engage a community, becuase if the knowledge goes out, then the commercial potential of a project will come down. This is a tough problem, I will be interested to learn what development model do they adopt.

Open Data

Along with being Open Source, the software that will be built should be internet ready with public APIs and Open Standards. If the government is really thinking of building the next generation IT infrastructure, it should make sure that the applications that are built use standardized schemas and are easily hackable by civic hackers.

One example is Public Transport data. There is a well accepted standard for publishing Public Transport schedules (GTFS), but there is almost no government body in India that publishes data in GTFS, even though a private company like Google can provide accurate data via GoogleMaps

Don't Reinvent

The announcement also says that the government is contemplating building a GitHub / Sourceforge like repository that will host all applications that will be built under this initiative. The first thought that will come to any Open Source developer would be, why not use GitHub. Or better, why not let each organization publish on its own, be it GitHub, or their self-hosted GitLab instance? By creating this "centralized" repository, we might see each organization mandated to publish a X number of repositories, no matter how meanlingless. It might be a better idea to put across a set of publishing standards for such software and let different organizations host it wherever they like. This will encourage diversity in platforms and that itself leads to much better software being built.

Looking Back, Looking Ahead

So far the government has a mixed record of implementing large IT projects and shockingly poor record when it comes to Open Source software, keeping aside Free Software for a moment. The Government's nodal agency, the National Resource Center for Free and Open Source Software (NRCFOSS) and the Center for Development of Advanced Computing (CDAC) have been publishing Free and Open Source softwares for a while, but one can neither find the repositories, nor the products, nor the documentation. Their flagship BOSS Linux Distribution is so popular that the last question on its forum is from 2010 and if you want to find the source of their cloud computing project (MEGHDOOT), then you might have to file a Right-to-Information application.

As an tax paying Indian citizen, it is very disheartening to see the state of affairs. Considering these poor standards, anything will be better. With a new administration in place, hopes are running high, but if the past is any indicator of the future, we should really not expect much, specially in a short time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment