The Source for Java Technology Collaboration
User: Password:



Patrik Beno's Blog

Patrik Beno Patrik Beno is the J2EE Software Architect in Cleverlance, a Central-European provider of open multi-tier solutions. He is focused on frameworks and tools that help us all develop better software. As an architect he tries to make software development an enjoyable experience. Besides this, he is a devoted husband and father of five kids.



Versioning: Can Be Done Right?

Posted by patrikbeno on May 30, 2008 at 09:56 AM | Permalink | Comments (37)

JSR #277: Stanley Ho explains versioning... Sounds like a bad idea to me...
I have commented his post. Anyway, I think the idea deserves its own blog post: I hope to see some discussion about it. And I really wonder what your opinions are.

Here it is:


Major? Minor? Micro? Update? 3 or 4 numbers?

IMHO, doesn't matter at all...

Stanley, what happened to or what is wrong with my proposal of versioning?

With proposed solution (version compatibility based on version history), module system would not have to do any potentially incorrect assumptions, it would not enforce the-one-versioning-policy-to-rule-them-all ... simply, it would be more flexible

Point is:
(a)library client MAY NOT know what future versions he will be compatible with, but
(b)library provider DOES know if he breaks anything from the past or not…

You could have versioning sequence like this (trying to make my point, not to be factually exact):

  1. kestrel
  2. merlin (backward-compatible=false)
  3. hopper
  4. mantis
  5. tiger (backward-compatible=false)
  6. 6.0 (backward-compatible=false)
(legend)

Version 7.0 might break your app or might not… You don't know TODAY. Developers of 7.0 WILL know better… TOMORROW

Your dependency could read like:

  • depends: merlin (ignore:mantis) #mantis has some known regression bug

Module system gives you either Merlin, Hopper, Tiger or 6.0.
When 7.0 will be released, you might end up running under 7.0 as well, if it WILL be declared compatible… It not (backward-compatible=false), 7.0 won't get into your way…

I would LOVE to know what is wrong whit THIS approach… Because to me this is more sound a solution than playing games with numbers...

June 2008
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          


Search this blog:
  

Categories
Community
JSR
Programming
Archives

May 2008
December 2006
October 2006
November 2004

Recent Entries

Versioning: Can Be Done Right?

JSR #277 Follow Up

JSR 277 Review



Powered by
Movable Type 3.01D


 Feed java.net RSS Feeds