diff --git a/CollaboratorAgreement.txt b/CollaboratorAgreement.txt
new file mode 100644
index 0000000..23ab76b
--- /dev/null
+++ b/CollaboratorAgreement.txt
@@ -0,0 +1,26 @@
+ONOS COLLABORATOR AGREEMENT
+Use of this code constitutes acceptance of the following terms:
+
+RECITALS
+      1.  To further its charitable and educational purposes, ON.Lab is currently developing an Open Networking Operating System (“ONOS”) and related tools, which create a distributed network operating system that provides scale-out design, high availability, and network graph based north-bound abstraction as a logically centralized SDN control plane (the “Project”).
+      2. ONOS will be released via an open source medium as soon as it is sufficiently complete to provide public benefit and will share interim drafts of the ONOS interfaces with anyone who requests access to them.  ON.Lab and the Collaborator intend that all results of the ONOS Project will be placed in the public domain.
+      3.  The Parties desire that Collaborator collaborate with ON.Lab in the development of ONOS. 
+      NOW, THEREFORE, the Parties hereby agree as follows:
+      1. DEFINITIONS 
+      The following capitalized terms have the meanings set forth below:
+      “Background Intellectual Property” means all intellectual property rights belonging to or controlled by either Party, (i) developed, conceived, obtained or acquired prior to the Effective Date of this Agreement or (ii) developed, conceived, obtained or acquired independently of this Agreement or not in furtherance of the Project.
+       “Project Technology” means the Software and all information, data, algorithms, reports, studies, modules, object or source code, flowcharts, diagrams, design documents, user and developer manuals,  and other tangible or intangible materials relating to the Software or related documentation and all copies thereof produced in connection with the Project, and all intellectual property rights therein.    
+      “Software” means all object code, source code, and documentation relating to the Project.
+      
+      “Unacceptable Open Source License” means any software license that requires as a condition of use, modification and/or distribution of such software that the software or other software incorporated into, derived from or distributed with the software (a) be disclosed or distributed in source code form, or (b) be licensed by the user to third-parties for the purpose of making and/or distributing derivative works, or (c) be redistributable at no charge.  
+2. PUBLIC DOMAIN
+                  (a) When ON.Lab deems some or all of the Software to be sufficiently complete to provide public benefit, ON.Lab will make it available under generally accepted open source license which shall include one or more of: an Apache license found at http://www.opensource.org/licenses/apache2.0.php, or a BSD license found at: http://www.opensource.org/licenses/bsd-license.php or MIT License found at: http://www.opensource.org/licenses/mit-license.php. ON.Lab will determine what Software will be open sourced and when it will be open sourced under one or more of the above mutually agreed upon licenses, which will be released by ON.Lab.
+                  (b) The Project Technology will be placed into the public domain as soon as it is sufficiently complete to provide public benefit.  ON.Lab will control the content, timing, and method of disclosing the Project Technology to the public.
+      3. INTELLECTUAL PROPERTY 
+           3.1  	Background Intellectual Property. Collaborator grants to ON.Lab a royalty-free, worldwide license to use, reproduce, modify and sublicense any Collaborator Background Intellectual Property necessary or desirable for ON.Lab’s use and sublicensing of the Project Technology.  Collaborator represents that ON.Lab’s use and licensing of Collaborator’s technical contributions to the Project will not require a license of Background Intellectual Property from any third party.  Collaborator shall not incorporate into the Project any third-party code that is subject to an Unacceptable Open Source License.
+           3.2 	Ownership of Project Technology.  ON.Lab shall own all Project Technology.  Collaborator hereby assigns to ON.Lab ownership of all Project Technology, and improvements and modifications thereto, created by Collaborator either solely or jointly with ON.Lab personnel.
+		3.3	No Patent Filings.  The Parties agree not to file, or cause to be filed, any patent applications with any patent office to protect any intellectual property created in the course of performing research or development funded under this Agreement.
+      4. 	NON-DISCLOSURE.  Collaborator acknowledges that premature disclosure of the Project Technology could impose unreasonable support burdens on ON.Lab and cause ON.Lab reputational harm, since the Software would not yet be ready for general use.  Collaborator therefore agrees not to disclose the Project Technology, without ON.Lab’s prior written consent, to any third party prior to the date the ONOS source code is publicly released.  
+      5. GENERAL.  Nothing in this Agreement shall be construed to create a partnership, agency relationship, or joint venture in the legal sense. This Agreement constitutes the entire agreement between the Parties with respect to the subject matter of this Agreement. This Agreement may be signed in any number of counterparts, including facsimiles or electronic copies, as if all signatures were all on the same instrument.
+ 
+
