In March this year, the government of India launched openforge.gov.in as an official platform to promote the ‘open, share and collaborate’ philosophy among its various departments. With a GitHub-like model, hosted within the country, the new platform is aimed at preserving and reusing the software assets in e-governance applications in the country.
Collaboration and sharing are the two ancient practices among Indians. But when it comes to opening up the source code of government applications, you will rarely find state departments evincing much interest. A large number of multinational corporations, on the other hand, actively support community efforts today and participate in significant open source developments to attain technical superiority. This is why the government has now launched OpenForge.
“The objective of OpenForge is to promote the reuse of existing applications,” explains Radha Chauhan, president and CEO, National e-Governance Division (NeGD). “Open source code will help in developing successful, scalable, high-quality e-governance applications in a collaborative manner. It will also encourage creativity in the application development process by encouraging collaborative development between government departments and agencies as well as private organisations, developers and citizens,” she says.
The Ministry of Electronics and IT (MeitY) assigned the OpenForge project to the NeGD team that is responsible for having introduced the nation’s digital locker system, DigiLocker, last year. Not only has the OpenForge platform been designed to support open source, but it also happens to be an open source project on its own.
Open source technologies: Behind the scenes
The NeGD team has used the open source collaboration platform Tuleap to build the repository solution. Under the hood, there is the LAMP (Linux, Apache, MySQL and PHP) stack.
“To jumpstart the process, we wanted to select an existing open source application rather than build one from scratch. We evaluated various applications on multiple parameters,” says Amit Savant, technical product manager, NeGD.
There were two main challenges for the NeGD team in developing OpenForge as a successful open source offering. First, the platform should not be a mere version control tool but must offer rich collaboration features for software development teams. These should include issue tracking, forums, email lists, documentation and releases. Second, the application must be very customisable. It must also have a vibrant community with frequent releases to ensure that NeGD got timely support for any issues. Such support, updates or bug fixes also needed to be well documented if NeGD planned to customise and own them. Last, but not the least, NeGD wanted to select a platform built using tools and technologies that its technical team was conversant with.
To achieve what was planned, the NeGD team evaluated and experimented with SourceForge, GitLab and Tuleap. But Tuleap emerged as the ‘more suitable’ in the list. “We evaluated and experimented with SourceForge, GitLab and Tuleap. And, finally, we found Tuleap the most suitable as per our evaluation criteria,” Savant says.
Attracting 70 projects in less than 100 days
OpenForge currently hosts over 70 active projects on its platform, and over 60 per cent of the total projects are in the public domain. Some of the important projects by the Ministry of Electronics and IT (MeitY) and NeGD, including DigiLocker and Government eMarket, are already using this platform. Besides, the OpenForge project itself is hosted on the online platform.
Debabrata Nayak, project director of open source collaboration at NeGD, considers OpenForge as a systematic change that required the support of the administration. Nayak, who also leads the technical team of the DigiLocker project, highlights that his team received complete support from the MeitY and NeGD.
Apart from the departmental support, it was the open source policy of the government that helped the development of OpenForge. As part of the Digital India initiative, the Indian government had released the policy titled ‘Collaborative Application Development by Opening the Source Code of Government Applications’ back in 2015. “The policy provided a solid foundation for OpenForge. It listed the basic principles and elements for building the envisioned platform, and provided a clear idea of what the result ought to be,” states Nayak.
Administrative challenges before the launch
While the open source policy enabled the speedy process of building OpenForge, it was difficult to highlight the significance of the initiative in order to create a buy-in from other government departments. “The main challenge was that the idea itself is of a very technical nature and fails to resonate with most of the decision makers,” recalls Chauhan.
The technical team very often fails to explain the tangible benefits of such an initiative. Therefore, the team used a sample figure by quoting the software applications developed within NeGD using an open source stack. “Once we showed the benefits in terms of the money saved, it was very easy to highlight the importance of the initiative,” Chauhan told Open Source For You.
Once the launch was planned, the team began the internal testing phase for OpenForge. The prime objective was to “create a simple product without compromising on rich features.”
“We wanted OpenForge to be simple for novice users yet provide flexibility to all project teams to achieve what they want,” says Amit Ranjan, project architect for OpenForge, NeGD.
How it differs from GitHub
One question raised by the Indian open source community is: What makes OpenForge different from GitHub?
The open source policy by the government encourages the use of open source in as many e-governance applications as possible. But not every e-governance project is going to be open source. Some may remain private. OpenForge has thus been created to provide a collaboration platform for both these public and private projects. The open source projects can very well be posted on GitHub, but enterprise level private repositories are not free on GitHub; they are available at a cost. Moreover, the team wanted the repositories of private projects to be hosted within India. It has therefore leveraged the state-run data centre provided by National Informatics Centre (NIC), which may not have been possible with GitHub. This is the prime purpose of not using GitHub and creating a separate platform.
“Feature wise, GitHub is more a code sharing and version control platform. It keeps on receiving new features continuously. Compared to GitHub, OpenForge supports more rich collaboration features such as various trackers to track bugs and requirements, documentation, forums, mailing lists and release management,” Ranjan emphasises.
Multifarious efforts to get contributions
NeGD has planned some key initiatives to encourage various IT teams and the community to share their code on OpenForge. Nayak says that his team is looking at internal evangelism for state level contributions as well as developing a systematic and constructive process to receive contributions from the community. “We want to promote a culture of treating the software code as an asset. This will need internal evangelism,” Nayak told Open Source For You.
The team is also planning to add credibility to the project by featuring some of the high-profile projects done by the government. “We will especially try to highlight work done by the bigger government departments and the well-known applications,” Nayak adds.
For a successful open source based future
Alongside community contribution, the main focus of the platform is to introduce the philosophy of ‘open, share and collaborate’ to government departments.
“There is no dearth of young and enthusiastic talented people in academia and industry who are willing to contribute to government applications. Therefore, we sincerely hope that OpenForge will bridge this gap between e-governance and open source, bringing the community and the government together,” Chauhan concludes.