CRT » Sponsor Tasks
en

Sponsor Tasks

Sponsor Tasks The following outlines the process involved in being a sponsor. Note that we hope that many of these tasks will diminish over time, especially those “proxy” operations which currently require SWAN access. Note that, like much of our process, this is shrink-to-fit: many of these tasks are not needed for smaller changes.   

Starting out

  • First sign up to become a sponsor.
  • Subscribe to the request-sponsor@opensolaris.org mailing list. This is the list used by sponsors to pick up a request and announce any changes in the state of the request.
  • Check out the full list of requests first to see if there are any requests awaiting a sponsor that fit your interest and experience. If nothing is pending or fits your experience, watch for new requests on the mailing list.
  • When a request for sponsorship comes by which matches your interest, experience and availability, reply-all that you are volunteering to be the sponsor for that request, then take further discussion off-line with the contributor. Keep the contributor copied on just about all subsequent discussion in the steps below.
  • Become familiar with the steps the contributor should perform and their instructions, so you can best gauge how to guide them.
  • Triage: bug/RFE/project?
  • Filing/updating bugs
    • Add “oss-sponsor” to the keyword list.
    • If you are filing a new bug or the existing bug does not have the "oss-request" keyword, add that keyword to the keyword list.
    • Put your e-mail address in Hook 5.
    • Put the contributor's e-mail address in Hook 6. If there is an address already in Hook 6 field, replace it with the contributor's email address.
    • The name of the contributor should be listed somewhere in the bug report, preferably in the Evaluation and/or Suggested Fix text as appropriate.
    • Mark yourself as the Responsible Engineer. Note that if this field is already filled in, then you should contact the RE and decide whether s/he should take over sponsorship instead, or if the RE should pass the bug on to you, or perhaps some other arrangement.
    • Notify the contributor of changes in the bug report as needed. Refer the contributor to the public bug report on bugs.opensolaris.org. Do not forward any e-mail updates from Bugster, as they may contain Oracle confidential information. It is now possible to add the contributor to the Interest List for the bug, and Bugster will send sanitized externally safe versions of the bug report to the contributor whenever an update is made. Please be aware that this sanitized email strips out all email addresses, including RE and the sender, so external folks may have a difficult time finding the correct address to reply-to if you haven't already established direct contact.
  • Sponsors are responsible for updating the status of their work on contributions on an  internal wiki once a month. A reminder e-mail message with specific instructions will be sent out on the first of each month. Please follow the directions in those messages. DO NOT use the internal wiki to announce that you have picked up a request to sponsor or to announce changes to the state of a request in progress. As noted in the first bullet above, e-mail MUST be sent to the request-sponsor@opensolaris.org mailing list for those purposes.

Develop, Test, Repeat

  • Coordinate with technology owner(s).
  • Help determine ideal design reviewers (if needed).
  • ARC review (if needed):
    • The contributor should write the case, but may need help if s/he is inexperienced with the ARC (which nearly all contributors will be at the beginning).
    • Find a sponsor.
    • Note: if you are an ON CRT advocate, but not a SAC licensee, why not? Inquire about becoming one.
    • Copy the contributor when submitting case(s), and make sure s/he is involved in any ensuing discussion.
  • Provide old SCCS delta comments when requested.
    • Check before providing actual old SCCS deltas, as old deltas may be encumbered.
  • Assist the contributor with running nightly builds, if needed. Also, note that you will be doing the integration yourself, so you should apply the patch to a workspace of your own and run nightly on it.
  • Assist the contributor in determining what test suites should be run, running them if needed (not all are available externally), etc. And again, since you will be doing the integration, test this as thoroughly as you would test a wad of your own.
  • Note that the contributor can use the available self-service testing facility or the test farm for testing.

Getting ready to integrate

  • Help determine ideal code reviewers.
  • Per the CDDL block text, the contributor may add a comment
/* Portions Copyright YYYY Firstname Lastname */

 in the copyright section following the CDDL block at the top of the file. And regardless of whether such a comment is added or not, the Oracle copyright should be updated appropriately.

  • Ensure the contributor has a valid OCA on file (Oracle internal listing). You can check  the request-sponsor table to see if the OCA number is listed for the contributor. If not, check with the contributor to sure s/he filed the form and find out the number. There is also an internal table available that can be checked. If you don't know where this table is located, check with website-admin@opensolaris.org.
  • Filing RTIs
    • Select a good RTI advocate.
    • List the contributor in the Cc: field.
    • The Third Party Source question on the WebRTI form must be answered with the name of the contributor and the associated OCA#. With this information cited, no further diligence related to the contribution will be required. 

Acknowledging the contributor 

There are two main ways the contributor can be credited at integration time. Either is acceptable, but at least one must be done. In both cases, the change-set comment should be the usual bug-ID and synopsis, plus any ARC cases.

  1. The contributed changeset(s) can be committed by the Contributor, instead of the Sponsor. This can be done using either "login " or "full name " format for hg user. If the Contributor does a commit and supplies the Mercurial bundle of the changeset(s), this will be correctly done. If the Contributor supplies a patch, and the Sponsor then applies the patch and commits the changes, they will need to use hg commit - or hg recommit -u to set this correctly. If you have cause to merge and thus recommit, you should use the -u option to recommit to preserve the author: field. When the Sponsor pushes the changes to the gate, the From: field of the notification email will identify the Sponsor, not the Contributor. Both Sponsor and Contributor can be identified through either the bug report(s) or the RTI
  2. Or, this second approach can be used where the contributor is acknowledged with the changeset(s) comment. There are some minor variants on the format, in that there are two different beginning forms of such lines and two different end forms. The beginning forms are:
Contributed by

 and

Portions contributed by

 The end forms are:

Firstname Lastname.

 and

Firstname Lastname <something@example.com>.

 In case it is not obvious, the overall line should have one of the two beginning forms, then a space, then one of the two end forms.

Integration

  • Forward the push message to the contributor.
  • Coordinate any ongoing issues with gate-keepers.

When to Suspend a Request

There has been some confusion about what do to when a contribution, or a contributor, goes 'stale' for some reason. Following are some guidelines that explain the 'suspended' list: what it is, how it works and when and how to use it.

  • The 'suspended' list is used for requests that are no longer being worked by contributors for any reason: they no longer have time, are no longer available, have retracted a request, etc.
  • The 'suspended' list is kept on the overall request-sponsor table because metrics are generated on a regular basis about the program (so requests can't just disappear).
  • Anything put on the 'suspended' list is available for work by other Contributors or Oracle engineers.

Reasons to suspend a request and Actions to take

  • Contributor is no longer available to work on the bug:
    • Sponsor sends email to request-sponsor saying the request should be moved to the 'suspended' list and why.
    • Sponsor removes the oss-sponsor and oss-request keywords from the CR in bugster.
    • Sponsor removes the contributor's email address from the Hook 6 field.
  • Contributor is no longer responding to email from the Sponsor:
    • Sponsor sends a last email warning to the Contributor indicating that if a response is not received by a certain date, the request will be moved to the 'suspended' list;
    • If agreement is reached, Sponsor sends email to request-sponsor saying the request should be moved to the 'suspended' list and why;
    • If no response by the specified date, Sponsor sends email to request-sponsor saying the request should be moved to the 'suspended' list and why.
    • Sponsor removes the oss-sponsor and oss-request keywords from the CR in bugster.
    • Sponsor removes the contributor's email address from the Hook 6 field.
  • Contributor does not want or is unable to fulfill his/her responsibilities with regard to building, testing, code review feedback, etc:
    • Sponsor sends email to the Contributor re-iterating responsibilities of a Contributor and explaining that if Contributor is unwilling/unable to fulfill his/her responsibilities, the Sponsor will not be able to continue as Sponsor and the request will be moved to the 'suspended' list;
    • If the determination is to move the request to the 'suspended' list, Sponsor sends email to request-sponsor saying the request should be moved to the 'suspended' list and why.
    • Sponsor removes the oss-sponsor and oss-request keywords from the CR in bugster.
    • Sponsor removes the contributor's email address from the Hook 6 field.

When You Cannot Complete a Sponsor Commitment

If you cannot finish sponsoring a request you picked up:

  • It is your responsibility to try to find another sponsor.
  • If you are unable to find another sponsor, you must communicate the situation to the contributor and use the mailing list to explain the change in state and to put the request back on the 'awaiting sponsor' list.

When to Reject a Request

 Offers of a code contribution can be rejected:

  • For legitimate architectural reasons
    • Contribution violates existing architectural rules
    • Contribution works against the architecture
    • Contribution would interfere architecturally with planned future enhancements
  • For legitimate business reasons
    • Contribution would interfere functionally with planned future enhancements.
    • (used in VERY limited cases only) The resource investment is not worth the return. Example: fix for one typo in a comment.  Note that requests can not be rejected because engineering teams don't want to spend the time on them. Nor can requests for bugs marked 'oss-bite-size' be rejected since engineering teams marked bugs with that keyword to tell new contributors where to start working on code.

If you reject a request:

  • Send email to the contributor explaining the decision.
  • Send email to the request-sponsor list saying the request should be moved to the 'closed' list and why.
  • Remove the oss-request keyword from the CR in bugster.
  • Remove the contributor's email address from the Hook 6 field in the CR in bugster.
Tags:
Created by admin on 2009/10/26 12:09
Last modified by Jim Grisanzio on 2010/11/10 18:10

XWiki Enterprise 2.7.1.34853 - Documentation