Development

Development.Development History

Hide minor edits - Show changes to markup

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).

  • 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
  • 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).

  • Release Interval
    • the major release cycle is 1 year
    • the beta version release date is around the second half of March
    • the stable version release date is around the beginning of May
  • 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 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 TODO list for the next release to fit the time frame; list may be dynamically updated.
to:
  • compile a 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 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 new design overview and also 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:

  1. core developers - developers taking care of OpenSIPS core, of the overall architecture and design
  2. 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)
  3. tool maintainers - developers not involved in OpenSIPS core or modules, but in surrounding tools and utilities (control tool, DB scripts, utilities, etc)
  4. contributors - developers randomly contributing to OpenSIPS by providing patches (for fixes or new features). For how this works, see Contributing page.
  5. packagers - people taking care of OpenSIPSpackaging (for different OS's) ; they are in-charge with maintaining the specs and preparing packages.

Module maintainers

  1. acc - Bogdan-Andrei Iancu
  2. alias_db - commonly maintained
  3. auth - Bogdan-Andrei Iancu
  4. auth_db - Bogdan-Andrei Iancu
  5. auth_diameter - unmaintained
  6. auth_radius - commonly maintained
  7. avpops - Bogdan-Andrei Iancu
  8. avp_radius - commonly maintained
  9. benchmark - Bastian Friedrich
  10. call_control - Dan Pascu
  11. carrierroute - commonly maintained
  12. cfgutils - commonly maintained
  13. closeddial - Sergio Gutierrez
  14. cpl-c - Bogdan-Andrei Iancu
  15. db_berkeley - Will Quan
  16. db_flatstore - commonly maintained
  17. db_mysql - commonly maintained
  18. db_oracle - commonly maintained
  19. db_postgres - Greg Fausak
  20. db_text - commonly maintained
  21. db_unixodbc - commonly maintained
  22. dialog - Bogdan-Andrei Iancu , Ovidiu Sas
  23. dialplan - Anca Vamanu
  24. dispatcher - commonly maintained
  25. diversion - commonly maintained
  26. domain - commonly maintained
  27. domainpolicy - commonly maintained
  28. drouting - Bogdan-Andrei Iancu
  29. enum - commonly maintained
  30. exec - Bogdan-Andrei Iancu
  31. gflags - Bogdan-Andrei Iancu
  32. group - Bogdan-Andrei Iancu
  33. group_radius - commonly maintained
  34. h350 - Christian Schlatter
  35. identity - Bogdan-Andrei Iancu
  36. imc - Anca Vamanu
  37. jabber - Anca Vamanu
  38. lcr - commonly maintained
  39. ldap - Christian Schlatter
  40. load_balancer - Bogdan-Andrei Iancu
  41. localcache - Anca Vamanu
  42. mangler - unmaintained
  43. maxfwd - Bogdan-Andrei Iancu
  44. mediaproxy - Dan Pascu
  45. mi_datagram - Bogdan-Andrei Iancu
  46. mi_fifo - Bogdan-Andrei Iancu
  47. mi_xmlrpc - Bogdan-Andrei Iancu
  48. mmgeoip - Kobi Eshun
  49. msilo - commonly maintained
  50. nathelper - Bogdan-Andrei Iancu , Maxim Sobolev
  51. nat_traversal - Dan Pascu
  52. options - commonly maintained
  53. osp - Di-Shi Sun, Dmitry Isakbayev
  54. path - commonly maintained
  55. pdt - commonly maintained
  56. peering - commonly maintained
  57. perl - Bastian Friedrich
  58. perlvdb - Bastian Friedrich
  59. permissions - commonly maintained
  60. pike - Bogdan-Andrei Iancu
  61. presence - Anca Vamanu
  62. presence_dialoginfo - Anca Vamanu
  63. presence_mwi - Anca Vamanu
  64. presence_xcapdiff - Saúl Ibarra Corretgé
  65. presence_xml - Anca Vamanu
  66. pua - Anca Vamanu
  67. pua_bla - Anca Vamanu
  68. pua_dialoginfo - Anca Vamanu
  69. pua_mi - Anca Vamanu
  70. pua_usrloc - Anca Vamanu
  71. pua_xmpp - Anca Vamanu
  72. qos - Ovidiu Sas
  73. ratelimit - Ovidiu Sas
  74. regex - Iñaki Baz Castillo
  75. registrar - Bogdan-Andrei Iancu
  76. rls - Anca Vamanu
  77. rr - Bogdan-Andrei Iancu
  78. seas - Andrei Pisau
  79. signaling - Anca Vamanu
  80. siptrace - Bogdan-Andrei Iancu
  81. sl - Bogdan-Andrei Iancu
  82. sms - Bogdan-Andrei Iancu
  83. snmpstats - Jeffrey Magder
  84. speeddial - commonly maintained
  85. sst - Ron Winacott
  86. statistics - Bogdan-Andrei Iancu
  87. textops - commonly maintained
  88. tlsops - commonly maintained
  89. tm - Bogdan-Andrei Iancu
  90. uac - Bogdan-Andrei Iancu
  91. uac_redirect - Bogdan-Andrei Iancu
  92. uri - commonly maintained
  93. uri_db - Sergio Gutierrez
  94. uri_radius - commonly maintained
  95. userblacklist - commonly maintained
  96. usrloc - Bogdan-Andrei Iancu
  97. xcap_client - Anca Vamanu
  98. xlog - commonly maintained
  99. xmpp - Anca Vamanu
September 17, 2018, at 02:25 PM by liviu -
Changed line 1 from:
Development -> Development
to:
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:
  1. xmpp - Anca Vamanu
to:
  1. 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 new design overview and also see the stage1 available features and how to download it.
to:

OpenSIPS Experimental

  • Take a look at the new design overview and also 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 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:
  • 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.
  • 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:
to:
  • First code release of OpenSIPS 2.0 is available for public. Take a look at the new design overview and also 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:
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 Main.Ver190? )

to:

development and roadmap of the project to the entire community ( see 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 http://www.opensips.org/Main/Ver190#toc15? )

to:

development and roadmap of the project to the entire community ( see Main.Ver190? )

Changed lines 29-31 from:

be documented and listed as new available features (see 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 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:

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