This fast-track records a contract between Solaris Core OS and Solaris Desktop, for the use of internal getvmusage API's by Solaris Desktop. EXPORTED INTERFACES Interfaces listed in contract Contracted Private REFERENCES 1. PSARC/XXXX/YYY getvmusage() API ------------------------------------------------------------------------ CONTRACT ALLOWING/REQUIRING SPECIAL ARRANGEMENTS FOR INTERFACES 0. Number: TBD 1. This contract is between: a SUPPLIER of INTERFACES and a CONSUMER of those INTERFACES, both of whom are entities within Sun Microsystems, Incorporated. 2. The SUPPLIER (definer and/or implementor) is identified by the following: Product or Bundle: Solaris Consolidation: ON Department or Group: Solaris Virtualization Technologies Bugster Product/Category/SubCategory: solaris/utility/zones Responsible Manager: Sridhar.Yedunuthula@sun.com` 3. The CONSUMER is identified by the following: Product or Bundle: Solaris Consolidation: Solaris Desktop Department or Group: Systems Bugster Product/Category/SubCategory: jds/gnome/applications Responsible Manager: Leo.Binchy@sun.com 4. The INTERFACES are: INTERFACE STABILITY =============== ================== libc interfaces =============== getvmusage Contracted Private VMUSAGE_SYSTEM Contracted Private VMUSAGE_ZONE Contracted Private VMUSAGE_ALL_ZONES Contracted Private vmusage_t Contracted Private 5. The ARC controlling these INTERFACES is: PSARC 6. The CASE describing (Exporting) these INTERFACES is: PSARC/XXXX/YYY getvmusage 7. The following SPECIAL ARRANGEMENTS are made which modify the rules imposed by the stability levels listed in section 4 above: [Indicate all that apply by changing the N to a Y and fill in blanks as applicable...] [Paragraph used to control changes to External interfaces.] _Y_ 7a. Although the stability level doesn't normally restrict it, SUPPLIER promises to only modify INTERFACES in an incompatible way as follows: In a minor release. [Paragraph used to expose interfaces privately to partners.] _N_ 7b. Although the stability level doesn't normally allow it, CONSUMER will expose INTERFACES to a PARTNER, which is external to Sun, namely: Name of Company: Name of Department or Group within Company: Responsible Manager: _Y_ 7c. Although the stability level doesn't normally allow it, CONSUMER will import INTERFACES from a separate consolidation. _Y_ 7d. If SUPPLIER decides to change (including replace or remove) any portion of the INTERFACES, SUPPLIER will notify CONSUMER of the proposed new version, no later than the application for ARC approval of the new version. If SUPPLIER and CONSUMER are contained in the same consolidation, they have the option of arranging for simultaneous conversion to the new interfaces. If this is not possible, or if they are not in the same consolidation, then SUPPLIER will either make best effort to work with CONSUMER so that CONSUMER can detect which version of INTERFACES is being supplied, or else SUPPLIER will make best effort to supply both old and new versions of INTERFACES. If SUPPLIER cannot make both versions of INTERFACES available, and SUPPLIER and CONSUMER cannot devise a method whereby CONSUMER can detect which version of INTERFACES is being supplied, and the old version of CONSUMER will not run with the new version of SUPPLIER, then either the EOL process must be followed by SUPPLIER, or else a major release of SUPPLIER will be required, or the change will not be allowed. 8. If CONSUMER requires changes in INTERFACES, SUPPLIER will make best effort to accommodate such changes, which shall then be treated in accordance with paragraph 7 above. 9. Notwithstanding paragraphs 7 and 8, a change to any portion of the INTERFACES shall be regarded as a completely new set of INTERFACES which require both ARC approval and execution of a new contract. 10. SUPPLIER and CONSUMER agree that evolution of INTERFACES shall be handled as follows: SUPPLIER will notify CONSUMER of any proposed changes to the interface. 11. SUPPLIER and CONSUMER agree that INTERFACES will be supported as follows: CONSUMER shall file bugster change requests against the interfaces under solaris/utility/zones. SUPPLIER agrees to respond to these change requests according to the usual sustaining process. 12. SUPPLIER and CONSUMER agree that INTERFACES will be documented as follows: The interfaces will be documented by the existing source code and header files in the ON consolidation. 13. SUPPLIER and CONSUMER agree that changes to the INTERFACES will be tested as follows: SUPPLIER agrees to test any changes to the interface as part of existing or updated test suites. Test suites will be enhanced specifically to validate these interfaces. These tests will be run on builds of the patch release. CONSUMER agrees to test their use of these interfaces at the usual release intervals and when any changes are made to the implementation of the contracted interface. 14. SUPPLIER and CONSUMER agree that this contract can be terminated as follows: Contract will be terminated by mutual agreement between the SUPPLIER and CONSUMER. 15. This contract is not valid until "signed" via agreement from the SUPPLIER and CONSUMER, and approved by the ARC CASE referenced by this contract. E-mail agreement to the contract should be archived in the mail archive of CASE; verbal agreement to the contract should be noted in the meeting minutes. This contract remains valid until superseded or invalidated. For SUPPLIER: Sridhar Yedunuthula Date: For CONSUMER: Leontine Binchy Date: For ARC: TBD Date: A copy of this contract shall be deposited in the CASE directory as "contract-" or in a "contracts" subdirectory. An e-mail alias "contract-????-???-ss@sun.com" shall be created via netadmin for notification of any desired changes. The SUPPLIER shall be the alias owner 16. (Not to be filled in until superseded or invalidated.) This contract was superseded or invalidated by CASE: For ARC: Date: