Development

Development.Development History

Hide minor edits - Show changes to output

November 06, 2020, at 05:19 PM by liviu -
Changed line 31 from:
* will often include the more ''ambitious'', ''high-complexity'' and ''high-risk'' features from the development TODO list (in terms of code refactoring and potential for regressions).
to:
* will often include the more ''ambitious'', ''high-complexity'' and ''high-risk'' features from the development TODO list (in terms of code refactoring volume and potential for introducing regressions).
November 06, 2020, at 05:19 PM by liviu -
Changed line 31 from:
* will often include the more ''ambitious'', ''high-complexity'' and ''high-risk'' (in terms of code refactoring and potential for regressions) features from the development TODO list.
to:
* will often include the more ''ambitious'', ''high-complexity'' and ''high-risk'' features from the development TODO list (in terms of code refactoring and potential for regressions).
November 05, 2020, at 08:40 PM by liviu -
Changed line 29 from:
* are typically ''odd-numbered'': '''2.1''', '''2.3''', '''3.3''', etc. Exception: 3.1, which was an LTS release.
to:
* are typically ''odd-numbered'': '''2.1''', '''2.3''', '''3.3''', etc. Exception: 3.1, which is an LTS release.
Changed line 35 from:
* are typically ''even-numbered'': '''2.2 LTS''', '''2.4 LTS''', '''3.2 LTS''', etc. Exception: 3.0, which was a standard release.
to:
* are typically ''even-numbered'': '''2.2 LTS''', '''2.4 LTS''', '''3.2 LTS''', etc. Exception: 3.0, which is a standard release.
November 05, 2020, at 08:35 PM by liviu -
Changed line 25 from:
The type of a release affects both its content (choice of features), as well as its maintenance timeline. There are two types of major releases:
to:
The flavor of a release affects both its content (choice of features), as well as its maintenance timeline. There are two flavors of major releases:
November 05, 2020, at 08:35 PM by liviu -
Changed line 23 from:
!!! Types of OpenSIPS Major Releases
to:
!!! Major Release Flavors
November 05, 2020, at 08:34 PM by liviu -
Changed lines 23-25 from:
!!! OpenSIPS Version Management

From a maintenance point of view, there are two types of major releases:
to:
!!! Types of OpenSIPS Major Releases

The type of a release affects both its content (choice of features), as well as its maintenance timeline. There are two types of major releases:
November 05, 2020, at 08:30 PM by liviu -
Added line 28:
* will continue to be supported for '''1.5 years''' after the initial release
Changed lines 32-33 from:
* will continue to be supported for '''1.5 years''' after the initial release
to:
Added line 34:
* will continue to be supported for '''3 years''' after the initial release
Deleted line 37:
* will continue to be supported for '''3 years''' after the initial release
November 05, 2020, at 08:29 PM by liviu -
Changed line 45 from:
By supporting a version, we understand troubleshooting, fixing bugs, and backporting various new fixes from the more recent OpenSIPS versions. Also, we will take care to maintain packages and tarballs for the supported releases.
to:
By ''supporting a version'', we understand troubleshooting, fixing bugs, and backporting various new fixes from the more recent OpenSIPS versions. Also, we will take care to maintain packages and tarballs for the supported releases.
November 05, 2020, at 08:29 PM by liviu -
Added lines 43-44:
\\
Added lines 46-47:

\\
November 05, 2020, at 08:29 PM by liviu -
Changed line 41 from:
This "standard vs. LTS" release model aims to strike a good balance between shipping more complex, time-consuming and high-risk features (e.g. the major rework for async support in 2.1, major rework for switching to JSON-RPC communication in 3.0, the major module function parameter rework in 3.1, etc.), as well as taking the time to test the code for either performance regressions or key code bottlenecks which could highly benefit from optimization. Experienced VoIP developers, early adopters and OpenSIPS power users should opt for the ''standard releases'', while users looking for a battle-tested, stable and better supported release should choose a ''long term supported release''.
to:
This "standard vs. LTS" release model aims to strike a good balance between shipping more complex, time-consuming and high-risk features (e.g. the major rework for async support in 2.1, major rework for switching to JSON-RPC communication in 3.0, the major module function parameter rework in 3.1, etc.), as well as taking the time to test the codebase for either performance regressions or key code bottlenecks which could highly benefit from optimization. Experienced VoIP developers, early adopters and OpenSIPS power users should opt for the ''standard releases'', while users looking for a battle-tested, stable and better supported release should choose a ''long term supported release''.
November 05, 2020, at 08:28 PM by liviu -
Changed line 41 from:
This "standard vs. LTS" release model aims to strike a good balance between shipping more complex, time-consuming and high-risk features (e.g. the major rework for async support in 2.1, major rework for switching to JSON-RPC communication in 3.0, the major module function parameter rework in 3.1, etc.), as well as taking time to test for either performance regressions or key code bottlenecks which could highly benefit from optimization. Experienced VoIP developers, early adopters and OpenSIPS power users should opt for the ''standard releases'', while users looking for a battle-tested, stable and better supported release should choose a ''long term supported release''.
to:
This "standard vs. LTS" release model aims to strike a good balance between shipping more complex, time-consuming and high-risk features (e.g. the major rework for async support in 2.1, major rework for switching to JSON-RPC communication in 3.0, the major module function parameter rework in 3.1, etc.), as well as taking the time to test the code for either performance regressions or key code bottlenecks which could highly benefit from optimization. Experienced VoIP developers, early adopters and OpenSIPS power users should opt for the ''standard releases'', while users looking for a battle-tested, stable and better supported release should choose a ''long term supported release''.
November 05, 2020, at 08:27 PM by liviu -
Changed line 41 from:
This "standard vs. LTS" release model aims to maintain a decent balance between shipping more complex, time-consuming and high-risk features (e.g. the major rework for async support in 2.1, major rework for switching to JSON-RPC communication in 3.0, the major module function parameter rework in 3.1, etc.), as well as taking time to test for either performance regressions or key code bottlenecks which could highly benefit from optimization. Experienced VoIP developers, early adopters and OpenSIPS power users should opt for the ''standard releases'', while users looking for a battle-tested, stable and better supported release should choose a ''long term supported release''.
to:
This "standard vs. LTS" release model aims to strike a good balance between shipping more complex, time-consuming and high-risk features (e.g. the major rework for async support in 2.1, major rework for switching to JSON-RPC communication in 3.0, the major module function parameter rework in 3.1, etc.), as well as taking time to test for either performance regressions or key code bottlenecks which could highly benefit from optimization. Experienced VoIP developers, early adopters and OpenSIPS power users should opt for the ''standard releases'', while users looking for a battle-tested, stable and better supported release should choose a ''long term supported release''.
November 05, 2020, at 08:26 PM by liviu -
Changed line 35 from:
* are expected to contain ''less substantial changes'' coming from the previous, odd-numbered standard release. An LTS release will often include ''well-contained'', ''safe'' features, which cannot affect large parts of the OpenSIPS runtime. LTS release
to:
* are expected to contain ''less substantial changes'' coming from the previous, odd-numbered standard release. An LTS release will often include ''safe'' features, which cannot affect large parts of the OpenSIPS runtime or cause substantial script syntax incompatibilities with the previous release.
November 05, 2020, at 08:24 PM by liviu -
Changed line 36 from:
* will often benefit from more ''stress-testing'', ''performance regression testing'', ''performance optimizations'' and the more ''well-contained'', ''straightforward'' or ''low-risk'' features from the development TODO list.
to:
* will often benefit from more ''stress-testing'', ''performance regression testing'', ''performance optimizations'' and the ''well-contained'', ''straightforward'' or ''low-risk'' features from the development TODO list.
November 05, 2020, at 08:24 PM by liviu -
Changed line 36 from:
* will often include more ''performance regression testing'', ''performance optimizations'' and the more ''well-contained'', ''straightforward'', ''non-invasive'' or ''low-risk'' features from the development TODO list.
to:
* will often benefit from more ''stress-testing'', ''performance regression testing'', ''performance optimizations'' and the more ''well-contained'', ''straightforward'' or ''low-risk'' features from the development TODO list.
November 05, 2020, at 08:23 PM by liviu -
Changed line 36 from:
* will often include more ''performance regression testing'', ''performance optimizations'' and the more ''well-contained'', ''straightforward'' or ''non-invasive'' features from the development TODO list.
to:
* will often include more ''performance regression testing'', ''performance optimizations'' and the more ''well-contained'', ''straightforward'', ''non-invasive'' or ''low-risk'' features from the development TODO list.
November 05, 2020, at 08:22 PM by liviu -
Changed line 36 from:
* will often include more ''performance regression testing'', ''performance optimizations'' and the more ''straightforward'' and ''non-invasive'' features from the development TODO list.
to:
* will often include more ''performance regression testing'', ''performance optimizations'' and the more ''well-contained'', ''straightforward'' or ''non-invasive'' features from the development TODO list.
November 05, 2020, at 08:21 PM by liviu -
Changed line 28 from:
* are typically ''odd-numbered'', e.g.: '''2.1''', '''2.3''', '''3.3''', etc. Exception: 3.1, which was an LTS release.
to:
* are typically ''odd-numbered'': '''2.1''', '''2.3''', '''3.3''', etc. Exception: 3.1, which was an LTS release.
Changed line 34 from:
* are typically ''even-numbered'', e.g.: '''2.2 LTS''', '''2.4 LTS''', '''3.2 LTS''', etc. Exception: 3.0, which was a standard release.
to:
* are typically ''even-numbered'': '''2.2 LTS''', '''2.4 LTS''', '''3.2 LTS''', etc. Exception: 3.0, which was a standard release.
November 05, 2020, at 08:20 PM by liviu -
Changed lines 4-12 from:
!!! Release policy

'''OpenSIPS''' release policy is designed in such a way to be '''open''' (everyone is involved), '''predictable and reliable''' (know what to expect) and '''transparent''' (to the whole community).


* %blue%'''Release interval'''%%
** the release cycle is 1 year.
** the release date is around second half of March for beta version and beginning of May of stable version
* %blue%'''Release Planning'''%%
to:
!!! OpenSIPS Release Policy

The '''OpenSIPS''' software release policy is designed in such a way to be '''open''' (anyone can get involved), '''reliable''' (know what to expect) and '''transparent''' (to the whole community).


* %blue%'''Release Interval'''%%
** the major release cycle is ''1 year''
** the %color=#80bb00%beta%% version release date is around the ''second half of March''
** the %green%stable%% version release date is around the ''beginning of May''

* %blue%'''Timeline of a Release'''%%
Changed lines 17-18 from:
** actual work on '''implementing''' the items on TODO list ; docs must be realtime updated to reflect code changes
** code freeze (no more additions) at T - 1 month ; trunk code is copied in a new separate branch
to:
** actual work on '''implementing''' the items on the TODO list; the docs must be updated in real-time to reflect code changes
** code freeze (no more additions) at T - 1 month; ''master'' branch code is copied in a new separate branch
Changed lines 20-21 from:
** testing, debugging during 1 month (or how long it takes) -> at T we have the General Available (GA) release (full stable release)
to:
** testing, debugging during ~1 month -> at T we have the General Available (GA) release (full stable release)
Changed lines 23-36 from:
!!! Version Management

From maintenances point of, there are two types of releases.
* '''long term releases''' - will be supported for 2 years after it's release
* '''standard releases''' - will be supported for 1 year after it's release

The only difference is just for how long they are supported. The releasing process, stability and everything else is the same for all.

This model aims to maintain a decent balance between getting features out the door and supporting the existing release. People wanting new features can go for the standard releases, and those looking for stability and better support can stick with the long term support releases.

By supporting a version, we understand troubleshooting, fixing bugs, and backporting various new fixes from more recent OpenSIPS versions. Also, we will take care maintaining packages and tarballs for the supported releases.

Once an OpenSIPS release moves to unsupported status, it will not get any new bug fixes, any packaging or new tarballs.
to:
!!! OpenSIPS Version Management

From a maintenance point of view, there are two types of major releases:

!!!! Standard Releases
* are typically ''odd-numbered'', e.g.: '''2.1''', '''2.3''', '''3.3''', etc. Exception: 3.1, which was an LTS release.
* are expected to contain ''more substantial changes'' coming from the previous, even-numbered LTS release. A standard release is more likely to contain a significant rework of a certain critical area of the codebase (think: networking protocols, inter-process communication, async engine, DB layer, etc.), a major script syntax change or a partial or complete rework of even the most popular of modules (if it's for the better, of course!).
* will often include the more ''ambitious'', ''high-complexity'' and ''high-risk'' (in terms of code refactoring and potential for regressions) features from the development TODO list.
* will continue to be supported for '''1.5 years''' after the initial release

!!!! Long-Term Supported Releases (LTS)
* are typically ''even-numbered'', e.g.: '''2.2 LTS''', '''2.4 LTS''', '''3.2 LTS''', etc. Exception: 3.0, which was a standard release.
* are expected to contain ''less substantial changes'' coming from the previous, odd-numbered standard release. An LTS release will often include ''well-contained'', ''safe'' features, which cannot affect large parts of the OpenSIPS runtime. LTS release
* will often include more ''performance regression testing'', ''performance optimizations'' and the more ''straightforward'' and ''non-invasive'' features from the development TODO list.
* will continue to be supported for '''3 years''' after the initial release

\\

This "standard vs. LTS" release model aims to maintain a decent balance between shipping more complex, time-consuming and high-risk features (e.g. the major rework for async support in 2.1, major rework for switching to JSON-RPC communication in 3.0, the major module function parameter rework in 3.1, etc.), as well as taking time to test for either performance regressions or key code bottlenecks which could highly benefit from optimization. Experienced VoIP developers, early adopters and OpenSIPS power users should opt for the ''standard releases'', while users looking for a battle-tested, stable and better supported release should choose a ''long term supported release''.

By supporting a version, we understand troubleshooting, fixing bugs, and backporting various new fixes from the more recent OpenSIPS versions. Also, we will take care to maintain packages and tarballs for the supported releases.

Once an OpenSIPS release moves to %red%unsupported%% status, it will not get any new bug fixes, re-packaging or new tarballs.
March 01, 2019, at 02:38 PM by liviu -
Changed line 14 from:
** compile a [[https://www.opensips.org/Development/Planning|'''TODO list''']] for the next release to fit the time frame; list may be dynamically updated.
to:
** compile a [[https://www.opensips.org/Development/Planning|{+'''TODO list'''+}]] for the next release to fit the time frame; list may be dynamically updated.
March 01, 2019, at 02:37 PM by liviu -
Changed line 14 from:
** compile a '''TODO list''' for the next release to fit the time frame; list may be dynamically updated.
to:
** compile a [[https://www.opensips.org/Development/Planning|'''TODO list''']] for the next release to fit the time frame; list may be dynamically updated.
December 13, 2018, at 04:37 PM by 109.99.227.30 -
Changed lines 10-11 from:
** the release cycles is mainly '''time driven''' : '''a release each 5-7 months'''. Inside that intervals, what date will be is '''feature driven''', depending on the required volume of work.
to:
** the release cycle is 1 year.
** the release date is around second half of March for beta version and beginning of May of stable version
Deleted line 14:
** '''estimating the release time''' (T) based on the volume of work (between 5-7 months)
Changed line 16 from:
** SVN freeze (no more additions) at T - 1 month ; SVN trunk code is copied in a new separate SVN branch
to:
** code freeze (no more additions) at T - 1 month ; trunk code is copied in a new separate branch
December 13, 2018, at 04:34 PM by 109.99.227.30 -
Deleted lines 1-2:

(:toc-float Table of Content:)
December 13, 2018, at 04:34 PM by 109.99.227.30 -
Deleted lines 36-152:
----

!!! OpenSIPS Experimental
* Take a look at the [[ http://www.opensips.org/Development/NewDesign | new design overview ]] and also [[ http://www.opensips.org/Development/NewDesignStage1 | see the stage1 ]] available features and how to download it.

----
!!! Developers hierarchy
To ensure the quality and technical competence across the project, the development work is governed by developer knowledge.\\
'''OpenSIPS''' project implements several layers of technical competence - the development hierarchy:
# '''core developers''' - developers taking care of '''OpenSIPS''' core, of the overall architecture and design
# '''module developers''' - developers taking care of a '''OpenSIPS''' module (or modules). They are module maintainers. For work expending across their modules they need to address to other module developers (for other modules) or to core developers (for core or global matters)
# '''tool maintainers''' - developers not involved in '''OpenSIPS''' core or modules, but in surrounding tools and utilities (control tool, DB scripts, utilities, etc)
# '''contributors''' - developers randomly contributing to '''OpenSIPS''' by providing patches (for fixes or new features). For how this works, see [[Development.Contributing | Contributing page]].
# '''packagers''' - people taking care of '''OpenSIPS'''packaging (for different OS's) ; they are in-charge with maintaining the specs and preparing packages.


----
!!! Module maintainers
# '''acc''' - Bogdan-Andrei Iancu
# '''alias_db''' - %blue%commonly maintained%%
# '''auth''' - Bogdan-Andrei Iancu
# '''auth_db''' - Bogdan-Andrei Iancu
# '''auth_diameter''' - %red%unmaintained%%
# '''auth_radius''' - %blue%commonly maintained%%
# '''avpops''' - Bogdan-Andrei Iancu
# '''avp_radius''' - %blue%commonly maintained%%
# '''benchmark''' - Bastian Friedrich
# '''call_control''' - Dan Pascu
# '''carrierroute''' - %blue%commonly maintained%%
# '''cfgutils''' - %blue%commonly maintained%%
# '''closeddial''' - Sergio Gutierrez
# '''cpl-c''' - Bogdan-Andrei Iancu
# '''db_berkeley''' - Will Quan
# '''db_flatstore''' - %blue%commonly maintained%%
# '''db_mysql''' - %blue%commonly maintained%%
# '''db_oracle''' - %blue%commonly maintained%%
# '''db_postgres''' - Greg Fausak
# '''db_text''' - %blue%commonly maintained%%
# '''db_unixodbc''' - %blue%commonly maintained%%
# '''dialog''' - Bogdan-Andrei Iancu , Ovidiu Sas
# '''dialplan''' - Anca Vamanu
# '''dispatcher''' - %blue%commonly maintained%%
# '''diversion''' - %blue%commonly maintained%%
# '''domain''' - %blue%commonly maintained%%
# '''domainpolicy''' - %blue%commonly maintained%%
# '''drouting''' - Bogdan-Andrei Iancu
# '''enum''' - %blue%commonly maintained%%
# '''exec''' - Bogdan-Andrei Iancu
# '''gflags''' - Bogdan-Andrei Iancu
# '''group''' - Bogdan-Andrei Iancu
# '''group_radius''' - %blue%commonly maintained%%
# '''h350''' - Christian Schlatter
# '''identity''' - Bogdan-Andrei Iancu
# '''imc''' - Anca Vamanu
# '''jabber''' - Anca Vamanu
# '''lcr''' - %blue%commonly maintained%%
# '''ldap''' - Christian Schlatter
# '''load_balancer''' - Bogdan-Andrei Iancu
# '''localcache''' - Anca Vamanu
# '''mangler''' - %red%unmaintained%%
# '''maxfwd''' - Bogdan-Andrei Iancu
# '''mediaproxy''' - Dan Pascu
# '''mi_datagram''' - Bogdan-Andrei Iancu
# '''mi_fifo''' - Bogdan-Andrei Iancu
# '''mi_xmlrpc''' - Bogdan-Andrei Iancu
# '''mmgeoip''' - Kobi Eshun
# '''msilo''' - %blue%commonly maintained%%
# '''nathelper''' - Bogdan-Andrei Iancu , Maxim Sobolev
# '''nat_traversal''' - Dan Pascu
# '''options''' - %blue%commonly maintained%%
# '''osp''' - Di-Shi Sun, Dmitry Isakbayev
# '''path''' - %blue%commonly maintained%%
# '''pdt''' - %blue%commonly maintained%%
# '''peering''' - %blue%commonly maintained%%
# '''perl''' - Bastian Friedrich
# '''perlvdb''' - Bastian Friedrich
# '''permissions''' - %blue%commonly maintained%%
# '''pike''' - Bogdan-Andrei Iancu
# '''presence''' - Anca Vamanu
# '''presence_dialoginfo''' - Anca Vamanu
# '''presence_mwi''' - Anca Vamanu
# '''presence_xcapdiff''' - Saúl Ibarra Corretgé
# '''presence_xml''' - Anca Vamanu
# '''pua''' - Anca Vamanu
# '''pua_bla''' - Anca Vamanu
# '''pua_dialoginfo''' - Anca Vamanu
# '''pua_mi''' - Anca Vamanu
# '''pua_usrloc''' - Anca Vamanu
# '''pua_xmpp''' - Anca Vamanu
# '''qos''' - Ovidiu Sas
# '''ratelimit''' - Ovidiu Sas
# '''regex''' - Iñaki Baz Castillo
# '''registrar''' - Bogdan-Andrei Iancu
# '''rls''' - Anca Vamanu
# '''rr''' - Bogdan-Andrei Iancu
# '''seas''' - Andrei Pisau
# '''signaling''' - Anca Vamanu
# '''siptrace''' - Bogdan-Andrei Iancu
# '''sl''' - Bogdan-Andrei Iancu
# '''sms''' - Bogdan-Andrei Iancu
# '''snmpstats''' - Jeffrey Magder
# '''speeddial''' - %blue%commonly maintained%%
# '''sst''' - Ron Winacott
# '''statistics''' - Bogdan-Andrei Iancu
# '''textops''' - %blue%commonly maintained%%
# '''tlsops''' - %blue%commonly maintained%%
# '''tm''' - Bogdan-Andrei Iancu
# '''uac''' - Bogdan-Andrei Iancu
# '''uac_redirect''' - Bogdan-Andrei Iancu
# '''uri''' - %blue%commonly maintained%%
# '''uri_db''' - Sergio Gutierrez
# '''uri_radius''' - %blue%commonly maintained%%
# '''userblacklist''' - %blue%commonly maintained%%
# '''usrloc''' - Bogdan-Andrei Iancu
# '''xcap_client''' - Anca Vamanu
# '''xlog''' - %blue%commonly maintained%%
# '''xmpp''' - Anca Vamanu
September 17, 2018, at 02:25 PM by liviu -
Changed line 1 from:
!!!!!Development -> Development
to:
!!!!! [[Development.Development|Development]]
April 11, 2017, at 05:37 PM by razvancrainea -
April 11, 2017, at 05:35 PM by razvancrainea -
April 11, 2017, at 05:34 PM by razvancrainea -
Changed line 153 from:
# '''xmpp''' - Anca Vamanu
to:
# '''xmpp''' - Anca Vamanu
April 11, 2017, at 05:31 PM by razvancrainea -
October 10, 2014, at 03:40 PM by 89.120.101.121 -
Changed lines 39-41 from:
!!! OpenSIPS 2.0 version releases

* First code release of OpenSIPS 2.0 is available for public. Take a look at the [[ http://www.opensips.org/Development/NewDesign | new design overview ]] and also [[ http://www.opensips.org/Development/NewDesignStage1 | see the stage1 ]] available features and how to download it.
to:
!!! OpenSIPS Experimental
* Take a look at the [[ http://www.opensips.org/Development/NewDesign | new design overview ]] and also [[ http://www.opensips.org/Development/NewDesignStage1 | see the stage1 ]] available features and how to download it.
August 07, 2013, at 12:34 AM by 67.201.69.130 -
Changed line 27 from:
* '''standard releases''' - will be supported up to the next release
to:
* '''standard releases''' - will be supported for 1 year after it's release
May 14, 2013, at 02:00 PM by 109.99.235.212 -
Changed line 1 from:
!!Development -> Development
to:
!!!!!Development -> Development
January 18, 2013, at 03:42 PM by bogdan -
Added line 22:
----
January 18, 2013, at 03:42 PM by bogdan -
Changed lines 10-52 from:
!!!! Release cycles

The release cycles is mainly '''time driven''' : a release each 5-7 months. depending on the required volume of work for the respective release

Smaller steps in releases will be more friendly to users as there are no big gaps between releases, easier and more appealing to upgrade. Also, shorter release cycles will make new features available in stable versions much faster.

!!!! Next Release Planning

On a new cycle, we will start with a brainstorming on what the
next release should contain (or focus on). This will open up the
development and roadmap of the project to the entire community ( see [[ Main.Ver190 | 1.9 example ]] )

We will maintain a web page with the TODO features that will be updated
(this process is to be continuous); also the items that where address to
be documented and listed as new available features.

As the release is time driven, the next release will contain only
the features (from TODO list, based on priorities) that can be done in
that time frame; the remaining list will be inherited by the next release.

!!!! Steps inside a Cycle

* brainstorming on TODO list
* estimating the release time (T) based on the volume of work
(between 5-7 months)
* actual work on implementing the items on TODO list ; it is
critical important to have a better description / documentation / examples on the newly
added feature,as this will help people to understand and use them from day 0 (an undocumented
super feature is an inexistent feature)
* SVN freeze (no more new stuff) at T - 1 months ; at this point
the SVN trunk code is moved in a new separate SVN branch (dedicated to that
release)-> Release Candidate (or beta release)
** this will make the trunk free and available for new work in the mean while (we overlap the testing on release N with the start of release N+1)
* testing, debugging - 1 month -> at T we have the GA release (full stable release)

!!!! Version Management

We will have two types of supported OpenSIPS stable releases :
* long term releases - will be supported for 2 years after it's release
* standard releases - will be supported for 1 year after it's release

Such a model should maintain a decent balance between getting features out the door and support. People wanting new features can go for the standard releases, and those looking for stability and better support can stick with the long term support releases.
to:

* %blue%'''Release interval'''%%
** the release cycles is mainly '''time driven''' : '''a release each 5-7 months'''. Inside that intervals, what date will be is '''feature driven''', depending on the required volume of work.
* %blue%'''Release Planning'''%%
** open '''brainstorming''' on what the next release should contain.
** compile a '''TODO list''' for the next release to fit the time frame; list may be dynamically updated.
** '''estimating the release time''' (T) based on the volume of work (between 5-7 months)
** actual work on '''implementing''' the items on TODO list ; docs must be realtime updated to reflect code changes
** SVN freeze (no more additions) at T - 1 month ; SVN trunk code is copied in a new separate SVN branch
** '''Release Candidate''' (or beta release)
** testing, debugging during 1 month (or how long it takes) -> at T we have the General Available (GA) release (full stable release)

!!! Version Management

From maintenances point of, there are two types of releases.
* '''long term releases''' - will be supported for 2 years after it's release
* '''standard releases''' - will be supported up to the next release

The only difference is just for how long they are supported. The releasing process, stability and everything else is the same for all.

This model aims to maintain a decent balance between getting features out the door and supporting the existing release. People wanting new features can go for the standard releases, and those looking for stability and better support can stick with the long term support releases.
Changed line 38 from:
!!! New (2.0) design
to:
!!! OpenSIPS 2.0 version releases
January 18, 2013, at 03:07 PM by bogdan -
Changed lines 8-9 from:
'''OpenSIPS''' release policy is designed in such a way to be he '''open''' (everyone is involved), '''predictable and reliable''' (know what to expect) and '''transparent''' (to the whole community).
to:
'''OpenSIPS''' release policy is designed in such a way to be '''open''' (everyone is involved), '''predictable and reliable''' (know what to expect) and '''transparent''' (to the whole community).
Changed lines 12-14 from:
Instead of a feature driven release cycle, we will have a time driven release cycle,because it is more predictable and being feature driven may actually escalate the time to the next release.

There will be a 5-7 months release cycle, depending on the required volume of work for the respective release
to:
The release cycles is mainly '''time driven''' : a release each 5-7 months. depending on the required volume of work for the respective release
January 18, 2013, at 02:59 PM by bogdan -
Changed lines 8-11 from:
Following the 1.9 OpenSIPS release, the release policy has changed, in order to target making the release process :
* more open - anyone from community (and not only developers) should be able to contribute to the roadmap of the next release
* more predictable - everyone should know when and how the next release will be available, so they can rely and sync their own private schedules
* more transparent - the entire releasing process to be generally known in details, so we can achieve a better collaboration and interfacing between community and developer
to:
'''OpenSIPS''' release policy is designed in such a way to be he '''open''' (everyone is involved), '''predictable and reliable''' (know what to expect) and '''transparent''' (to the whole community).
January 17, 2013, at 05:21 PM by vlad_paiu -
Added lines 61-62:

----
January 17, 2013, at 05:02 PM by vlad_paiu -
Changed line 64 from:
* First code release of OpenSIPS 2.0 is available for public. Take a look at the [[ new design overview | http://www.opensips.org/Development/NewDesign ]] and also [[ see the stage1 || http://www.opensips.org/Development/NewDesignStage1 ]] available features.
to:
* First code release of OpenSIPS 2.0 is available for public. Take a look at the [[ http://www.opensips.org/Development/NewDesign | new design overview ]] and also [[ http://www.opensips.org/Development/NewDesignStage1 | see the stage1 ]] available features and how to download it.
January 17, 2013, at 05:01 PM by vlad_paiu -
Changed lines 53-56 from:
* long term releases -
* short term releases - at any moment, officially we will support only the last 2 stable
release
to:
* long term releases - will be supported for 2 years after it's release
* standard releases - will be supported for 1 year after it's release

Such a model should maintain a decent balance between getting features out the door and support. People wanting new features can go for the standard releases, and those looking for stability and better support can stick with the long term support releases.
Changed lines 60-61 from:
Once an OpenSIPS releases moves to unsupported status, it will not get any new bug fixes, any packaging or new tarballs.
to:
Once an OpenSIPS release moves to unsupported status, it will not get any new bug fixes, any packaging or new tarballs.
Changed lines 63-68 from:

* a complete new repository entry (probably GIT based) will be created for the new version (we need to keep the current trunk as testing ground for the 1.6 branch)

* the code already takes shape - once it will have a basic functionality (able to start, stop, create threads, cfg read, etc), we will upload the code on public repository.

* the first release of the 2.0 version is estimated to be done around beginning of 2011. Could be sooner or later, depending on challenges and support (man power) we will have.
to:

* First code release of OpenSIPS 2.0 is available for public. Take a look at the [[ new design overview | http://www.opensips.org/Development/NewDesign ]] and also [[ see the stage1 || http://www.opensips.org/Development/NewDesignStage1 ]] available features.
January 17, 2013, at 04:48 PM by vlad_paiu -
Changed lines 50-62 from:
Version Management
==================
- at any moment, officially we will support only the last 2 stable
release (by support I mean
troubleshooting, fixing bugs, backporting, etc)
- whatever is older than 2 stable release (like older than 1.7 now)
is unsupported (no fixing,
no packing, no new tarballs)
- when a new release gets to a full stable state, the window of 2
supported versions is shifted
(like when 1.9 will become stable, 1.7 will become obsolete and
unsupported).
to:
!!!! Version Management

We will have two types of supported OpenSIPS stable releases :
* long term releases -
* short term releases - at any moment, officially we will support only the last 2 stable
release

By supporting a version, we understand troubleshooting, fixing bugs, and backporting various new fixes from more recent OpenSIPS versions. Also, we will take care maintaining packages and tarballs for the supported releases.

Once an OpenSIPS releases moves to unsupported status, it will not get any new bug fixes, any packaging or new tarballs.
January 17, 2013, at 04:42 PM by vlad_paiu -
Changed lines 47-49 from:
** this will make the trunk free and available
for new work in the mean while (we overlap the testing on release N with the start
of release N+1)
to:
** this will make the trunk free and available for new work in the mean while (we overlap the testing on release N with the start of release N+1)
January 17, 2013, at 04:42 PM by vlad_paiu -
Changed lines 35-38 from:
Steps inside a Cycle
====================
- brainstorming on TODO list
- estimating the release time (T) based on the volume of work
to:
!!!! Steps inside a Cycle

* brainstorming on TODO list
* estimating the release time (T) based on the volume of work
Changed lines 40-53 from:
- actual work on implementing the items on TODO list ; it is
critical important to have a
better description / documentation / examples on the newly
added feature -> it will help
people to understand and use them from day 0 (an undocumented
super feature is an
inexistent feature)
- SVN freeze (no more new stuff) at T - 1 months ; at this point
the SVN trunk code
is moved in a new separate SVN branch (dedicated to that
release)-> Release Candidate
(or beta release) ; this will make the trunk free and available
for new work in the
mean while (we overlap the testing on release N with the start
to:
* actual work on implementing the items on TODO list ; it is
critical important to have a better description / documentation / examples on the newly
added feature,as this will help people to understand and use them from day 0 (an undocumented
super feature is an inexistent feature)
* SVN freeze (no more new stuff) at T - 1 months ; at this point
the SVN trunk code is moved in a new separate SVN branch (dedicated to that
release)-> Release Candidate (or beta release)
** this will make the trunk free and available
for new work in the mean while (we overlap the testing on release N with the start
Changed lines 50-51 from:
- testing, debugging - 1 month -> at T we have the GA release (full
stable release)
to:
* testing, debugging - 1 month -> at T we have the GA release (full stable release)
January 17, 2013, at 04:40 PM by vlad_paiu -
Changed line 25 from:
development and roadmap of the project to the entire community ( see [[ 1.9 example | Main.Ver190 ]] )
to:
development and roadmap of the project to the entire community ( see [[ Main.Ver190 | 1.9 example ]] )
January 17, 2013, at 04:39 PM by vlad_paiu -
Changed lines 25-26 from:
development and roadmap of the project to the entire community ( see [[ 1.9 example | http://www.opensips.org/Main/Ver190#toc15 ]] )
to:
development and roadmap of the project to the entire community ( see [[ 1.9 example | Main.Ver190 ]] )
Changed lines 29-31 from:
be documented and listed as new available features (see
[[ 1.9 example | http://www.opensips.org/Main/Ver190 ]])
to:
be documented and listed as new available features.
January 17, 2013, at 04:37 PM by vlad_paiu -
Changed lines 25-27 from:
development and roadmap of the project to the entire community ( see [ 1.9 example | http://www.opensips.org/Main/Ver190#toc15 ] )

maintain a web page with the TODO features that will be updated
to:
development and roadmap of the project to the entire community ( see [[ 1.9 example | http://www.opensips.org/Main/Ver190#toc15 ]] )

We will maintain a web page with the TODO features that will be updated
Changed lines 30-31 from:
http://www.opensips.org/Main/Ver190)
- as the release is time driven, the next release will contain only
to:
[[ 1.9 example | http://www.opensips.org/Main/Ver190 ]])


As the release is time driven, the next release will contain only
January 17, 2013, at 04:35 PM by vlad_paiu -
Changed lines 21-23 from:
Next Release TODO
==================
- on a new cycle, we should start with a brainstorming on what the
to:
!!!! Next Release Planning

On a new cycle, we will start with a brainstorming on what the
Changed lines 25-26 from:
development and roadmap of the project to the entire community.
- maintain a web page with the TODO features that will be updated
to:
development and roadmap of the project to the entire community ( see [ 1.9 example | http://www.opensips.org/Main/Ver190#toc15 ] )

maintain a web page with the TODO features that will be updated
January 17, 2013, at 04:34 PM by vlad_paiu -
Added lines 12-69:

!!!! Release cycles

Instead of a feature driven release cycle, we will have a time driven release cycle,because it is more predictable and being feature driven may actually escalate the time to the next release.

There will be a 5-7 months release cycle, depending on the required volume of work for the respective release

Smaller steps in releases will be more friendly to users as there are no big gaps between releases, easier and more appealing to upgrade. Also, shorter release cycles will make new features available in stable versions much faster.

Next Release TODO
==================
- on a new cycle, we should start with a brainstorming on what the
next release should contain (or focus on). This will open up the
development and roadmap of the project to the entire community.
- maintain a web page with the TODO features that will be updated
(this process is to be continuous); also the items that where address to
be documented and listed as new available features (see
http://www.opensips.org/Main/Ver190)
- as the release is time driven, the next release will contain only
the features (from TODO list, based on priorities) that can be done in
that time frame; the remaining list will be inherited by the next release.

Steps inside a Cycle
====================
- brainstorming on TODO list
- estimating the release time (T) based on the volume of work
(between 5-7 months)
- actual work on implementing the items on TODO list ; it is
critical important to have a
better description / documentation / examples on the newly
added feature -> it will help
people to understand and use them from day 0 (an undocumented
super feature is an
inexistent feature)
- SVN freeze (no more new stuff) at T - 1 months ; at this point
the SVN trunk code
is moved in a new separate SVN branch (dedicated to that
release)-> Release Candidate
(or beta release) ; this will make the trunk free and available
for new work in the
mean while (we overlap the testing on release N with the start
of release N+1)
- testing, debugging - 1 month -> at T we have the GA release (full
stable release)

Version Management
==================
- at any moment, officially we will support only the last 2 stable
release (by support I mean
troubleshooting, fixing bugs, backporting, etc)
- whatever is older than 2 stable release (like older than 1.7 now)
is unsupported (no fixing,
no packing, no new tarballs)
- when a new release gets to a full stable state, the window of 2
supported versions is shifted
(like when 1.9 will become stable, 1.7 will become obsolete and
unsupported).
January 17, 2013, at 04:01 PM by vlad_paiu -
Changed lines 10-11 from:
* more predictable - everyone should know when and how the next release will be available
* more transparent - the entire releasing process to be generally known in details
to:
* more predictable - everyone should know when and how the next release will be available, so they can rely and sync their own private schedules
* more transparent - the entire releasing process to be generally known in details, so we can achieve a better collaboration and interfacing between community and developer
January 17, 2013, at 04:00 PM by vlad_paiu -
Changed lines 8-11 from:
Following the start of the work for OpenSIPS 2.0, the priorities and policies on releases changed.

Right now, most of development effort is invested in the version 2.0 code. What this means:
to:
Following the 1.9 OpenSIPS release, the release policy has changed, in order to target making the release process :
* more open - anyone from community (and not only developers) should be able to contribute to the roadmap of the next release
* more predictable - everyone should know when and how the next release will be available
* more transparent - the entire releasing process to be generally known in details
January 17, 2013, at 03:50 PM by vlad_paiu -
Changed line 13 from:
!!!! New (2.0) design
to:
!!! New (2.0) design
January 17, 2013, at 03:50 PM by vlad_paiu -
Changed lines 13-23 from:
!!!! Old (existing) design

* there will be no more major release for this design - that's it, 1.6 is end of line

* bug fixes will be carried on as usual

* minor / essential improvements / adds-on will still be done on 1.6 branch

* minor releases on 1.6 branch will contain not only bug fixings, but also the improvements and adds-on ; actually 1.6 branch and trunk will contain the same code - trunk will be for coding and testing, 1.6 will be the stable - after a change/add-on is tested on trunk, it will be backported to 1.6 to be part of the next minor release.

!!!!! New (2.0) design
to:
!!!! New (2.0) design
January 17, 2013, at 03:49 PM by vlad_paiu -
Changed line 43 from:
!!!! Module maintainers
to:
!!! Module maintainers
January 17, 2013, at 03:49 PM by vlad_paiu -
Added lines 3-4:
(:toc-float Table of Content:)
Changed lines 6-7 from:
!!!! Release policy
to:
!!! Release policy
Changed lines 13-14 from:
!!!!! Old (existing) design
to:
!!!! Old (existing) design
Changed line 32 from:
!!!! Developers hierarchy
to:
!!! Developers hierarchy

Page last modified on November 06, 2020, at 05:19 PM