Discussion:
[OpenSIPS-News] OpenSIPS 2.0 - results, updates and implications
Bogdan-Andrei Iancu
2014-09-16 10:08:00 UTC
Permalink
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
Loading...