Before you begin
The purpose of this guide is to encourage the Victorian Public Service to make projects open source and explain why it’s important.
By opening our projects and making them available for sharing and re-use, we can avoid duplication and drive innovation and collaboration across the Victorian Government.
This guide is focused on open source code. You can also open source many other parts of your project, including design systems and content.
What is open source?
Slot gameOpen source is publicly sharing your project for others to use. This means people are free to use, study, modify and redistribute the assets, depending on the licence. Your project is released to the community free of charge for others to use.
Slot gameThe Victorian Government is active in the open source community:
- is an open, flexible technical solution that government agencies can use to reduce the cost and effort of digital development. SDP shares its code and design system.
- The website content is shared under a Creative Commons Licence.
- The promote consistency and standardisation when designing and building APIs.
- The uses open source for their online platform.
The benefits of open source for the Victorian Government
- sharing of information and best practice
- increasing trust and transparency in government
- giving back to the community
- increase re-use and decrease cost of development
- increase quality
- learning and development opportunities for developers
What does the Victorian Government recommend?
Where projects may provide a benefit to others the assets should be shared. This enables the community to benefit from our investment in code, content and design systems to help them solve similar problems.
What standards must be met?
Slot gameComply with the Privacy and Data Protection Act 2014, including the Victorian Protective Data Security Framework and Standards (VPDSS) on the .
Slot gameComply with the Privacy and Data Protection Act 2014 and the Information Privacy Principles. Refer to the website.
Code should be provided with a licence, a privacy statement and contact information (where appropriate).
Slot gameAll code should comply with the Disability Discrimination Act 1992. You must comply with the (WCAG) 2.0 level AA.
If your audience is primarily people with a disability (for example, National Disability Insurance Scheme (NDIS) clients), your site must pass the test for the AAA standard.
Creating open source code
Things to consider when creating open source
- Ensure your resources have capacity to maintain the code.
- Ensure you have a process for responding to feedback from the open source community.
- Decide where you will host your code.
The Australian Government is a good resource if you want more in depth information.
If you aren’t going to open source your project, the principles outlined in this guide can still be applied when developing code, to ensure good practice. This is known as inner source. Learn more about .
Using open source projects
You can use open source software for many applications, including operating systems, websites, automation and policies.
The benefits of using open source
- best practice developed over years of peer review
- speed to market
- reduced time and money spent
- avoid lock-in
- stop duplication
- increase transparency
Things to consider when using open source
When thinking about using an open source project, it’s important to assess the health of the project. Here are some common things to look for:
- How many contributors (a high number of contributors is preferred).
- Strength of backing for the project.
- Level of adoption and use.
- When it was last updated.
- Whether it has frequent commits.
- Whether it has good processes documented.
- Whether it has automated test builds.
- What licence applies and does that work for your purposes.
- It should have a regular update process (check to see if minor bugs are being fixed every week).
- It has been released to common package managers (if appropriate), for example, NPM, Maven, NuGet, Composer, PIP or PPM.
Slot gameIt’s also important to consider different open source options and see how they align to your success criteria.
Slot gameYou can find open source on:
Acknowledging the use of open source
Slot gameYou must acknowledge the use of any open source packages you’re using in your project. This can be as simple as including an acknowledgments list in your readme file.
You should also ensure you’re complying with the licence terms of any open source package you use. Some licences require you to acknowledge the fact you have used another creator’s work and state that you have made changes to that work. You may need to seek legal advice to ensure you are complying with the terms of the licences of the open source packages you use.
Contributing back to the open source community
Releasing and using open source is important but it’s just as important to contribute back to the open source community.
Slot gameIf you upload a patch or enhancement or fix a bug in the code, make sure you contribute that back to the code base. Open source projects evolve and improve by contributions from all users.
Slot gameDevelopers wanting to build their reputation and portfolio in the open source community can do so by contributing to open source projects.
Reviewed 20 July 2020