Skip to content

GovTechSG/innersource-documentation

Repository files navigation

What is InnerSource?

InnerSource is applying open source software development practices to private code inside of organisations.

The community of software developers across the Whole of Government (WoG) face common challenges in addressing security and policy compliance issues specific to the Singapore Government when writing their software. They also face similar challenges in promoting and adopting best-of-practice standards and patterns. InnerSourcing helps to address these challenges by providing an ecosystem of software modules, templates and example code that WoG developers can reuse or adapt to their own projects.

Governments and organisations worldwide are incorporating open source methodologies into the way they build and ship their own software. Adopting this modern approach to software development for internal projects can be transformative — enabling collaboration and fostering the creation of high quality code behind the firewall.

According to innersourcecommons.org:

“InnerSource takes the lessons learned from developing open source software and applies them to the way companies develop software internally. As developers have become accustomed to working on world class open source software, there is a strong desire to bring those practices back inside the firewall and apply them to software that companies may be reluctant to release. For companies building mostly closed source software, InnerSource can be a great tool to help break down silos, encourage internal collaboration, accelerate new engineer on-boarding, and identify opportunities to contribute software back to the open source world.”

Why InnerSource?

Benefits of InnerSource

  • InnerSource generates faster development by allowing the use of ready-made or “off the shelf” components in place of developing everything with custom code - Developers don’t always have to start from scratch.
  • InnerSource practices of sharing code between groups creates higher quality projects by allowing more reviewers with diverse perspectives and use cases to examine, test, and refine the project.
  • Just as with code quality, code security is also improved by having more reviewers.
  • InnerSource creates community among developers who work on different teams and products but have similar roles. This allows networking between individuals and a collaborative mentorship that improves the skills of both parties.
  • InnerSource promotes the practice of transparency in government - open and shared decision-making builds process, trust, and alignment.

Examples of InnerSource in Government

InnerSource examples are beginning to become more common. The foremost example of InnerSource in Government is the Singapore Government Tech Stack (SGTS).

The majority of SGTS products' source code are being innersourced, allowing greater collaboration, reuse and sharing across Government.

Other GovTech products are following with the formalisation of InnerSource practices and the adoption of SHIP-HATS.

InnerSource Project Checklist

These items help developers using the SHIP-HATS 2.0 code repository platform to find code repositories for their project, clone and integrate the InnerSourced code into their projects, as well as write and contribute enhancements and modifications back to the InnerSource code repository.

  • Project provides reusable code or relevant shared information (such as documentation or examples)
  • Project is on SHIP-HATS 2.0
  • Project is assigned the "innersource" topic
  • Project visibility is set to "internal"
  • Project contains a README.md and a CONTRIBUTING.md (with other optional documents recommended)
  • Project licensed with GPSL (or similar Agency-specific permissive license)
  • Project establishes a team structure to encourage contributions (such as Maintainers and Trusted Committer roles)

For more details see How to InnerSource.

How to find InnerSource Projects

To find out what InnerSource projects are available, check out the InnerSource topic in SHIP-HATS where you can browse, search, and navigate to each of the InnerSource tagged projects.

InnerSource Working Group

GovTech has formed a Working Group around InnerSource as a place for members to collaborate and discuss how InnerSource works in Government.

Please reach out via email or Telegram if you are interested to join the community.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages