CONTRACT FOR EVERGREEN DEVELOPMENT SERVICES

[Have your library’s lawyer review this contract before signing]

This Contract for Services (this "Contract") is made effective as of [DATE], by 
and between [LIBRARY] (“Customer”), and [DEVELOPER].

1. TERM.  This Contract shall be effective until completion of the Services as described in paragraph two (2) "Description of Services". 

2. DESCRIPTION OF SERVICES. Developer will provide the Customer the following Evergreen development services (collectively, the "Services"):
  
a)	Development of new feature/enhancement as described in Attachment A: Development Plan. 
b)	Code will be licensed under “GPLv2 or later” and copyright will be assigned as stated in this contract (see Item #5 below)
c)	Preparation and delivery of code shall include the following:
a.	Developer shall introduce him/herself to the developer community on both the IRC channel and the Developer Mailing List and provide a basic overview of the development project to ensure another developer has not already claimed the work.
b.	Once verified that work is not claimed by another developer, Developer shall provide a detailed description of the work to be performed and contribute it to the Evergreen wiki dev:proposal namespace (http://evergreen-ils.org/dokuwiki/doku.php?idx=dev%3Aproposal).
c.	Developer shall add a Blueprint entry to https://blueprints.launchpad.net/evergreen with the basic overview and link to the wiki entry.  
d.	Developer shall send the basic overview and links to the Blueprint and wiki pages to the Evergreen development mailing list with a subject line beginning “Feature Proposal.” 
e.	Code shall be made available as a public branch on the Evergreen Git Repository (http://git.evergreen-ils.org/) or another publicly available repo.
f.	Developer shall use Git’s sign-off feature to assert that the code submitted is in accordance with the Developer Certificate of Origin if requested by Evergreen committers.

3. ACCEPTANCE TESTING.  Customer shall have 30 days from the date of delivery of the Software in final form to inspect, test and evaluate it to determine whether the Software satisfies the acceptance criteria in accordance with procedures set forth in the Development Plan, or as established by Developer and approved by Customer prior to testing.

	If the Software does not satisfy the acceptance criteria, Customer shall give Developer written notice stating why the Software is unacceptable. Developer shall have 30 days from the receipt of such notice to correct the deficiencies. Customer shall then have 30 days to inspect, test and evaluate the Software. If the Software still does not satisfy the acceptance criteria, Customer shall have the option of either (1) repeating the procedure set forth above, or (2) terminating this Agreement pursuant to the section of this Agreement entitled "Remedies." If Customer does not give written notice to Developer within the initial 30-day inspection, testing and evaluation period or any extension of that period, that the Software does not satisfy the acceptance criteria, Customer shall be deemed to have accepted the Software upon expiration of such period.

4. PAYMENT FOR SERVICES. In exchange for the Services the Customer will pay [AMOUNT] according to the following schedule: [PAYMENT SCHEDULE].

5. WORK PRODUCT OWNERSHIP. Any copyrightable works, ideas, discoveries, inventions, patents, products, or other information (collectively the "Work Product") developed in whole or in part by Developer solely in connection with the Evergreen Development Services will be made available under the terms of the open source license in effect for Evergreen at the time the code is written (currently GPL V2-or later).  The copyright holder will be “[CUSTOMER] & [DEVELOPER]”. A copy of the code will be given to the Customer even though the code may be hosted. A good faith effort will be made both by the Library, and by Developer at the coding stage, to integrate all code into the public, Evergreen code base.

6. RELATIONSHIP OF PARTIES.  Customer and Developer agree that the status of Developer is that of independent contractor, and not that of employee, principal, agent or joint venture partner of Customer.  Neither party has authority to enter into contracts or assume any obligations for or on behalf of the other party or to make any warranties or representations for or on behalf of the other party.

7. INTELLECTUAL PROPERTY INFRINGEMENT CLAIMS.  Developer represents, BUT DOES NOT WARRANT that to the best of its knowledge the Software delivered to Customer under this Agreement will not infringe any valid and existing intellectual property right of any third party.

8. REMEDIES.  If Customer fails to perform its obligations under this Contract, Developer shall have the right to terminate the Contract and to seek whatever remedy may be available to Developer, either in law or in equity.

If Developer fails to comply with any terms of this Contract, Customer’s sole remedy shall be to seek to recover any sums paid by Customer to Developer pursuant to the terms of this Contract.

Except as otherwise expressly provided herein, in the event of any litigation brought to enforce any material provision of this Contract, the prevailing party shall be entitled to recover its reasonable attorneys’ fees and court costs from the other party.

9. ENTIRE AGREEMENT. This Contract contains the entire agreement of the parties, and there are no other promises or conditions in any other agreement whether oral or written concerning the subject matter of this Contract. This Contract supersedes any prior written or oral agreements between the parties. 

10. SEVERABILITY. If any provision of this Contract will be held to be invalid or unenforceable for any reason, the remaining provisions will continue to be valid and enforceable, provided that no party is, as a result thereof, deprived of its substantial benefits under this Contract. If a court finds that any provision of this Contract is invalid or unenforceable, but that by limiting such provision it would become valid and enforceable, then such provision will be deemed to be written, construed, and enforced as so limited. 
  
11. AMENDMENT. This Contract may only be changed, modified, amended or discharged by an agreement in writing executed by the parties hereto.

12. GOVERNING LAW. This Contract shall be construed in accordance with the laws of the State of  [LIBRARY_STATE]. 

13. NOTICE. Any notice or communication required or permitted under this Contract shall be sufficiently given if delivered in person or by certified mail, return receipt requested, to the address set forth below or to such other address as one party may have furnished to the other in writing. 
  
14. ASSIGNMENT. The Customer may not assign or transfer this Contract without the prior written consent of Developer. 

	15. BINDING EFFECT.  This Contract shall inure to the benefit of and be binding upon the parties named herein and their respective heirs, successors and assigns.

	Signatures: 
		
By:	________________________________________	
[LIBRARY CONTACT]
[ADDRESS]

By: _________________________________
[DEVELOPER]
	[ADDRESS]

Date:_ _________

Appendix A – Development Plan

DEVELOPMENT NAME 

Background Information: 
[Library:  Provide any background information about the existing software, library environment or situation that will help the developers understand the purpose of the development project]

Use Case: 
[Library: Describe the reasons this development is needed and how it will be used by the end users]

Requirements:
[Library: Describe the functional requirements of the development in detail]

Objects Affected:
[Library and Developer: List all Evergreen components that will be affected by code changes]

Acceptance Criteria:
[Library and Developer: Describe the tests that will be performed on the supplied code to determine that the project has been successfully completed]

Access to Test System

Developer shall make available to the Customer a testable system.  This may be in the form of remote access to a running system where the changes have been deployed or a virtual machine image that the Customer may install and access on its own hardware.    Developer may also provide a set of patch files that may be installed on the Customer’s existing test installation.

Testing Procedures

The Customer shall perform the following tests:
1.	List all steps to be performed and results that are expected
2.	….