program-development.md
ASCII text
title: Defining Development and Release Strategies of FLOSS date: 2024 Jul 30
Many programs are Free/Libre and Open Source, both of those are very well defined so I'm not going to waste my or your time by defining them for you here.
If you do need a definition, take a look at the following:
The Open Source Definition as defined by the Open Source Initiative or OSI
What is Free Software? By the Free Software Foundation (FSF)
So without further ado, let's define developement and release strategies!
Development
The following is definitions for strategies used in FLOSS development. These strategies are grouped by ones that can't be mixed and matched.
Who developes it?
Community-Driven. Community members are able to submit patches, and these patches are often included directly into the project.
Community-Supported. Community members are able to submit patches, but these patches are not included directly.
Non-Community-Driven. Community members cannot submit patches.
Does your project have (a) core maintainer(s)?
Unicentered. One core maintainer.
Centered. Multiple (more than one) core maintainers.
Non-centered. No core maintainers.
Do you have a full history available?
Historical. A full log is available for all commits made to the project in question.
Non-Historical. A log is not available for commits in a project.
Semi-Historical. A log is available, but there is a cutoff in available commits.
Note that a commit history being available doesn't mean a source history is available, for that, see the nexte section.
When is the source code released?
Sourced-per-commit. Source is made available per-commit.
Timed-source. Source is released at set intervals of time.
Commit-based-source. Source is released at set intervals of commits.
Arbitrarily-sourced. Source is released when the maintainer(s) feel there has been enough changes or time, when these numbers of commits or time do not stay the same.
Outro
Thank you for reading this pointless blog post. I know nobody is ever gonna get use out of it.
1title: Defining Development and Release Strategies of FLOSS 2date: 2024 Jul 30 3 4Many programs are Free/Libre and Open Source, both of those 5are very well defined so I'm not going to waste my or your 6time by defining them for you here. 7 8If you do need a definition, take a look at the following: 9 10* [The Open Source Definition](https://opensource.org/osd) as 11defined by the Open Source Initiative or OSI 12* [What is Free Software?](https://www.gnu.org/philosophy/free-sw.en.html) 13By the Free Software Foundation (FSF) 14 15So without further ado, let's define developement and 16release strategies! 17 18## Development 19 20The following is definitions for strategies used in FLOSS 21development. These strategies are grouped by ones that 22can't be mixed and matched. 23 24### Who developes it? 25 26* **Community-Driven**. Community members are able to submit patches, and these 27patches are often included directly into the project. 28* **Community-Supported**. Community members are able to submit patches, but 29these patches are not included directly. 30* **Non-Community-Driven**. Community members cannot submit patches. 31 32### Does your project have (a) core maintainer(s)? 33 34* **Unicentered**. One core maintainer. 35* **Centered**. Multiple (more than one) core maintainers. 36* **Non-centered**. No core maintainers. 37 38### Do you have a full history available? 39 40* **Historical**. A full log is available for all commits made to the project in 41question. 42* **Non-Historical**. A log is not available for commits in a project. 43* **Semi-Historical**. A log is available, but there is a cutoff in available 44commits. 45 46*Note that a commit history being available doesn't mean a source history is 47available, for that, see the nexte section.* 48 49### When is the source code released? 50 51* **Sourced-per-commit**. Source is made available per-commit. 52* **Timed-source**. Source is released at set intervals of time. 53* **Commit-based-source**. Source is released at set intervals of commits. 54* **Arbitrarily-sourced**. Source is released when the maintainer(s) feel there 55has been enough changes or time, when these numbers of commits or time do not 56stay the same. 57 58## Outro 59 60Thank you for reading this pointless blog post. I know nobody is ever gonna get 61use out of it. 62 63