Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 422449

Summary: Document the Sirius compatibility and migration policy
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: CoreAssignee: Pierre-Charles David <pierre-charles.david>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: florian.barbin, laurent.redor, stephane.bonnet
Version: unspecifiedKeywords: triaged
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Pierre-Charles David CLA 2013-11-25 04:22:57 EST
We need to have a well-defined policy regarding compatibility between Viewpoint, pre-1.0 versions of Sirius, and Sirius 1.0 an up. This includes the guarantees we want to offer to users of the Viewpoint technology (before it was called Sirius and open-sourced), and what these users will need to do ti migrate to Sirius.

A first, incomplete draft is available at http://wiki.eclipse.org/Sirius/Compatibility_and_Migration.

Remarks and discussion (if any) about the rules defined in that document should go on this bug; the document will be modified to always reflect the current decision.
Comment 1 Pierre-Charles David CLA 2013-11-25 06:08:54 EST
One thing currently missing from the document is which Eclipse versions we want to support. The main target is clearly Luna (4.4), but we currently have clients which are on Helios (3.6) and as part of Obeo Designer we mainly test on Eclipse 3.8.

This means the code currently has to build and work on 6 versions of Eclipse: Helios (3.6), Indigo (3.7), "Juno 3" (3.8), Juno (4.2), Kepler (4.3) and Luna M3 (4.4). I don't believe this is sustainable (particularly in terms of testing) and propose that we concentrate on:
- Eclipse 3.8, as the last of the 3.x, as we expect many users to stay on 3.x as long as they can to avoid the changes implied by moving to 4.x.
- Kepler (4.3), at least until we ship Sirius 1.0, as this is the stable version early adoprters of Sirius milestones will most likely be using unless they fell very adventurous and try Luna milestones.
- Luna (4.4) as our main target, as we are part of the train.

This means we could abandon 3.6, 3.7 and 4.2 right now, and Kepler probably next year.
Comment 2 Stephane Bonnet CLA 2013-11-25 10:35:23 EST
I confirm Thales will not need Sirius on Eclipse 3.6. Our main target at this stage is Eclipse 3.8
Comment 3 Laurent Redor CLA 2013-11-28 10:31:35 EST
The migration of Viewpoint models, representations files (.aird) and VSM (.odesign), and Modeling Projects to Sirius 0.9.0 are handled by https://bugs.eclipse.org/bugs/show_bug.cgi?id=422478. See this bugzilla for specific informations on this part.
Comment 4 Pierre-Charles David CLA 2014-12-31 10:15:39 EST
Moving to 3.0 to rework on this and publish a stable/finished version. In particular, one point the document should handle is users who may be worried to see the major version of Sirius moving so fast (2 to 3 major versions each year), which could imply that we break all our APIs all the time. We should make it clear that this is not the case and distinguish:
* Sirius models (aird and odesign), for which we guarantee transparent upward migration "forever" (at least until further notice).
* Core Sirius APIs, the ones most likely to be actually used by advanced modelers and downstream projects. For example I believe none of these was modified between 1.0 and 2.0, see for example Ecore Tools and UML Designer, which although they use some of our APIs work the same with 1.0 and 2.0.
* Non-core Sirius APIs, mostly things made public by a Sirius bundle to be used by another Sirius bundle, and also some more advanced/obscure APIs. These are more likely to be broken between major versions, but: we try (or should try) to first deprecate an osbolete API for one major version before it is actually removed, and all changes are described in details in the release notes, with pointers to alternative/prefered APIs where appropriate.

The two levels of APIs is currently mostly informal and defined "de facto" by "what is actually used in practice by the Sirius-based systems we are most aware of". Maybe we should think of a way to make this distinction clearer and base it on well thought and well defined criteria.
Comment 5 Pierre-Charles David CLA 2015-06-24 11:13:53 EDT
Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0.
Comment 6 Pierre-Charles David CLA 2015-06-25 10:25:16 EDT
This was closed by mistake as part of the bulk operation on all the Sirius 3.0.0 tickets. It was planned for 3.0 but does not actually involve any code, only a wiki page. I'll try to get to this in the next few days/weeks, but this is actually independent of a specific release schedule.