You really like typing long e-mails! :) > Op 15 juni 2016 om 2:39 schreef John Burwell <john.burw...@shapeblue.com>: > > > All, > > We have been discussing whether or not the next release would introduce the > need to increment the major revision number from 4 to 5 (i.e. become 5.0.0). > While I think we are very close to the time to have a 5.0.0 release, I don’t > think the next release will introduce any backwards compatible changes that > necessitate. However, Wido has brought two important questions — What are > our goals for a 5.0.0 release? When do we think we should target its release? > I think we should address and gain consensus on these issues now rather than > allow circumstances to answer them for us. > > Since I joined the community (back in the 4.1.0 days), 5.0.0 was a mythical, > someday release when CloudStack would have a perfect architecture, build > process, etc. -- a unicorn jumping a rainbow. I realize that I have fallen > into the trap of seeing 5.0.0 as some endpoint of perfection rather than an > important milestone in the on-going improvement and evolution of the project. > Thinking it about is the former rather than the later, I realize that we > have a legacy cruft that we need to discard in order to move forward and > architectural design improvements that we must implement to address emerging > infrastructure requirements. I think we would be wise to separate these two > objectives into a 5.0.0 release (cruft removal/breaking refactorings) and > 6.0.0 (backwards incompatible architectural redesign). Not only do I see > this approach as a risk mitigation, but also as a way to deliver improvements > to users and developers as quickly as possible. > > For 5.0.0, my thought is that we would target the following high-level > objectives: > > * Drop Java7 and adopt Java8 runtime and language features > * Drop support for any hypervisor versions no longer supported by their > vendors or communities > * Drop any plugins which are no longer maintained or for which the community > has no means to test > * Drop support for any distributions no longer supported by their vendors or > communities
+1 to these points above. > * Define an official support matrix for the project > * Adopt a formal policy for sunsetting support of components based on the > end-of-life dates set by their vendors or communities > * Refactoring/cleanup of various APIs > * Embedded Jetty/uberjar/unified YAML file configuration > Not completely sure about a official support matrix, but I get the point. > While I am sure there are more clean up items, the focus of the release would > be to discard pieces that are in the way on further improvement. > > 6.0.0 would be released within 9-12 months of 5.0.0 — giving the community > time to build atop 5.0.0 to redesign/improve the architecture of the system. > > I would like to see 5.0.0 released by the end of 2016 or at the beginning of > 2017. Based on the release plan I previously proposed, we would have the > following releases remaining in 2016 and in early 2017: > > * 4.10 releasing on or about 28 August 2016 > * 4.11 releasing on or about 23 October 2016 > * 4.12 releasing on or about 18 December 2016 > * 4.13 release on or about 5 February 2017 > > 4.12 seems to be the sweet spot in the schedule to cut the 5.0.0 release > described above. It would give us sometime to plan and gain consensus around > the changes in both the user and dev communities. It would also allow the > second LTS release to be based on 5.0.0 — allowing both release cycles to > take advantage of the reduced support requirements and Java8 language > features. Based on this proposal, the releases above would change to the > following: > > * 4.10 releasing on or about 28 August 2016 > * 4.11 releasing on or about 23 October 2016 > * 5.0.0 releasing on or about 18 December 2016 > * 5.1.0 release on or about 5 February 2017 > My question is mainly who is going to support all versions and maintain them. Developers like to work on the newest stuff, so we get back to the LTS version. Person A fixes something in 5.0 and doesn't want/like to backport it to 4.X, what happens? I'm all in favor of a 5.0 release, but we get back to the previously discussed topics around a LTS and the different views on that. > 6.0.0 would be targeted for release in 4Q2017 — providing 9-12 months to > design and implement architectural improvements. > I think that 6.0 is to close, 9 months is not a lot of time for us at the moment. > Thoughts? Other paths to 5.0.0 and beyond? > -John > john.burw...@shapeblue.com > www.shapeblue.com > 53 Chandos Place, Covent Garden, London VA WC2N 4HSUK > @shapeblue > >