Hello,

I'm coming back with results and updates in regards to the OpenSIPS New Design (2.0).

OpenSIPS 2.0 successfully implemented and validated several key concepts - global reactor, async I/Os, context based processing, multi-threaded architecture, etc. Now is the time to get use of all these.

In order to speed up and simplify the process of getting all these deliverables (of OpenSIPS 2.0) into usage, we decide for a new approach when comes to OpenSIPS 2.0 (new design) and main OpenSIPS (1.12). Instead of developing in parallel a complete "new" OpenSIPS (the 2.0 version), we see a more manageable approach to do changes (towards the new design) step by step directly into the main code.

How does this work:
- OpenSIPS 2.0 will become OpenSIPS Experimental - it will never have a finality, it will be used as "playground" to test and validate concepts and implementations without affecting the main tree ; This OpenSIPS Experimental will have no versions, just the GIT revisions. - main OpenSIPS will continue the line (as so far) and, aside the normal devel, it will receive patches/ports from the experimental tree whenever a new concept was proofed and tested over there.


Implications:
- the term of "OpenSIPS 2.0" will be dropped (no longer used as a pointer to the new design) - the OpenSIPS Experimental will be used instead - as first step, for the next OpenSIPS main release, we will port from the OpenSIPS Experimental the async reactor (first stage) and the processing contexts (first stage). - OpenSIPS main 1.12 (trunk) will become OpenSIPS 2.1 (trunk/devel) - this increase of the major version reflects the first accomplishments in regards to the new design.


The releasing policy will also suffer some changes (to better cope with the work on the new design): - following the linux kernel model, the odd versions will be reserved for unstable/beta versions - like the current unstable will be 2.1 ; the stable released versions will get only even numbers - next stable release will be OpenSIPS 2.2 ; As now, the minor release on a stable branch will get the third index - like 2.2.1, 2.2.2, etc - as more complex work is intended (as porting from OpenSIPS Experimental), the targeted release cycle will be increased from 6 to 12 months (roughly one manjor release per year); This will make the release cycling more efficient (as resources and testing), but also spare the users of the burn of keep updating every 6 months.


This is a major step in the evolution of OpenSIPS - it took a lot of work and time, many people were involved (with ideas and code) - and got the point to deliver to our users important enhancements. Based on the experience we got during the past years, we do believe this new approach on how to get to the "new design" will accelerate the work and it will deliver usable feature much faster.


Any feedback, comments (positive or negative) or ideas are mote than welcome - we will be more than glad to adapt. Also, as Razvan will shortly announce, these topics (around OpenSIPS 2.0) will be part of the next IRC public meeting (next week) - we really want to have as many people as possible involved in these changes.

Best regards,
(and sorry for the long email)

--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to