[Request for Discussion] OSS - Adopt a regular release schedule (5.2.C)
Section 5.2.C of the Source Code Policy, as part of the Open Source Pilot, requires that agencies:
Adopt a Regular Release Schedule: In instances where software cannot be developed using open development practices, but is otherwise appropriate for release to the public, agencies should establish an incremental release schedule to make the source code and associated documentation available for public use.
For Discussion: what should agencies keep in mind when establishing a regular release schedule for a project that is not being developed in the open in order to maximize public benefit?
My thoughts:
- Requires agencies to release source code and documentation corresponding to any release build (build deployed for production use).
- Releasing source code for non-release builds is acceptable and encouraged, but not required.
- Agencies might choose to pace source code releases, in order to reduce the burden for development teams utilizing rapid release schedules or working quickly to produce bug-fix builds.
- For example, don't require source code release to the public more than once per month, once per sprint, once per major.minor version, etc.
- This policy should not allow a pace slower than some particular time frame (e.g. 120 days).
Because of contract specifics, I don't know how successful describing a specific cadence for source code release would be. However, as a step in that direction, having each project (via metadata) describe the release cadence would help to properly set expectations.
I'm also curious about projects that don't release new versions regularly, but instead "work off develop / master"? Granted those are probably fewer.
Also, ancillary code like configuration scripts and bootstrapping may not follow a true "release schedule" as would be found in a traditional software project.
We will be moving these conversations to code-gov.