A mirror of my website's source code.

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

New blog post

steve0greatness,
created on Friday, 9 August 2024, 10:02:03 (1723197723), received on Friday, 9 August 2024, 10:03:26 (1723197806)
Author identity: Steve0Greatness <steve0greatnessiscool@gmail.com>

520615f1f0d9137a66a1ee30861f7fdc5c097e03

blog-posts/program-development.md

@@ -0,0 +1,62 @@

                                
                                
                                
                            
                                
                                    
                                        
                                        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](https://opensource.org/osd) as
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          defined by the Open Source Initiative or OSI
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        * [What is Free Software?](https://www.gnu.org/philosophy/free-sw.en.html)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                          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.