summaryrefslogtreecommitdiffstats
path: root/docs/guides/onap-documentation/introduction.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/guides/onap-documentation/introduction.rst')
-rw-r--r--docs/guides/onap-documentation/introduction.rst160
1 files changed, 160 insertions, 0 deletions
diff --git a/docs/guides/onap-documentation/introduction.rst b/docs/guides/onap-documentation/introduction.rst
new file mode 100644
index 000000000..3bc00d9a3
--- /dev/null
+++ b/docs/guides/onap-documentation/introduction.rst
@@ -0,0 +1,160 @@
+.. This work is licensed under a Creative Commons Attribution 4.0
+.. International License. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 AT&T Intellectual Property. All rights reserved.
+.. Copyright 2022 ONAP
+
+Introduction
+============
+This guide describes how to create documentation for the Open Network
+Automation Platform (ONAP). ONAP projects create a variety of
+content depending on the nature of the project. For example projects
+delivering a platform component may have different types of content than
+a project that creates libraries for a software development kit.
+The content from each project may be used together as a reference for
+that project and/or be used in documents that are tailored to a specific
+user audience and tasks they are performing.
+
+Much of the content in this document is derived from similar
+documentation processes used in other Linux Foundation
+Projects including OPNFV and Open Daylight.
+
+When is documentation required?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+All ONAP project contributions should have corresponding documentation.
+This includes all new features and changes to features that impact users.
+
+How do I create ONAP documentation?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ONAP documentation is written in ReStructuredText_ (an easy-to-read,
+what-you-see-is-what-you-get, plain text markup syntax). The process for
+creating ONAP documentation and what documents are required are
+described in later sections of this Developer Documentation Guide.
+
+.. _ReStructuredText: http://docutils.sourceforge.net/rst.html
+
+Why reStructuredText/Sphinx?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In the past, standard documentation methods included ad-hoc Word documents,
+PDFs, poorly organized Wikis, and other, often closed, tools like
+Adobe FrameMaker. The rise of DevOps, Agile, and Continuous Integration,
+however, created a paradigm shift for those who care about documentation
+because:
+
+1. Documentation must be tightly coupled with code/product releases.
+ In many cases, particularly with open-source products, many different
+ versions of the same code can be installed in various production
+ environments. DevOps personnel must have access to the correct version
+ of documentation.
+
+2. Resources are often tight, volunteers scarce. With a large software base
+ like ONAP, a small team of technical writers, even if they are also
+ developers, cannot keep up with a constantly changing, large code base.
+ Therefore, those closest to the code should document it as best they can,
+ and let professional writers edit for style, grammar, and consistency.
+
+Plain-text formatting syntaxes, such as reStructuredText, Markdown,
+and Textile, are a good choice for documentation because:
+
+a. They are editor agnostic
+
+b. The source is nearly as easy to read as the rendered text
+
+c. Documentation can be treated exactly as source code is (e.g. versioned,
+ diff'ed, associated with commit messages that can be included
+ in rendered docs)
+
+d. Shallow learning curve
+
+The documentation team chose reStructuredText largely because of Sphinx,
+a Python-based documentation build system, which uses reStructuredText
+natively. In a code base as large as ONAP's, cross-referencing between
+component documentation was deemed critical. Sphinx and reStructuredText
+have built-in functionality that makes collating and cross-referencing
+component documentation easier.
+
+Which documents should go where?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+A TSC Vote (2020, Feb. 19) approved the following usage policy:
+
+**DEVELOPER WIKI** is used for ONAP release, project, subcommitee and
+development related content, e.g.
+
+- project management (meetings, plans, milestones, members, ...)
+- project specific development guides
+- ongoing activities and discussions
+- ONAP community event documentation
+
+**READ THE DOCS** is used for all formal ONAP E2E and component documentation,
+e.g.
+
+- ONAP overview, architecture, API
+- ONAP developer guides (e.g. Documentation guide)
+- ONAP user guides (E2E)
+- ONAP component guides, release notes
+- ONAP administration/operations guides
+- ONAP use-case description and usage
+- ONAP tutorials
+- ONAP release notes
+
+The more tightly coupled the documentation is to a particular version
+of the code, the more likely it is that it should be stored with the
+code in reStructuredText.
+
+The doc team encourages component teams to store as much documentation
+as reStructuredText as possible because:
+
+1. It is easier to edit component documentation for grammar,
+ spelling, clarity, and consistency.
+
+2. A consistent formatting syntax across components will allow
+ flexibility in producing different kinds of output.
+
+3. It is easier to re-organize the documentation.
+
+4. Wiki articles tend to grow in size and not maintained making it hard
+ to find current information.
+
+Source Files
+------------
+All documentation for project repositories should be structured and stored
+in or below `<your_project_repo>/docs/` directory as Restructured Text.
+ONAP jenkins jobs that verify and merge documentation are triggered by
+RST file changes in the top level docs directory and below.
+
+Licensing
+---------
+All contributions to the ONAP project are done in accordance with the
+ONAP licensing requirements. Documentation in ONAP is contributed
+in accordance with the `Creative Commons 4.0 <https://creativecommons.org/licenses/by/4.0/>`_ license.
+All documentation files need to be licensed using the text below.
+The license may be applied in the first lines of all contributed RST
+files:
+
+.. code-block:: bash
+
+ .. This work is licensed under a Creative Commons Attribution 4.0 International License.
+ .. http://creativecommons.org/licenses/by/4.0
+ .. Copyright YEAR ONAP or COMPANY or INDIVIDUAL
+
+ These lines will not be rendered in the html and pdf files.
+
+When there are subsequent, significant contributions to a source file
+from a different contributor, a new copyright line may be appended
+after the last existing copyright line.
+
+Read The Docs URLs
+------------------
+
+When referencing versions of documentation a Read The Docs the following
+URL conventions should be used
+
+ +----------------------------------+----------------------------------------+
+ | URL | To Refer to |
+ +==================================+========================================+
+ | docs.onap.org | Most recent approved named release |
+ +----------------------------------+----------------------------------------+
+ | docs.onap.org/en/latest | Latest master branch all projects |
+ +----------------------------------+----------------------------------------+
+ | docs.onap.org/en/*named release* | An approved name release eg. amsterdam |
+ +----------------------------------+----------------------------------------+