Development -> Development
1. 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 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)
2. 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.
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.
3. 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.
4. 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 Contributing page.
- packagers - people taking care of OpenSIPSpackaging (for different OS's) ; they are in-charge with maintaining the specs and preparing packages.
5. Module maintainers
- acc - Bogdan-Andrei Iancu
- alias_db - commonly maintained
- auth - Bogdan-Andrei Iancu
- auth_db - Bogdan-Andrei Iancu
- auth_diameter - unmaintained
- auth_radius - commonly maintained
- avpops - Bogdan-Andrei Iancu
- avp_radius - commonly maintained
- benchmark - Bastian Friedrich
- call_control - Dan Pascu
- carrierroute - commonly maintained
- cfgutils - commonly maintained
- closeddial - Sergio Gutierrez
- cpl-c - Bogdan-Andrei Iancu
- db_berkeley - Will Quan
- db_flatstore - commonly maintained
- db_mysql - commonly maintained
- db_oracle - commonly maintained
- db_postgres - Greg Fausak
- db_text - commonly maintained
- db_unixodbc - commonly maintained
- dialog - Bogdan-Andrei Iancu , Ovidiu Sas
- dialplan - Anca Vamanu
- dispatcher - commonly maintained
- diversion - commonly maintained
- domain - commonly maintained
- domainpolicy - commonly maintained
- drouting - Bogdan-Andrei Iancu
- enum - commonly maintained
- exec - Bogdan-Andrei Iancu
- gflags - Bogdan-Andrei Iancu
- group - Bogdan-Andrei Iancu
- group_radius - commonly maintained
- h350 - Christian Schlatter
- identity - Bogdan-Andrei Iancu
- imc - Anca Vamanu
- jabber - Anca Vamanu
- lcr - commonly maintained
- ldap - Christian Schlatter
- load_balancer - Bogdan-Andrei Iancu
- localcache - Anca Vamanu
- mangler - 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 - commonly maintained
- nathelper - Bogdan-Andrei Iancu , Maxim Sobolev
- nat_traversal - Dan Pascu
- options - commonly maintained
- osp - Di-Shi Sun, Dmitry Isakbayev
- path - commonly maintained
- pdt - commonly maintained
- peering - commonly maintained
- perl - Bastian Friedrich
- perlvdb - Bastian Friedrich
- permissions - 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 - commonly maintained
- sst - Ron Winacott
- statistics - Bogdan-Andrei Iancu
- textops - commonly maintained
- tlsops - commonly maintained
- tm - Bogdan-Andrei Iancu
- uac - Bogdan-Andrei Iancu
- uac_redirect - Bogdan-Andrei Iancu
- uri - commonly maintained
- uri_db - Sergio Gutierrez
- uri_radius - commonly maintained
- userblacklist - commonly maintained
- usrloc - Bogdan-Andrei Iancu
- xcap_client - Anca Vamanu
- xlog - commonly maintained
- xmpp - Anca Vamanu