Hi Matt,

First of all, I very much enjoy the effort and energy you are driving this 
forward!

The task list for a release you summarized below already is very complete I think, but of course the devil is and will be in the details :)

More comments below.

On 05/26/2011 11:32 PM, Franklin, Matthew B. wrote:
Assuming we are still going for a June 15th release date (approximate), I
wanted to make sure the community is in agreement with what will be in
scope.  The following are the release notes prepared from JIRA.  Any
issues that are not yet resolved are noted with a -- prefix

Release Notes - Rave - Version 0.1-INCUBATING

** Technical task
   * [RAVE-14] - Create basic object model to support rendering of widgets
   * [RAVE-15] - Implement basic JPA persistence layer
   * [RAVE-16] - Create basic page rendering
   * [RAVE-17] - Implement OpenSocial/Shindig Common Container
   * [RAVE-18] - Implement basic user logon features
   * [RAVE-19] - Add gadget container-side hooks
--* [RAVE-20] - Implement container/shindig auth
--* [RAVE-27] - Implement User Prefs

** Story
--* [RAVE-12] - Render OpenSocial Gadgets on Page in iFrames
--* [RAVE-30] - Render W3C widgets on Page in iFrames
   * [RAVE-32] - Create basic widget repository
   * [RAVE-33] - Create the ability to move widgets on a page


We nee our mentors to help us through this process, but I *think* we need
the following before release:

* Add a Release Management guide on the site
(see more about that below)
* Create a dedicated issue for managing/tracking the release tasks
* Discuss and decide what to release, e.g. just a source or also a binary 
(demo)?
* Finish outstanding issues or pull them out of scope for release
* Issue verification&  closure (testing)
* License marking verification
Basic check can be done automatically with mvn verify -P pedantic (executing maven-rat-plugin). I just did and found a few astray sources, which I'll pick up to fix shortly.

* Dependency verification
Very good point: this is a (very) often overlooked task in general IMO (not just for releases and not just for Incubator projects).
-> $mvn dependency:tree

* IP verification
* Wire up nexus for artifact release
Already done, e.g. we already can deploy SNAPSHOTS and AFAIK staging/releasing should thereby already be enabled too. Might need a check though.

* Appoint a release manager
* Create a release tag and make release candidate artifacts available (staging)
* Hold a community vote
* Hold an IPMC vote

And, if the release is accepted:
* Release the release artifacts
* Send out a release announcement


I plan on taking on the container/shindig auth piece next week, Jesse is
currently working on user prefs, and Ross is working on implementing the
call to Wookie to get the iFrame URL for the given context.  I think if we
don't have these issues completed by end of next week, we should pull them
from the 0.1 release and move forward.
+1


We will need to get volunteers to test the various issues.  As we agreed
earlier, it is best if the person implementing the issue doesn't
test/close the issue.
I can allocate time next week to start testing some issues/features next week.
Note: I'll be away to Berlin (http://berlinbuzzwords.de/ ) from 6/3 till 6/8, but probably available some time during the evenings.


As for the IPMC&  license tasks, I don't know what our first steps are
supposed to be (although I am sure there is a guide I need to read).
Main guide is here: http://incubator.apache.org/guides/releasemanagement.html
That guide is draft (always I'm afraid) and rough around the edges, broken links etc., but in general it covers everything we should be concerned of.

The license and IP verification isn't that difficult IMO, especially not as (AFAIK) all we'll release is newly written source or has ASL compatible dependencies only. Primarily the license headers, NOTICE and DISCLAIMER are of most concern, *and* having these appropriately embedded in the right location in the distributed archives and (maven) artifacts.

The IPMC requirements and voting procedures aren't difficult, we just need to follow the guideline, and expect detailed scrutiny from IPMC members :)

Concerning the release procedure itself, a very good and important advise from the guideline is to describe and publish our own release process management. I've looked around a bit what other (Incubator) projects have for this and found in particular the documentation from the Bean Validation project impressive: http://incubator.apache.org/bval/cwiki/release-management.html My advise is to write something similar (shameless copying allowed), and keep refining it whenever we encounter an issue to handle so subsequent releases will become easier every time.


Thoughts?

-Matt


Reply via email to