How open is OpenForge
Earlier this year, the National e-Governance Division launched OpenForge, a platform for open, collaborative development of e-governance applications. While opening the source code of government applications is a paradigm shift, is it open (and inviting) enough for the tech community to collaborate?
The rise of the Digital India programme has put across the message to all Central and state government departments to go digital. In 2015, the Ministry of Electronics & IT, Government of India (MeitY) rolled out a policy titled Collaborative Application Development by Opening the Source Code of Government Applications (aka Source Open policy), which provides a framework for archiving custom-developed government source code in repositories and opening these repositories for promoting reuse, sharing, and remixing.
As a logical flow in the activity for the implementation of that policy, in March 2017, the National e-Governance Division (NeGD) announced the launch of OpenForge, a platform for open, collaborative development of e-governance applications. Through this platform, the government wants to promote the use of open-source software and sharing of e-governance-related source code.
The project is touted as a paradigm shift towards transparency and collaboration by the government. YourStory spoke to OpenForge’s Product Architect Amit Ranjan, and Technical Product Manager Amit Savant, to know more about the project and how it is shaping up. We also got in touch with a few techies and community leaders who appreciated the initiative but also expressed concerns about it.
With the Digital India push, government departments have started creating software assets by developing custom applications. However, many software applications are being developed from scratch, resulting in duplicate efforts. The lack of sharing of the source code prevents the code from being reutilised and analysed for further improvements. Further, the source code of these applications is not archived and maintained using standard practices for future releases. These inefficient practices lead to wastage of time, effort, and public money.
As a result, OpenForge was launched following the announcement of the Source Open policy. The government is looking to achieve the following by opening the source code:
- Develop successful, scalable, high-quality e-governance applications in a collaborative manner
- Encourage creativity in the application development process by encouraging collaborative development between government departments/agencies and private organisations, citizens, and developers
- Reduce costs and development time and improve the overall quality and security through increased transparency and mass peer review
Team OpenForge further believes that hosting the source code of these applications on a single common platform available to government departments/agencies and the general public(with necessary access controls) will result in discoverability and faster application development through code reuse and collaboration.
Regulations and working @OpenForge
The central theme of OpenForge is e-governance, so it requires that the hosted project be related to e-governance. This is not a place for private companies, communities, or individuals to host their private source code repository. Only government departments can have private repositories here. Private companies and individuals must have public repositories. These are the only two aspects that are verified while approving a project on OpenForge. On OpenForge, projects, their members, and activities are not regulated or controlled in any other way.
The decision whether or not to use OpenForge (and to what degree) rests with the respective project owner or department. They can decide what project source code they want to share and how they want to leverage the community to improve the code base.
The tech stack
According to the online portal OpenSourceforu, OpenForge is based on open source Tulipap. The platform leverages PHP to accept projects including applications, frameworks, libraries, SDKs, and APIs. The portal further mentions that OpenForge primarily serves the code-sharing model for two areas—Government to Community (G2C) and Government to Government (G2G). It says,
The code available under the G2G section is private and controlled by government bodies, while the G2C area is vast enough to bring government and community members under one roof and provide a public repository platform similar to GitHub.
Bringing the change of mindset
The OpenForge team aims to have as many e-governance projects as possible on the platform (at least as a private repository). Amit says,
We want to promote a culture of treating the software code like an asset. This will need internal evangelism. We plan to undertake a systematic on-boarding process for government departments. We will visit various departments and their IT staff and acquaint them with the platform and its advantages. We will provide the necessary technical support to bring them onboard.
He believes there is a lot the government software application can adopt from the open- source movement. According to Amit, community contribution can be another important aspect of open source, which the government application has not yet leveraged. He says, “There is no dearth of young and enthusiastic talent in academia and industry who are willing to contribute to the government applications. We sincerely hope that OpenForge bridges these gaps between e-governance applications and the open-source domain.”
The progress so far
It is still early days for OpenForge. Many projects are using the platform for communication, brainstorming, and documentation. The source code may follow. Some other projects seem to be in an initial setup stage. Amit says,
“It is worth pointing out that the very concept of opening the source code of government applications is a paradigm shift. Governments often work in closed silos and to get them to even understand and buy into this concept is not easy. Given that, we think the activity will gradually pick up.”
The OpenForge platform currently hosts over 70 active projects, more than 60 percent of which are public. Many of MeitY and NeGD’s internal projects such as DigiLocker and Government eMarket Place, UMANG are using OpenForge as a private repository. OpenForge itself is also hosted on OpenForge. The OpenForge team believes that the number of projects will go up as they have started reaching out to more government departments to utilise the platform.
Community and government—so far so good or not?
The team has recently created user forums for people to discuss features and help each other with issues. The public issue tracker lets users test the platform and report bugs. OpenForge is moving towards being an open-source platform inviting community contribution, for which they will soon formalise the structure and process.
However, the community sees friction in the current arrangement. A community lead from Bengaluru who spoke to us on condition of anonymity was surprised that the government isn’t using GitHub when it wants to engage with the community (since GitHub already has a healthy base of users). We found out that the FAQs on the OpenForge website provides the reason for the same as,
“Platforms like GitHub and SourceForge are indeed very popular, but they don’t focus on government applications. OpenForge is a specialised platform solely for Indian e-governance and civic applications. Also, many government departments may not be able to use these external platforms due to restrictions on sharing of code/data on foreign-hosted servers (outside India). OpenForge will enable these departments to collaborate and adopt open-source development practices in a free manner.”
However, GitHub has a dedicated portal for government projects, which solves the concern of foreign-hosted servers by giving the option to run GitHub Enterprise on local servers as a virtual appliance, on AWS GovCloud, or Azure based on the security requirements.
Another techie said that though it’s a brilliant initiative, it doesn’t hold much interest or relevance for a developer. He adds, “It doesn’t seem to be open enough for me to contribute. Community discussions are a big part of the GitHub platform. In addition to putting up the source code, a dedicated team is required to drive the discussions to give more reason for the community to participate.”
The co-founder of a Bengaluru-based tech startup mentions that discovery will remain a big issue. He adds, “GitHub is much more than code, it’s an ecosystem. Building a separate platform is reinventing the wheel to an extent. While the intention behind OpenForge is great, the execution isn’t ideal.”
Some of the other barriers which were pointed out are as following:
- Even if a department gets access to the source code of an app but has its database stored in a different structure (and/or format), it’ll not be of much use. So, it’s important to get that database right first.
- Even though it adds flexibility, keeping both Subversion (SVN) and Git repositories makes little sense given how different both the architectures are.
Interestingly, Amit seems to acknowledge some of the concerns and says,
It is also important to build the credibility of the platform so that it is openly adopted. The credibility comes through the usage of the platform by the most popular applications and departments. So, we will especially try to bring the bigger government departments and well-known applications. We want them to be our poster projects.
What’s happening elsewhere?
The Singapore government is using GitHub to collaborate on its Government Digital Services. There’s a considerable difference between the way Singapore and India provide access to and visualisation of the data.The USA has also listed some of the projects on GitHub. Country’s(US) open data portal doesn’t rank high in terms of its user-friendliness but their data visualisation platform seems to be making up for it. In addition, many governments in Europe and America have come up with a policy to adopt open-source software and to open up the source code of government applications. These activities are mainly on platforms like GitHub and SourceForge (e.g. the US government has a code repository called code.gov which aggregates federal projects, but the code is hosted on GitHub).
Amit claims that OpenForge is one of the first of its kind where collaboration platforms from government entities are concerned and is likely to be a trendsetter in the e-governance domain.
For now, one can’t deny that OpenForge is an initiative bridging the government-community gap while encouraging collaboration among government departments and addressing key issues like duplication of efforts.
If you have a suggestion for OpenForge, please share the same in the comments below. Let us know what you think about this platform.
Here are examples of the projects at OpenForge:
- Mobile App from PSPCL (Punjab State Power Corporation) for recording electricity meter readingshttps://openforge.gov.in/projects/gismeterreading/
- Flyover Case Management System (for Ministry of Roadways) https://openforge.gov.in/projects/flyover-roadready/
You can find the list of updated projects at- https://openforge.gov.in/softwaremap/trove_list_sort.php