diff --git a/.gitignore b/.gitignore
index 0e70e4f..2b8eb93 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
 # SPDX-FileCopyrightText: 2021 Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 Chart.lock
 charts
diff --git a/.gitreview b/.gitreview
index bc74d5c..1a0c327 100644
--- a/.gitreview
+++ b/.gitreview
@@ -1,5 +1,5 @@
 # SPDX-FileCopyrightText: 2021 Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 [gerrit]
 host=gerrit.opencord.org
diff --git a/.reuse/dep5 b/.reuse/dep5
index 4d6fb5f..8f4b3c8 100644
--- a/.reuse/dep5
+++ b/.reuse/dep5
@@ -2,4 +2,4 @@
 
 Files: VERSION
 Copyright: 2021 Open Networking Foundation
-License: LicenseRef-ONF-Member-Only-1.0
+License: Apache-2.0
diff --git a/LICENSES/Apache-2.0.txt b/LICENSES/Apache-2.0.txt
new file mode 100644
index 0000000..f433b1a
--- /dev/null
+++ b/LICENSES/Apache-2.0.txt
@@ -0,0 +1,177 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
diff --git a/LICENSES/LicenseRef-ONF-Member-Only-1.0.txt b/LICENSES/LicenseRef-ONF-Member-Only-1.0.txt
deleted file mode 100644
index d387d7c..0000000
--- a/LICENSES/LicenseRef-ONF-Member-Only-1.0.txt
+++ /dev/null
@@ -1,294 +0,0 @@
-ONF Member-Only Software License
-Version 1.0
-June 2020
-
-This ONF Member-Only Software License (this "License") is entered into by and
-between Open Networking Foundation ("ONF") and you and/or the entity on whose
-behalf you are accessing the Works (as defined in Section 1 below) ("you").
-This License forms a legally binding contract between you and ONF in relation
-to your access to and use of the Works. You may not access or use the Works if
-you do not accept this License.
-
-By accessing or using the Works, you hereby agree to the terms of this License.
-You may not use the Works and may not accept this License if you are a person
-barred from receiving the Works under the laws of the United States or other
-countries, including the country from which you access or use the Works. If you
-are agreeing to be bound by this License on behalf of your employer or other
-entity, you represent and warrant that you have full legal authority to bind
-your employer or such entity to this License. If you do not have the requisite
-authority, you may not accept this License or access or use the Works on behalf
-of your employer or any other entity.  You and ONF acknowledge and agree as
-follows:
-
-1. DEFINITIONS.
-
-"Source" form shall mean the preferred form for making modifications, including
-but not limited to software source code, documentation source, and
-configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or
-translation of a Source form, including but not limited to compiled object
-code, generated documentation, and conversions to other media types.
-
-"Works" shall mean the works of authorship, whether in Source or Object form,
-made available under this License, as indicated by a copyright notice/header
-file that is included in or attached to the Works.
-
-2. BACKGROUND.
-
-The purpose of this License is to provide ONF member companies in good standing
-("Members") with early access to software projects currently in development by
-ONF prior to their public release, to allow Members to review and test the
-Works internally for the purpose of making further contributions to the
-applicable project.  Members who are Partner-level Members at the time they
-first access the Works are additionally permitted under this License to use the
-Works internally for the purpose of building and developing products and
-services for commercial purposes as defined in Section 4.  However, this
-License does not permit any Member, regardless of Member level, to redistribute
-all or any portion of the Works, except as part of a contribution back to the
-applicable project, in accordance with Section 8 below, or in binary form as
-provided for Partner-level Members in Section 4 below.  You understand and
-agree that ONF has the sole right to sublicense and distribute a public version
-of the final code base for the applicable project to third parties under the
-2.0 version of the Apache License, or other permissive license terms selected
-by ONF in its sole discretion.
-
-The Purpose of this License is to incubate the development of new software
-projects by providing a framework for ONF Members to access and contribute to
-the projects while minimizing the potential for forking or misuse of the
-projects.  Nothing in this Background paragraph, however, shall require ONF to
-take any particular course of action regarding any Works covered by this
-License.
-
-3. LIMITED LICENSE TO ALL MEMBERS IN GOOD STANDING.
-
-Subject to your complete and ongoing compliance with all the terms and
-conditions set forth in this License, including without limitation all license
-limitations and restrictions set forth herein, ONF grants you the following
-limited, non-exclusive, non-transferable, non-sublicensable, revocable license
-to use, and (where applicable) authorize your employees and contractors
-performing work on your behalf (but only if such contractors are themselves
-Members of ONF and accept the terms of this License) to use the Works
-internally solely in connection with (a) reviewing, testing, modifying and
-creating derivatives of the Works for the sole purpose of making contributions
-by you to the code repository for the applicable project maintained by ONF; and
-(b) building, developing and testing your own applications or components that
-may interoperate with or incorporate the Works ("Applications") for the
-purposes of internal evaluation only.
-
-4. ADDITIONAL LICENSE TO PARTNER-LEVEL MEMBERS IN GOOD STANDING.
-
-Each project subject to this License shall be declared by ONF to be in one of
-two phases:  a) Incubation Phase, or b) Partner Commercialization Phase.  Each
-project shall start in the Incubation Phase, and ONF, at its sole discretion,
-shall determine when each project moves into the Partner Commercialization
-Phase.   Each project shall be documented to be in one of these two phases in
-the Project's README documentation and can be confirmed by contacting ONF.
-
-Once any project moves into the Partner Commercialization Phase, if you are a
-Partner-level ONF Member in good standing at the time you first access the
-Works and for the entire period during which you access and use the Works, in
-addition to the rights granted in Section 3, and subject to your complete and
-ongoing compliance with all the terms and conditions set forth in this License,
-including without limitation all license limitations and restrictions set forth
-herein, ONF grants you the limited, non-exclusive, non-transferable,
-non-sublicensable, revocable license to use, and (where applicable) authorize
-your employees and contractors performing work on your behalf (but only if such
-contractors are themselves Members of ONF and accept the terms of this License)
-to use, test, modify and create derivatives of the Works internally for the
-purpose of building, developing, testing, marketing, offering for sale and
-selling commercial products and services to third parties.  Wherever possible,
-you will take reasonable precautions to ensure Works remain accessible only to
-ONF Members, and any commercial product or service requiring redistribution of
-the Works, of modifications of the Works or of derivatives of the Works must be
-made solely in binary machine code form where possible to further this aim.
-
-Partners-level Members gaining additional insights as a result of accessing and
-using the Works for commercial products and services are expected to provide
-feedback to and to make contributions to the project for the benefit of both
-the project and the general membership.
-
-You may verify your company's Partner-level membership status on the ONF
-website at: https://www.opennetworking.org/member-listing/.
-
-4.1 GRACE PERIOD FOR NON-PARTNER-LEVEL MEMBERS
-
-If you are not a Partner-level Member and you wish to benefit from the rights
-granted to ONF Partners in Section 4, you have a 90-day grace period from the
-day you first access the Works to upgrade to a Partner-Level ONF Membership.
-Should you upgrade within this grace period, you will be recognized as if you
-had been a Partner on the day you first accessed the Works for the purpose of
-interpreting your rights under Section 4.
-
-5. RESTRICTIONS.
-
-By accessing or using the Works, you represent, warrant, and covenant that you
-and/or the entity on whose behalf you are accessing the Works is a Member in
-good standing of ONF.
-
-You acknowledge that, except for the limited rights expressly set forth above,
-the foregoing licenses do not include any right to, and you agree not to (i)
-redistribute, sell, lease, license, modify or otherwise create any derivative
-works of any portion of the Works, or (ii) distribute, deploy, or otherwise
-utilize the Works or Applications for any public, production, commercial, or
-other similar purpose other than internal use for evaluation and development of
-contributions to the code repository for the applicable project maintained by
-ONF and non-public, experimental Applications.
-
-Except as expressly provided herein, you may not (w) reproduce, distribute,
-publicly display, or publicly perform any part of the Works, (x) decompile,
-reverse engineer, or otherwise access or attempt to access source code not made
-available to you in source code form, (y) make or attempt to make any
-modification to, or otherwise create any derivative works of, the Works; or (z)
-remove, obscure, interfere with or circumvent any feature of the Works,
-including without limitation any copyright or other intellectual property
-notices, security, or access control mechanism. You agree that you will not use
-the Works to do anything illegal, including facilitating, promoting, or
-otherwise encouraging any illegal activities.
-
-You represent and warrant that the Works will not be shipped, transferred or
-exported into any country or used in any manner prohibited by the United States
-Export Administration Act or any other export laws, restrictions or regulations
-(collectively the "Export Laws"). In addition, if the Works are identified as
-an export controlled item under the Export Laws, you represent and warrant that
-you are not a citizen, or otherwise located within, an embargoed nation
-(including without limitation Crimea, Cuba, Iran, North Korea, Sudan, or Syria)
-and that you are not otherwise prohibited under the Export Laws from receiving
-the Works.
-
-ANY USE IN VIOLATION OF THE FOREGOING LIMITATIONS AND RESTRICTIONS IS STRICTLY
-PROHIBITED, AND UNLICENSED.
-
-6. RESERVATION OF RIGHTS.
-
-The Works are owned by ONF and/or its licensors, and are licensed, not sold, to
-you. The Works are protected by copyright, trade dress, patent, and trademark
-laws of the United States and other jurisdictions, international conventions,
-and all other relevant intellectual property and proprietary rights, and
-applicable laws (collectively, the "Intellectual Property Rights"). You agree
-that ONF or its subsidiaries or affiliated companies and/or its licensors own
-all legal right, title and interest in and to the Works, including any and all
-Intellectual Property Rights. ONF reserves all rights not expressly granted in
-this License. You do not acquire any right, title or interest to the Works,
-whether by implication, estoppel, or otherwise, except for the limited rights
-set forth in this License.
-
-You agree that the form and nature of the Works that ONF provides may change
-without prior notice to you and that future versions of the Works may be
-incompatible with applications developed using previous versions of the Works.
-You agree that ONF may stop (permanently or temporarily) providing the Works
-(or any features within the Works) to you or to users generally at ONF's sole
-discretion, without prior notice to you. Nothing in this License gives you a
-right to use any of ONF's trade names, trademarks, service marks, logos, domain
-names, or other distinctive brand features.
-
-7. PURPOSE AND USE.
-
-You agree that you will not engage in any activity with the Works, including
-the development or distribution of an Application that interferes with,
-disrupts, damages, or accesses in an unauthorized manner the servers, networks,
-or other properties or services of any third party. You agree that you are
-solely responsible for (and that ONF has no responsibility to you or to any
-third party for) any data, content, or resources that you create, transmit or
-display. You agree that you are solely responsible for (and that ONF has no
-responsibility to you or to any third party for) any breach of your obligations
-under this License, any applicable third party contract or terms of service, or
-any applicable law or regulation, and for the consequences (including any loss
-or damage which ONF or any third party may suffer) of any such breach.
-
-8. FEEDBACK; CONTRIBUTIONS.
-
-If you provide ONF with any comments, bug reports, feedback, enhancements, or
-modifications proposed or suggested by you for the Works ("Feedback"), such
-Feedback will be submitted as a Contribution to the applicable project
-maintained by ONF under the terms and conditions of a Contributor License
-Agreement between you and ONF, is provided on a non-confidential basis
-(notwithstanding any notice to the contrary you may include in any accompanying
-communication), and ONF shall have the right to use such Feedback at its
-discretion, including, but not limited to the incorporation of such Feedback
-into the Works and any final code base that may be derived from the Works.
-
-9. TERMINATION OF THIS LICENSE.
-
-This License will continue to apply until terminated by either you or ONF as
-set out below. If you want to terminate this License, you may do so by ceasing
-your use of the Works. If you cease being a Member in good standing of ONF,
-this License will terminate automatically and without further notice to you.
-ONF may at any time terminate this License: (a) if you have breached any
-provision of this License; or (b) at ONF's convenience.  When this License
-comes to an end, except as otherwise set forth in this paragraph 9, all of the
-legal rights, obligations and liabilities that you and ONF have benefited from,
-been subject to (or which have accrued over time while this License has been in
-force) or which are expressed to continue indefinitely, shall be unaffected by
-this cessation, and paragraphs 1, 2 and 5 through 14 shall continue to apply to
-such rights, obligations and liabilities indefinitely.  In addition, unless
-this License is terminated by ONF as a result of your breach of any provision
-of this License, Partner-level Members entitled to the benefits of Section 4 of
-this License shall also retain all rights granted by Section 4 so as long as
-you remain a Partner-level Member in good standing.
-
-10. DISCLAIMER OF WARRANTIES.
-
-YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE WORKS IS AT YOUR SOLE
-RISK AND THAT THE WORKS ARE PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT
-WARRANTY OF ANY KIND FROM ONF. YOUR USE OF THE WORKS IS AT YOUR OWN DISCRETION
-AND RISK AND YOU ARE SOLELY RESPONSIBLE FOR ANY DAMAGE TO YOUR COMPUTER SYSTEM
-OR OTHER DEVICE OR LOSS OF DATA THAT RESULTS FROM SUCH USE. ONF FURTHER
-EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS OF ANY KIND, WHETHER EXPRESS
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ONF
-EXPRESSLY DISCLAIMS ANY WARRANTIES OF ANY KIND WITH RESPECT TO THE ACCURACY OR
-FUNCTIONALITY OF THE WORKS, AND WITH RESPECT TO THE ACCURACY, VALIDITY, OR
-COMPLETENESS OF ANY INFORMATION OR FEATURES AVAILABLE THROUGH THE WORKS, OR THE
-QUALITY OR CONSISTENCY OF THE WORKS OR RESULTS OBTAINED THROUGH THEIR USE.
-
-11. LIMITATION OF LIABILITY.
-
-YOU EXPRESSLY UNDERSTAND AND AGREE THAT ONF, ITS SUBSIDIARIES AND AFFILIATES,
-AND ITS LICENSORS SHALL NOT BE LIABLE TO YOU UNDER ANY THEORY OF LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES
-THAT MAY BE INCURRED BY YOU, INCLUDING ANY LOSS OF DATA, WHETHER OR NOT ONF OR
-ITS REPRESENTATIVES HAVE BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE
-POSSIBILITY OF ANY SUCH LOSSES. IN NO EVENT WILL ONF'S AGGREGATE LIABILITY FOR
-DAMAGES ARISING OUT OF THIS LICENSE OR YOUR USE OF THE WORKS EXCEED THE GREATER
-OF AMOUNTS PAID BY YOU FOR THE WORKS, IF ANY.
-
-12. INDEMNIFICATION.
-
-To the maximum extent permitted by law, you agree to defend, indemnify and hold
-harmless ONF, its affiliates and their respective directors, officers,
-employees and agents from and against any and all claims, actions, suits or
-proceedings, as well as any and all losses, liabilities, damages, costs and
-expenses (including reasonable attorneys' fees) arising out of or accruing from
-(a) your use of the Works, (b) any Application or (for Partner-level Members)
-commercial product or service you develop using the Works that infringes any
-copyright, trademark, trade secret, trade dress, patent or other intellectual
-property right of any person, and (c) any non-compliance by you with this
-License or any applicable law or regulation.
-
-13. CHANGES TO THIS LICENSE.
-
-ONF may make changes to this License as it distributes new versions of the
-Works. When these changes are made, ONF will make a new version of this License
-available on the ONF website.
-
-14. MISCELLANEOUS TERMS.
-
-This License constitutes the entire legal agreement between you and ONF with
-regard to your access and use of the Works, and governs your access and use of
-the Works and completely supersedes any prior agreements between you and ONF in
-relation to the Works, except for any Contributor License Agreement you may
-have executed with ONF. You agree that if ONF does not exercise or enforce any
-legal right or remedy which is contained in this License (or which ONF has the
-benefit of under any applicable law), this will not be taken to be a formal
-waiver of ONF's rights and that those rights or remedies will still be
-available to ONF. If any court of law, having the jurisdiction to decide on
-this matter, rules that any provision of this License is invalid, then that
-provision will be removed from this License without affecting the rest of this
-License. The remaining provisions of this License will continue to be valid and
-enforceable so long as this License, as so modified, does not substantially
-impair the respective expectations or reciprocal obligations of the parties.
-The rights granted in this License may not be assigned or transferred by you
-without the prior written approval of ONF. You shall not be permitted to
-delegate your responsibilities or obligations under this License without the
-prior written approval of ONF.
diff --git a/Makefile b/Makefile
index 1abc5b7..4f890b1 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 # SPDX-FileCopyrightText: 2021-present Open Networking Foundation <info@opennetworking.org>
 #
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 .PHONY: all clean
 
diff --git a/README.md b/README.md
index 77d8801..5cc9e3e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
 <!--
 SPDX-FileCopyrightText: 2020 Open Networking Foundation <info@opennetworking.org>
 
-SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+SPDX-License-Identifier: Apache-2.0
 -->
 
 # SD-Fabric Helm charts
diff --git a/VERSION b/VERSION
index 5b09c67..a970716 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.14
+1.0.15
diff --git a/dbuf/.helmignore b/dbuf/.helmignore
index c687fff..4ad6621 100644
--- a/dbuf/.helmignore
+++ b/dbuf/.helmignore
@@ -1,5 +1,5 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 # Patterns to ignore when building packages.
 # This supports shell glob matching, relative path matching, and
diff --git a/dbuf/Chart.yaml b/dbuf/Chart.yaml
index 042e94e..59f7fd7 100644
--- a/dbuf/Chart.yaml
+++ b/dbuf/Chart.yaml
@@ -1,5 +1,5 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 apiVersion: v2
 name: dbuf
@@ -18,7 +18,7 @@
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 0.0.1
+version: 0.0.2
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
diff --git a/dbuf/templates/NOTES.txt b/dbuf/templates/NOTES.txt
index 55b688c..3040e90 100644
--- a/dbuf/templates/NOTES.txt
+++ b/dbuf/templates/NOTES.txt
@@ -1,6 +1,6 @@
 {{/*
 Copyright 2020-present Open Networking Foundation
-SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+SPDX-License-Identifier: Apache-2.0
 */}}
 
 Thank you for installing {{ .Chart.Name }}.
diff --git a/dbuf/templates/_helpers.tpl b/dbuf/templates/_helpers.tpl
index b8b672a..6143765 100644
--- a/dbuf/templates/_helpers.tpl
+++ b/dbuf/templates/_helpers.tpl
@@ -1,6 +1,6 @@
 {{/*
 Copyright 2020-present Open Networking Foundation
-SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+SPDX-License-Identifier: Apache-2.0
 */}}
 
 {{- define "extraParams" -}}
diff --git a/dbuf/templates/configmap-config.yaml b/dbuf/templates/configmap-config.yaml
index 96368c9..764ed54 100644
--- a/dbuf/templates/configmap-config.yaml
+++ b/dbuf/templates/configmap-config.yaml
@@ -1,7 +1,7 @@
 {{/*
 # Copyright 2021-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 apiVersion: v1
diff --git a/dbuf/templates/deployment.yaml b/dbuf/templates/deployment.yaml
index 22d4db7..55e90ff 100644
--- a/dbuf/templates/deployment.yaml
+++ b/dbuf/templates/deployment.yaml
@@ -1,6 +1,6 @@
 
 # Copyright 2020-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 apiVersion: apps/v1
 kind: Deployment
diff --git a/dbuf/templates/networks.yaml b/dbuf/templates/networks.yaml
index 84e0cf5..9548b18 100644
--- a/dbuf/templates/networks.yaml
+++ b/dbuf/templates/networks.yaml
@@ -1,7 +1,7 @@
 {{/*
 # Copyright 2020-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 apiVersion: "k8s.cni.cncf.io/v1"
diff --git a/dbuf/templates/service.yml b/dbuf/templates/service.yml
index 48df27e..883e202 100644
--- a/dbuf/templates/service.yml
+++ b/dbuf/templates/service.yml
@@ -1,7 +1,7 @@
 {{/*
 # Copyright 2021-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 apiVersion: v1
diff --git a/dbuf/templates/servicemonitor.yaml b/dbuf/templates/servicemonitor.yaml
index 4290b0b..0899a44 100644
--- a/dbuf/templates/servicemonitor.yaml
+++ b/dbuf/templates/servicemonitor.yaml
@@ -3,7 +3,7 @@
 {{/*
 # Copyright 2021-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 apiVersion: monitoring.coreos.com/v1
diff --git a/dbuf/values.yaml b/dbuf/values.yaml
index f0408b9..e2cd64e 100644
--- a/dbuf/values.yaml
+++ b/dbuf/values.yaml
@@ -1,5 +1,5 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 image:
   repository: registry.aetherproject.org/tost/dbuf
diff --git a/di-metrics-exporter/Chart.yaml b/di-metrics-exporter/Chart.yaml
index b355246..4aa78ea 100644
--- a/di-metrics-exporter/Chart.yaml
+++ b/di-metrics-exporter/Chart.yaml
@@ -1,7 +1,7 @@
 # SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 apiVersion: v1
 appVersion: "1.0"
 description: A Helm chart for host status reporter
 name: di-metrics-exporter
-version: 0.0.1
+version: 0.0.2
diff --git a/di-metrics-exporter/templates/deployment.yaml b/di-metrics-exporter/templates/deployment.yaml
index b5eb2d8..c536e90 100644
--- a/di-metrics-exporter/templates/deployment.yaml
+++ b/di-metrics-exporter/templates/deployment.yaml
@@ -1,5 +1,5 @@
 # SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 kind: Deployment
 apiVersion: apps/v1
 metadata:
diff --git a/di-metrics-exporter/values.yaml b/di-metrics-exporter/values.yaml
index 2628b10..fbbfe84 100644
--- a/di-metrics-exporter/values.yaml
+++ b/di-metrics-exporter/values.yaml
@@ -1,5 +1,5 @@
 # SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 name: di-metrics-exporter
 image:
   repository: registry.opennetworking.org/deepinsight/utility
diff --git a/di-topology-watchdog/Chart.yaml b/di-topology-watchdog/Chart.yaml
index 4107e5a..7c2e7e0 100644
--- a/di-topology-watchdog/Chart.yaml
+++ b/di-topology-watchdog/Chart.yaml
@@ -1,7 +1,7 @@
 # SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 apiVersion: v1
 appVersion: "1.0"
 description: A Helm chart for Deep Insight topology watchdog
 name: di-topology-watchdog
-version: 0.0.1
+version: 0.0.2
diff --git a/di-topology-watchdog/templates/deployment.yaml b/di-topology-watchdog/templates/deployment.yaml
index d070ef5..3638505 100644
--- a/di-topology-watchdog/templates/deployment.yaml
+++ b/di-topology-watchdog/templates/deployment.yaml
@@ -1,5 +1,5 @@
 # SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 kind: Deployment
 apiVersion: apps/v1
 metadata:
diff --git a/di-topology-watchdog/values.yaml b/di-topology-watchdog/values.yaml
index 5e6c185..7be7bd8 100644
--- a/di-topology-watchdog/values.yaml
+++ b/di-topology-watchdog/values.yaml
@@ -1,5 +1,5 @@
 # SPDX-FileCopyrightText: 2022-present Open Networking Foundation <info@opennetworking.org>
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 name: di-topology-watchdog
 image:
   repository: registry.opennetworking.org/deepinsight/utility
diff --git a/int-host-reporter/.helmignore b/int-host-reporter/.helmignore
index c687fff..4ad6621 100644
--- a/int-host-reporter/.helmignore
+++ b/int-host-reporter/.helmignore
@@ -1,5 +1,5 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 # Patterns to ignore when building packages.
 # This supports shell glob matching, relative path matching, and
diff --git a/int-host-reporter/Chart.yaml b/int-host-reporter/Chart.yaml
index 3869a5a..0e1431c 100644
--- a/int-host-reporter/Chart.yaml
+++ b/int-host-reporter/Chart.yaml
@@ -1,9 +1,9 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 ---
 apiVersion: v2
 name: int-host-reporter
-version: 0.0.1
+version: 0.0.2
 type: application
 keywords:
   - In-band Network Telemetry
diff --git a/int-host-reporter/README.md b/int-host-reporter/README.md
index ecccc22..28ff5a0 100644
--- a/int-host-reporter/README.md
+++ b/int-host-reporter/README.md
@@ -1,7 +1,7 @@
 <!--
 SPDX-FileCopyrightText: 2020 Open Networking Foundation <info@opennetworking.org>
 
-SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+SPDX-License-Identifier: Apache-2.0
 -->
 
 # INT Host Reporter
diff --git a/int-host-reporter/templates/_helpers.tpl b/int-host-reporter/templates/_helpers.tpl
index a514959..ce97077 100644
--- a/int-host-reporter/templates/_helpers.tpl
+++ b/int-host-reporter/templates/_helpers.tpl
@@ -2,7 +2,7 @@
 
 # Copyright 2020-present Open Networking Foundation
 #
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 */ -}}
 
diff --git a/int-host-reporter/templates/configmap-watchlist.yaml b/int-host-reporter/templates/configmap-watchlist.yaml
index 123f3e5..33bcae8 100644
--- a/int-host-reporter/templates/configmap-watchlist.yaml
+++ b/int-host-reporter/templates/configmap-watchlist.yaml
@@ -1,5 +1,5 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 ---
 apiVersion: v1
 kind: ConfigMap
diff --git a/int-host-reporter/templates/daemonset.yaml b/int-host-reporter/templates/daemonset.yaml
index 64730b9..234bc60 100644
--- a/int-host-reporter/templates/daemonset.yaml
+++ b/int-host-reporter/templates/daemonset.yaml
@@ -1,5 +1,5 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 ---
 apiVersion: apps/v1
 kind: DaemonSet
diff --git a/int-host-reporter/values.yaml b/int-host-reporter/values.yaml
index a2a009f..70ed398 100644
--- a/int-host-reporter/values.yaml
+++ b/int-host-reporter/values.yaml
@@ -1,5 +1,5 @@
 # Copyright 2021-present Open Networking Foundation
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 image:
   repository: registry.hub.docker.com/opennetworking/int-host-reporter
diff --git a/pfcp-agent/Chart.yaml b/pfcp-agent/Chart.yaml
index 35da912..edffc8f 100644
--- a/pfcp-agent/Chart.yaml
+++ b/pfcp-agent/Chart.yaml
@@ -1,8 +1,8 @@
 # Copyright 2020-present Open Networking Foundation
 #
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 apiVersion: v1
 description: PFCP Agent for SD-Fabric's P4 UPF
 name: pfcp-agent
-version: 0.0.2
+version: 0.0.3
diff --git a/pfcp-agent/templates/_helpers.tpl b/pfcp-agent/templates/_helpers.tpl
index 2746e4c..e6d7275 100644
--- a/pfcp-agent/templates/_helpers.tpl
+++ b/pfcp-agent/templates/_helpers.tpl
@@ -2,7 +2,7 @@
 
 # Copyright 2020-present Open Networking Foundation
 #
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 */ -}}
 
diff --git a/pfcp-agent/templates/configmap-pfcp-agent.yaml b/pfcp-agent/templates/configmap-pfcp-agent.yaml
index f8f2bb0..a9cbdd6 100644
--- a/pfcp-agent/templates/configmap-pfcp-agent.yaml
+++ b/pfcp-agent/templates/configmap-pfcp-agent.yaml
@@ -1,7 +1,7 @@
 {{/*
 # Copyright 2020-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 ---
diff --git a/pfcp-agent/templates/service-pfcp-agent.yaml b/pfcp-agent/templates/service-pfcp-agent.yaml
index a525c2d..a6d2651 100644
--- a/pfcp-agent/templates/service-pfcp-agent.yaml
+++ b/pfcp-agent/templates/service-pfcp-agent.yaml
@@ -1,7 +1,7 @@
 {{/*
 # Copyright 2020-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 ---
diff --git a/pfcp-agent/templates/statefulset-pfcp-agent.yaml b/pfcp-agent/templates/statefulset-pfcp-agent.yaml
index d4aaa6a..44c7e38 100644
--- a/pfcp-agent/templates/statefulset-pfcp-agent.yaml
+++ b/pfcp-agent/templates/statefulset-pfcp-agent.yaml
@@ -1,7 +1,7 @@
 {{/*
 # Copyright 2020-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 {{- $upfConfig := index .Values.config.pfcp.cfgFiles "upf.json" }}
diff --git a/pfcp-agent/values.yaml b/pfcp-agent/values.yaml
index 5868b30..08a48e1 100644
--- a/pfcp-agent/values.yaml
+++ b/pfcp-agent/values.yaml
@@ -1,6 +1,6 @@
 # Copyright 2020-present Open Networking Foundation
 #
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 images:
   tags:
diff --git a/sdfabric/Chart.yaml b/sdfabric/Chart.yaml
index b01a53a..682a6c2 100644
--- a/sdfabric/Chart.yaml
+++ b/sdfabric/Chart.yaml
@@ -1,13 +1,13 @@
 # SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
 #
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 apiVersion: v2
 name: sdfabric
 description: A chart to deploy all SD-Fabric components
 kubeVersion: ">=1.18.0"
 type: application
-version: 1.0.14
+version: 1.0.15
 keywords:
   - aether
   - sdn
@@ -19,7 +19,7 @@
 dependencies:
   - name: onos-classic
     repository: https://charts.onosproject.org
-    version: 0.1.26
+    version: 0.1.27
     condition: import.onos-classic.enabled
   - name: stratum
     repository: https://charts.stratumproject.org/
@@ -27,21 +27,21 @@
     condition: import.stratum.enabled
   - name: pfcp-agent
     repository: file://../pfcp-agent
-    version: 0.0.2
+    version: 0.0.3
     condition: import.pfcp-agent.enabled
   - name: dbuf
     repository: file://../dbuf
-    version: 0.0.1
+    version: 0.0.2
     condition: import.dbuf.enabled
   - name: int-host-reporter
     repository: file://../int-host-reporter
-    version: 0.0.1
+    version: 0.0.2
     condition: import.int-host-reporter.enabled
   - name: di-topology-watchdog
     repository: file://../di-topology-watchdog
-    version: 0.0.1
+    version: 0.0.2
     condition: import.di-topology-watchdog.enabled
   - name: di-metrics-exporter
     repository: file://../di-metrics-exporter
-    version: 0.0.1
+    version: 0.0.2
     condition: import.di-metrics-exporter.enabled
diff --git a/sdfabric/README.md b/sdfabric/README.md
index 8546e0b..422d936 100644
--- a/sdfabric/README.md
+++ b/sdfabric/README.md
@@ -1,7 +1,7 @@
 <!--
 SPDX-FileCopyrightText: 2020 Open Networking Foundation <info@opennetworking.org>
 
-SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+SPDX-License-Identifier: Apache-2.0
 -->
 
 # SD-Fabric Helm chart
diff --git a/sdfabric/templates/secret-registry.yaml b/sdfabric/templates/secret-registry.yaml
index 7121fdc..60ec716 100644
--- a/sdfabric/templates/secret-registry.yaml
+++ b/sdfabric/templates/secret-registry.yaml
@@ -1,7 +1,7 @@
 {{/*
 # Copyright 2020-present Open Networking Foundation
 
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 */}}
 
 {{- if .Values.image.credential }}
diff --git a/sdfabric/values.yaml b/sdfabric/values.yaml
index 56fd8bb..7253cb7 100644
--- a/sdfabric/values.yaml
+++ b/sdfabric/values.yaml
@@ -1,6 +1,6 @@
 # SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
 #
-# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+# SPDX-License-Identifier: Apache-2.0
 
 image:
   credential:
