How to write my Database Software Development Contract document
THIS AGREEMENT is made this Current Day day of Current Month, Current Year by and between Company Name, ("Developers") and Company Name ("Customer"). Developers have experience and expertise in the development of Database Applications and Software ("Database Product"). Customer desires to have Developers develop a Database Product for them.
Developers desire to develop Customer's Software on the terms and conditions set forth in Exhibit B attached hereto (the "Specifications"). "Database" shall mean a collection of any form of data including clear or encrypted text, images, sound, video, or multimedia. "Relational Database" shall mean a database that maintains a set of separate, related files (tables), but combines data elements from the files for queries and reports as requested. For the purpose of this agreement it shall also include the finite set of relation schemas and a corresponding set of relation instances ("database instance") that represents data as two-dimensional tables and contains the following components: 1) a set of domains and a set of relations, 2) operations on relations, and 3) data integrity rules to ensure Database Integrity.
"Primary Key" shall mean a field (column) in a database table that uniquely identifies each record in the table that is indexed and maintains the main sequence of the table. "Foreign Key" shall mean a field in a relational table in a database that is indexed in another table and matches the primary key column of another table. "Database Integrity" shall mean the correctness and consistency of the data stored in the Database or any aspect of the Database Product. "Relational Data Model" (RDM) shall mean a description of the organization of a database that allows for it to be modeled and all attributes and tables (including all fields and records) to be graphically represented.
"Database Schema" shall mean a set of relation schemas for the relations in the design and development of the Database Product. "Relation Schema" shall mean the names of relations that must be unique across the database. "Integrity Constraints" shall mean restrictions on the relational instances of a schema. "Schema" shall mean a definition for a database.
"Deliverables" shall mean the Database Product provided in object and/or source format (as set forth in the Specifications and subject to Developers' Proprietary Rights), documentation, or other materials required to be delivered by Developers to Customer, as set forth in the Specifications. "Critical Deliverables" shall mean Deliverables that have a Milestone date, as outlined in the Specifications, that must be transmitted to Customer on or before a specific date. "Source Code" shall mean the readable forms together with make and build files. "Beta" shall mean any and all Deliverables provided to Customer prior to the Launch Date.
"Final" shall mean any and all Deliverables provided to Customer that are in accordance with the Specifications and accepted by Customer as completion of a particular Deliverable. "Launch Date" shall mean the date that the Product is first available for use by the public. "Software" shall mean the Database Applications program(s) described in the Specifications that is/are to be developed by Developers, including all Enhancements made under this Agreement. "Product" shall mean software for a computer or an end user.
"Schedule" shall mean the schedule(s) for completion of the Deliverables, as set forth in the Specifications. "Delivery" shall mean transmitted by Developers to Customer electronically and in accordance with security measures agreed upon by both parties in accordance with the Specifications. "Services" shall mean any training, customization, enhancement, or other labor performed by Developers as required by the Specifications. "Error(s)" shall mean malfunctions or defect(s) within the Database Product or a Deliverable that prevents it from conforming to the Specifications.
"Internet" shall mean any system for distributing digital or electronic information to end-users via transmission, broadcast, or any other form of delivery, whether direct or indirect, known or subsequently developed. "Specifications" shall mean the specifications for the Product and Services, as detailed and attached to this Agreement as Exhibit B, which include detailed specifications and instructions for all required Deliverables, features and functionality, and a complete production schedule for each Deliverable and Milestone. "Term" shall mean the period of time commencing on the Effective Date of this Agreement and continuing indefinitely until this Agreement is terminated.
"User Interface" shall mean all navigational devices, menus, menu structures or arrangements, icons, visual mechanisms, metaphors, or help and other operational instructions, and all other components of any source or object computer code that comprises the Database Product. "Web" shall mean the World Wide Web, containing pages written in hypertext markup language (HTML) and/or any similar successor technology. "Web Page" shall mean any document that may be viewed in its entirety on the Web. "Web Site" shall mean a collection of interrelated Web pages or documents accessible through a Web page browser, interface, or any other similar successor technology.
"Developers' Proprietary Material" shall mean all intellectual property rights in any text, images, or other components and/or materials owned by Developers, or which Developers have the legal right to use, that are delivered to Customer, including but not limited to software, related documentation, source code, scripts, object code, logos, graphics, or tag lines. "Customer's Proprietary Material" shall mean all intellectual property rights in any text, images, or other components and/or materials owned by Customer, or which Customer has the legal right to use, that are delivered to Developers, including but not limited to software, related documentation, Customer marketing material, logos, graphics, or tag lines. "Developers' Code" shall mean all Developers' Proprietary Material or software Source Code existing as of the date of this Agreement that is to be incorporated into the Source Code of the Product.
The license terms for Developers' Code will be stated in the Specifications. "Documentation" shall mean all user guides, reference, integration, installation or implementation manuals that describe in detail the operation of the Software that is normally provided by Developers as part of their deliveries to their customers. "Development Activities" shall mean any activities undertaken by Developers in the development of the Software and Documentation satisfying the Specifications pursuant to this Agreement. "Enhancements" shall mean error corrections, bug fixes, modifications, and updates not included in the Specifications with respect to the Software.
"Milestone" shall mean each development or Deliverable reached by Developers and agreed upon in writing between Developers and Customer. "Milestone Payment" shall mean a payment obligation related to the achievement and acceptance of a particular Milestone. "Acceptance" shall mean completion of a Deliverable that conforms to the Specifications and is mutually agreed upon in writing by both Developers and Customer.
In consideration of the mutual covenants set forth in this Agreement, Customer and Developers hereby agree as follows:
Development of Database Product
Developers agree to installation, management, documentation, and development of the Software and Software-based operations according to the compensation terms listed on Exhibit A attached hereto.
Developers agree to develop the Software pursuant to the Specifications set forth in Exhibit B attached hereto (the "Specifications").
Delivery Dates and Milestones
Developers will use reasonable diligence in the development of the Database Product and endeavor to deliver to Customer operational Software no later than Delivery Date. Customer acknowledges, however, that this delivery deadline and the other payment milestones listed in Exhibit B are estimates and are not required delivery dates unless otherwise noted in the Specifications. Deliverables defined as "Critical Deliverables" shall be outlined in Exhibit B and shall contain the delivery date and terms of delivery of the Critical Deliverable. Developers will be retaining the Source Code for the Database Product and providing Customer with the output formats only.
The output is to be used only within the scope of the Software as outlined in Exhibit B and does not include the following: replication, duplication, or otherwise copying the Software in any form not authorized by Developers, creating new Software based on the code, its functions or other Proprietary Rights as outlined in Paragraph 4, sale or distribution of the code in any form, or any relinquishment of copyright by Developers in any way.
Except for Customer's Proprietary Material (defined below) contained in the Database Product, Developers shall hold all rights, title, and interest in and to the Software. Specifically, but without limitation, Developers shall hold all rights, title, and interest in and to (1) all text, graphics, animation, audio components, and digital components of the Software (the "Content"), (2) all interfaces, navigational devices, menus, menu structures or arrangements, icons, help and other operational instructions, and all other components of any source or object computer code that comprises the Software, (3) all literal and nonliteral expressions of ideas that operate, cause, create, direct, manipulate, access, or otherwise affect the Content, and (4) all copyrights, patents, trade secrets, and other intellectual or industrial property rights in the Software or any component or characteristic thereof. Customer shall not do anything that may infringe upon or in any way undermine Developers' rights, title, and interest in the Software, as described in this Paragraph 4. Notwithstanding the above, Customer shall retain and Developers shall have no Proprietary Rights whatsoever in all of Customer's intellectual property rights in any and all text, images, or other components and/or materials owned by Customer, or which Customer has the legal right to use, that are delivered to Developers, including but not limited to software, related documentation, Customer marketing material, logos, and tag lines ("Customer's Proprietary Material").
Developers agree that they shall not use Customer's Proprietary Material for any other purpose than those expressly set forth in this Agreement.
Database Product Development and Construction Rules
Database Product Development and Services described here are provided for Linux, Windows, Macintosh, Sun Solaris, UNIX systems only, unless otherwise specified. Unless otherwise agreed upon by Developers and Customer, any modifications required to the Software, code, or other component related to its operation that are a result of third-party changes to resources required by the Software shall be considered ADDITIONAL and will fall outside of the Specifications. Third-party modifications may include but are not limited to: patches, fixes, security flaws, errors, updates, upgrades or any other changes to third-party operating systems, plug-ins, or any required resources not created by Developers.
Unless otherwise defined in the Specifications, the Database Product will be developed in accordance with the following RDM standards:
1 Database Integrity
The data held in the tables shall be consistent with the Relational Data Model (RDM) and shall incorporate:
Entity Integrity: Each row in the table representing a single instance of the entity type modeled by the table will have a Unique and Non-null primary key value. Each column in the table representing a single instance of the entity type modeled by the table shall have entries of the appropriate data type. Referential Integrity: Data held in a single table or tables shall not contradict data held elsewhere in another table. Developers will ensure that every Foreign Key value in a table must have a matching Primary Key value in the corresponding table.
Data Validation: Developers will employ additional features to ensure data integrity upon inserting of data, creating new rows or any other aspect that interacts with the Database Product.
Developers and Customer acknowledge that at some time during the Term of this Agreement that enhancements to the Database Product may be proposed by either Developers or Customer which fall outside of the scope of the Specifications. Upon such proposal, Developers shall confer in good faith with Customer concerning the feasibility of developing such enhancements and the time frame for developing, testing, and incorporating such enhancements. Developers and Customer shall mutually agree in writing as to whether Developers shall pursue the development of such enhancements, and, if so, which party will fund such development.
The Specifications will be amended to include such enhancements.
Backups and Redundancies for Development
Developers will maintain off-site storage of all stages of the Source Code and other backup media related to this Agreement to ensure Software integrity and protection, and will be responsible for setting up a daily procedure for backing up all data. Developers agree to update all backups of code on a daily basis unless otherwise agreed upon in the Specifications. Backups will be maintained for one (1) year from the acceptance date of the project.
The terms and conditions contained in this Section will apply to the initial release of the Database Product, as well as to subsequent release(s), upgrades, enhancements, or any other version thereof. Customer shall evaluate any beta or final version(s) of each Deliverable and shall submit an acceptance or rejection to Developers within Days days after Customer's receipt of an agreed-upon transmission of each Deliverable.
Testing and Quality Assurance
Developers agree to thoroughly test the Database Product (including without limitation each and every release, version, and enhancement thereof), as appropriate under the circumstances, at all appropriate stages of development, and shall document its testing by written test documents delivered to Customer. Developers will submit their test plans to Customer, so as to ensure that Customer's standards of quality are maintained, and Developers agree to subsequently modify the test plans to accommodate Customer's requests if Customer reasonably deems necessary. Quality Assurance or test documentation shall include detailed descriptions of the tests conducted, their results, and any outstanding or unresolved issues. Developers will not deploy the Product, Software, or any enhancement thereof, unless Customer and Developers agree upon such action in writing.
1 Database Integrity
Developers agree to build in safeguards to ensure Database Integrity and to make sure that relationships between tables remain consistent. Safeguards may include, but are not limited to: Iterative and incremental backups and restore points, comparisons between Primary and Foreign Keys, use of referential integrity to ensure that records are not improperly added to a table that contains the Foreign Key, ensuring exceptions for corresponding records in linked tables, adding cascading updates and cascading deletes to ensure changes made to the linked tables are reflected in the primary table, and any other requirement contain in the Specification concerning Database Integrity.
Adherence to Schedule
If Developers fail transmission of any "Critical Deliverable" within the dates specified in the Schedule or fail to meet a Milestone, as defined in the Specifications, then a Breach of Agreement ("Breach") shall be considered to have occurred. Customer may: (1) amend the Schedule to include a correction period; or (2) suspend the Schedule until the problem is corrected at the sole expense of Developers subject to Customer's reasonable satisfaction; or (3) terminate this Agreement. Delivery of all Deliverables not defined in the Specifications as "Critical Deliverables" shall be considered estimates and delivery shall not be subject to Breach. Developers shall not be held responsible for any delays due to: milestones missed by Customer, delays due to Customer Deliverables, delays due to transmission, equipment failure, strikes, riots, disasters, or other natural occurrences.
Developers will be available to respond to Customer's questions about the Database Product and related problems. Developers will staff a help desk with a combination of phone and email support services from 9:00 am to 5:00 pm Monday through Friday Time Zone. Developers will be responsible for maintaining an ongoing log of support requests and actions taken, and for tracking user support requests to completion for the duration of this Agreement.
For all of Developers' Services under this Agreement, Customer shall compensate Developers, in cash, pursuant to the terms of Exhibit A attached hereto. In the event Customer fails to make any of the payments referenced in Exhibit A by the deadline set forth in Exhibit A, Developers have the right, but are not obligated, to pursue any or all of the following remedies: (1) terminate the Agreement, (2) remove equipment owned by Developers, whether leased to Customer by Developers or not, and any Developers' Personnel or Staff from Customer's location(s), (3) bring legal action, or (4) Customer may suspend development of the Database Product and is responsible for any schedule changes required and additional financial impact.
Customer and Developers acknowledge and agree that the Specifications and all other documents and information related to the development of the Database Product, including the information contained within the database, regardless if that data is fictional or not (the "Confidential Information") will constitute valuable trade secrets of the Customer. Developers shall keep the Confidential Information in confidence and shall not, at any time during or after the term of this Agreement, without Customer's prior written consent, disclose or otherwise make available to anyone, either directly or indirectly, all or any part of the Confidential Information.
Limited Warranty and Limitation on Damages
Developers warrant that the Database Product will conform to the Specifications. If the Software does not conform to the Specifications, Developers shall be responsible to correct the Software without unreasonable delay, at Developers' sole expense and without charge to Customer, to bring the Database Product into conformance with the Specifications. This warranty shall be the exclusive warranty available to Customer. Customer waives any other warranty, express or implied.
Customer acknowledges that Developers do not warrant that the Software will work on all platforms. Customer acknowledges that Developers will not be responsible for the results, productivity, or any other measurable metric not specified in Exhibit B, obtained by Customer on the Software. Customer waives any claim for damages, direct or indirect, and agrees that its sole and exclusive remedy for damages (either in contract or tort) is the return of the consideration paid to Developers as set forth in Exhibit A attached hereto.
Developers will monitor the reliability and stability of the Database Product for a period of up to thirty (30) days to ensure that it performs in accordance with the Specifications. If modifications are required at any time, Developers will confer in good faith with Customer concerning the appropriateness of any modifications and mutually agree whether or not to make such modifications; provided, however, that such agreement will not be deemed to relieve Developers from their obligations to ensure that the Product continues to conform to the Specifications and compensation estimates as specified in Exhibit A.
Developers shall be retained as independent contractors. Developers will be fully responsible for payment of their own income taxes on all compensation earned under this Agreement. Customer will not withhold or pay any income tax, social security tax, or any other payroll taxes on Developers' behalf. Developers understand that they will not be entitled to any fringe benefits that Customer provides for its employees generally or to any statutory employment benefits, including without limitation worker's compensation or unemployment insurance.
Customer agrees to make available to Developers, for Developers' use in performing the services required by this Agreement, such items of hardware and software as Customer and Developers may agree are reasonably necessary for such purpose.
1 Entire Agreement
This Agreement contains the entire agreement between the parties relating to the subject matter hereof and supersedes any and all prior agreements or understandings, written or oral, between the parties related to the subject matter hereof. No modification of this Agreement shall be valid unless made in writing and signed by both parties hereto.
2 Governing Law
This Agreement shall be governed by and construed in accordance with the laws of the State of State. Exclusive jurisdiction and venue shall be in the County County, State Superior Court.
3 Binding Effect
This Agreement shall be binding upon and inure to the benefit of Customer and Developers and their respective successors and assigns, providing that Developers may not assign any of their obligations under this Agreement without Customer's prior written consent.
The waiver by either party of any Breach or failure to enforce any of the terms and conditions of this Agreement at any time shall not in any way affect, limit, or waive such party's right thereafter to enforce and compel strict compliance with every term and condition of this Agreement.
5 Good Faith
Each party represents and warrants to the other that such party has acted in good faith, and agrees to continue to so act, in the negotiation, execution, delivery, performance, and any termination of this Agreement.
6 No Right to Assign
Customer has no right to assign, sell, modify, or otherwise alter the Software, except upon the express written advance approval of Developers, whose consent can be withheld for any reason.
7 Right to Interrupt Services, Labor, or Removal of Software Resources
In the event Customer fails to make any of the payments set forth on Exhibit A within the time prescribed in Exhibit A, Developers have the right to remove the Software until payment in full is paid, plus accrued late charges of 1 1/2% per month.
Developers warrant that the Software will conform to the Specifications, or such other Specifications as are agreed to in writing by Developers, for a period of thirty (30) days from the date of completion of the Software. If the Software does not conform to the Specifications, as Customer's sole remedy, Developers shall be responsible to correct the Software without unreasonable delay, at Developers' sole expense and without charge to Customer, to bring the Software into conformance with the Specifications set forth in Exhibit B. This warranty shall be the exclusive warranty available to Customer.
Customer waives any other warranty, express or implied. Customer acknowledges that Developers are not responsible for the results obtained by Customer on the Software. Customer acknowledges that Developers are not responsible for fixing problems, errors or omissions on the Software after Customer has tested, proofed, and approved the Software and either a written approval has been given to Developers or the Software has been mass-produced or transmitted in the Public Domain in any way.
Customer waives any claim for damages, direct or indirect, and agrees that its sole and exclusive remedy for damages (either in contract or tort) is the return of the consideration paid to Developers as set forth in Exhibit A attached hereto. No action, regardless of form, arising out of any claimed Breach of this Agreement or transactions under this Agreement may be brought by either party more than one (1) year after the cause of action has occurred.
9 No Responsibility for Theft
Developers will have no responsibility for any third party disrupting, intruding, or otherwise copying files or reverse engineering in part or in whole all or any part of the Software at any time.
10 Right to Make Derivative Works
Developers will have the exclusive rights in making any derivative works from any of their work, practices, coding, programming, or other work on the Software that is related to their pre-existing Developers' Code as outlined in the Specifications.
11 Attorney's Fees
In the event any party to this Agreement employs an attorney to enforce any of the Terms of the Agreement, the prevailing party shall be entitled to recover its actual attorney's fees and costs, including expert witness fees.
12 Identification of Developers
Customer agrees that Developers' identification may be annotated within the code as the authors. Customer also agrees to put Developers' copyright notices on the Software and the relevant content therein.
13 No Responsibility for Loss
Developers are not responsible for any down time, lost files, lost productivity, improper use, or any other loss that may occur in the operation of the Software.
14 Transfer of Rights
In the event Developers are unable to continue maintenance and support of the Software, non-exclusive rights to the Software will be granted to Customer. This transfer shall not include the transfer of third-party Software or tools used by Developers in the creation or maintenance of the Software or any part thereof.
The parties represent and warrant that, on the date first written above, they are authorized to enter into this Agreement in its entirety and duly bind their respective principals by their signatures below: