diff --git a/policies/conduct.rst b/policies/conduct.rst
new file mode 100644
index 0000000..27766ed
--- /dev/null
+++ b/policies/conduct.rst
@@ -0,0 +1,63 @@
+Code of Conduct
+===============
+
+Version: 2019-11-07
+
+The Open Networking Foundation (ONF) is dedicated to providing a safe and
+harassment-free professional environment (meetings, events, activities, both
+online and offline) for everyone, regardless of gender, sexual orientation,
+disability, physical appearance, race, age, religion, or any other protected
+category. ONF does not tolerate harassment of any participant in any form. ONF
+participants violating these rules may be sanctioned or expelled from ONF
+projects and programs, including but not limited to online communities,
+internal programs, and in-person events at the discretion of ONF staff, with no
+refund. These individuals could also have their permissions revoked, and this
+decision would be communicated to the violator’s company. In addition,
+violations may be turned over to the appropriate authorities for resolution.
+
+Expected Behavior
+-----------------
+
+* Be respectful, kind, and professional
+* Exercise consideration and empathy in your words and actions
+* Be mindful of others
+
+ONF is an international community and assumes good intent, but also understands
+that written communication, including emojis, does not always convey nuances,
+such as humor. Please think about how your words may be misinterpreted by the
+community before saying, posting, or sending them.
+
+Unacceptable Behavior
+---------------------
+
+Intimidating, harassing, discriminatory, abusive, derogatory, or demeaning
+speech or actions by any participant, at any ONF event online or offline as
+well as in one-on-one communication carried out in the context of ONF will not
+be tolerated.
+
+Harassment includes, but is not limited to: offensive verbal comments related
+to gender, gender identity and expression, sexual orientation, disability,
+physical appearance, body size, race, age, religion; it also includes stalking,
+following, harassing photography or recording, sustained disruption of talks or
+other events, inappropriate physical contact, and unwelcome sexual attention.
+
+Consequences of Unacceptable Behavior
+-------------------------------------
+
+Participants who are asked to stop any unacceptable behavior are expected to
+comply immediately.  If a participant engages in unacceptable behavior, ONF
+staff members or volunteer leaders may initiate any reasonable action they deem
+appropriate, including expulsion from ONF online forums or summoning event
+security or law enforcement.
+
+Contact Information
+-------------------
+
+If you are being harassed, notice that someone else is being harassed, or have
+any other concerns involving someone’s welfare, please notify a member of the
+ONF team or email `conduct@opennetworking.org
+<mailto:conduct@opennetworking.org>`_. In case of an emergency, please contact
+law enforcement first and then notify ONF. ONF will be available to help
+participants contact local law enforcement, provide escorts, or otherwise
+provide assistance, so that those experiencing unacceptable behavior can feel
+safe for the duration of the event. ONF values your participation.
diff --git a/policies/licensing.rst b/policies/licensing.rst
new file mode 100644
index 0000000..0e3c01e
--- /dev/null
+++ b/policies/licensing.rst
@@ -0,0 +1,91 @@
+Software Licensing
+==================
+
+Software Licenses used by ONF
+-----------------------------
+
+Most of ONF's software is licensed under the `Apache License, Version 2.0
+<https://www.apache.org/licenses/LICENSE-2.0>`_ (commonly referred to as
+Apache-2 or APL2).
+
+REUSE License Tool
+""""""""""""""""""
+
+ONF uses the `REUSE <https://reuse.software>`_ toolkit to verify that licenses
+are correctly applied to files within a code repository, as an automated step
+in the CI process.
+
+REUSE replies on the `Software Package Data Exchange (SPDX) license headers
+<https://spdx.dev>`_ headers to be applied  to every source code file in the
+system.  These are put in a comment at the start of a file, similar to::
+
+  # SPDX-FileCopyrightText: 2022 Open Networking Foundation <info@opennetworking.org>
+  # SPDX-License-Identifier: Apache-2.0
+
+License Compatibility
+"""""""""""""""""""""
+
+Software licensing is a complex task, and attention needs to be paid to how
+code is incorporated in ONF projects, or how binaries generated from that code
+are used.
+
+If you would like to use external code in an ONF project that uses a license
+that is not mentioned as being acceptable in the lists below, please make an
+inquiry with the project development team before including that code.
+
+Code Level Linking
+''''''''''''''''''
+
+Apache 2.0 licensed software can incorporate or link directly against code
+written using the following licenses. A few examples:
+
+* BSD with 2, 3 clauses
+* MIT
+* Most "Public Domain" licenses
+
+See also the `ASF 3rd Party License Policy
+<https://www.apache.org/legal/resolved.html>`_ for additional details.
+
+Runtime Usage
+'''''''''''''
+
+Code with these kinds of licenses can be used at runtime, but can't be directly
+linked to:
+
+* GPL and most other "Strong Copyleft" licenses
+
+An example of this would be running an OS like Linux that is GPLv2 licensed as
+a part of an ONF project, it's used but not modified or linked against.
+
+Licenses to avoid
+'''''''''''''''''
+
+The following licenses have various issues related to additional requirements
+placed on it's use that are problematic, or favor one party over others.
+
+* AGPL: This makes requirements on releasing modifications to services
+  delivered over a network.
+
+* BSL: this is a timed license, which is proprietary for a period of time,
+  then automatically relicensed as GPL2
+
+* SSPL (MongoDB, Elasticsearch, etc.): makes requirements upon business process
+  and deployment code.
+
+Dual Licensing
+""""""""""""""
+
+It may be advantageous to dual-license code - code that serves as an example or
+templates that a user would copy and modify.  This also could include any code
+that is within documentation.
+
+In cases such as this, it may be advantageous to place examples in the public
+domain, or with a less strict license such as MIT or BSD 2-Clause.
+
+Contributor License Agreement
+-----------------------------
+
+Contributing software to and ONF project requires agreeing to the `Contributor
+Licensing Agreement <https://wiki.opennetworking.org/x/BgCUI>`_, which gives
+ONF a copyright and patent grant to for all code contributions, and the right
+to sublicense the code in the future.
