[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [eclipse-pmc] RE: version numbering semantics | 
Hi all,
 
thanks for your comments about version numbering. 
 
I 
have filed Orbit bug 262015 [1] 
asking for an infrastructure to announce version semantics of its 
bundles; 
and, AC bug 262018 [2] 
depending on that one, to revise the version numbering guidelines such that its 
text takes external libs (and the upcoming Orbit infrastructure) into 
account. 
 
Please join the discussion on these bugs if you are 
interested.
 
 
Cheers,
--
Martin Oberhuber, Senior Member of Technical 
Staff, Wind River
Target Management Project 
Lead, DSDP PMC Member
 
 
  
  
  What I was suggesting during the call was to review the versioning 
  guidelines [1] because they are eclipse specific when explaining how to 
  specify version ranges. For example we say "Given that all the changes between 
  the version x.0.0 and the version x+1.0.0 excluded must be compatible (given 
  the previous guidelines); the recommended range includes the minimal required 
  version up-to but not including the next major release."
I think that in 
  addition to that, we should have something saying that for bundles not hosted 
  at eclipse, the version range should be written in accordance to the version 
  semantics used by the author of the plug-in (for example if someone was 
  manifesting breaking change by simply changing the second digit, you would 
  need to know). Caveat, of course, most ppl producing the libraries we consume 
  probably have never thought about what they will use as a future version 
  number...
Now in eclipse, because we don't want everyone asking the same 
  question, a description of the version semantic used and/or the range 
  recommended to use could be captured in Orbit.
As for massaging the 
  version number when it gets in Orbit, this is a big no-no to me. This will be 
  too confusing but more importantly would assume that we had somewhat 
  "guaranteed" that the component is actually compatible in the way we claim it 
  is. In your example, how would we guarantee that the runtime behavior of 4.0 
  (now named 3.8.40) is compatible with 3.8.0? 
As for p2 using the 
  original version number and version range matching the semantics of the 
  original version, this would only work at the p2 level and the OSGi level 
  would still suffer from the same issue.
PaScaL
[1] http://wiki.eclipse.org/Version_Numbering
 "Oberhuber, Martin" ---01/21/2009 11:32:02 AM---* The problem: 
  icu4j delivers 4.0 without major breakage - Consumers import [3.8,4.0) and get 
  broken
"Oberhuber, Martin" ---01/21/2009 11:32:02 AM---* The problem: 
  icu4j delivers 4.0 without major breakage - Consumers import [3.8,4.0) and get 
  broken
  
    
    
      |  From:
 |  "Oberhuber, Martin" 
        <Martin.Oberhuber@xxxxxxxxxxxxx>
 | 
    
      |  To:
 |  Pascal 
        Rapicault/Ottawa/IBM@IBMCA
 | 
    
      |  Cc:
 |  Mike 
        Wilson/Ottawa/IBM@IBMCA, "Jeff McAffer" 
        <jeff@xxxxxxxxxxxxxxxxx>
 | 
    
      |  Date:
 |  01/21/2009 11:32 AM
 | 
    
      |  Subject:
 |  version numbering 
    semantics
 | 
  
  
  
    
      - The problem: icu4j delivers 4.0 without major 
      breakage - Consumers import [3.8,4.0) and get broken 
      
- Ideas: 
      
        
          - Orbit to have a policy that when adding a lib, 
          the version semantics must be specified somehow (in order to educate 
          consumers that they better consume [3.8,10.0) for instance 
          
- Have version numbers "translated" when bundling 
          for orbit, e.g. bundle icu4j 4.0 in orbit as version 3.8.40 
          
- Have p2 translate "external" 
        semantics
 
 
Anything 
  else?
Anything to be discussed on the orbit-dev 
  mailing list or on the architecture council?
Cheers,
--
Martin 
  Oberhuber, Senior Member of 
  Technical Staff, Wind 
  River
Target Management Project 
  Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm