https://github.com/govtechsg/innersource-documentation
https://github.com/govtechsg/innersource-documentation
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/govtechsg/innersource-documentation
- Owner: GovTechSG
- Created: 2022-04-26T07:45:43.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-05-05T07:08:26.000Z (about 3 years ago)
- Last Synced: 2025-08-31T20:49:25.501Z (9 months ago)
- Language: HTML
- Size: 85 KB
- Stars: 2
- Watchers: 10
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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-innersource.md).
## How to find InnerSource Projects
To find out what InnerSource projects are available, check out the
`InnerSource` [topic](https://sgts.gitlab-dedicated.com/explore/projects/topics/innersource) 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.