summaryrefslogtreecommitdiff
path: root/doc/rst/getting_started_with_nss/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rst/getting_started_with_nss/index.rst')
-rw-r--r--doc/rst/getting_started_with_nss/index.rst106
1 files changed, 106 insertions, 0 deletions
diff --git a/doc/rst/getting_started_with_nss/index.rst b/doc/rst/getting_started_with_nss/index.rst
new file mode 100644
index 000000000..4f9ae3540
--- /dev/null
+++ b/doc/rst/getting_started_with_nss/index.rst
@@ -0,0 +1,106 @@
+.. _mozilla_projects_nss_getting_started_with_nss:
+
+Getting Started With NSS
+========================
+
+.. _how_to_get_involved_with_nss:
+
+`How to get involved with NSS <#how_to_get_involved_with_nss>`__
+----------------------------------------------------------------
+
+.. container::
+
+ | Network Security Services (NSS) is a base library for cryptographic algorithms and secure
+ network protocols used by Mozilla software.
+ | Would you like to get involved and help us to improve the core security of Mozilla Firefox and
+ other applications that make use of NSS? We are looking forward to your contributions!
+ | We have a large list of tasks waiting for attention, and we are happy to assist you in
+ identifying areas that match your interest or skills. You can find us on `Mozilla
+ IRC <https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC>`__ in
+ channel `#nss <irc://irc.mozilla.org/#nss>`__ or you could ask your questions on the
+ `mozilla.dev.tech.crypto <https://lists.mozilla.org/listinfo/dev-tech-crypto/>`__ newsgroup.
+
+ The NSS library and its supporting command line tools are written in the C programming language.
+ Its build system and the automated tests are based on makefiles and bash scripts.
+
+ Over time, many documents have been produced that describe various aspects of NSS. You can start
+ with:
+
+ - the current `primary NSS documentation page <https://developer.mozilla.org/en-US/docs/NSS>`__
+ from which we link to other documentation.
+ - a `General Overview <https://developer.mozilla.org/en-US/docs/Overview_of_NSS>`__ of the
+ applications that use NSS and the features it provides.
+ - a high level :ref:`mozilla_projects_nss_an_overview_of_nss_internals`.
+ - learn about getting the :ref:`mozilla_projects_nss_nss_sources_building_testing`
+ - `Old documentation <https://www-archive.mozilla.org/projects/security/pki/nss/>`__ that is on
+ the archived mozilla.org website.
+
+ (Unfortunately the NSS project doesn't have a technical writer at this time, so our documentation
+ is not as organized as we would like it to be. You could contribute by organizing it in a better
+ way.)
+
+.. _nss_sample_code:
+
+`NSS Sample Code <#nss_sample_code>`__
+--------------------------------------
+
+.. container::
+
+ A good place to start learning how to write NSS applications are the command line tools that are
+ maintained by the NSS developers. You can find them in subdirectory mozilla/security/nss/cmd
+
+ Or have a look at some basic :ref:`mozilla_projects_nss_nss_sample_code`.
+
+ A new set of samples is currently under development and review, see `Create new NSS
+ samples <https://bugzilla.mozilla.org/show_bug.cgi?id=490238>`__.
+
+ You are welcome to download the samples via: hg clone https://hg.mozilla.org/projects/nss; cd
+ nss; hg update SAMPLES_BRANCH
+
+.. _how_to_contribute:
+
+`How to Contribute <#how_to_contribute>`__
+------------------------------------------
+
+.. container::
+
+ ... (this section is still under construction, but there are many contribution opportunities)
+
+ Start by opening a bugzilla account at `bugzilla.mozilla.org <https://bugzilla.mozilla.org/>`__
+ if you don't have one.
+
+ NSS :: Libraries component for issues you'd like to work on. We maintain a list of `NSS bugs
+ marked with a keyword "good-first-bug" that you can
+ view <https://bugzilla.mozilla.org/buglist.cgi?keywords=good-first-bug%2C%20&keywords_type=allwords&classification=Components&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Libraries&product=NSS>`__.
+
+.. _creating_your_patch:
+
+`Creating your Patch <#creating_your_patch>`__
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ Seee our section on :ref:`mozilla_projects_nss_nss_sources_building_testing` to get started
+ making your patch. When you're satisfied with it, you'll need code review.
+
+.. _code_review:
+
+`Code Review <#code_review>`__
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ `http://phabricator.services.mozilla.com/ <https://phabricator.services.mozilla.com>`__ is our
+ code review tool, which uses your Bugzilla account. Use our `Phabricator user instructions to
+ upload patches for
+ review <https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html>`__.
+
+ Some items that will be evaluated during code review are `listed in checklist form on
+ Github. <https://github.com/mozilla/nss-tools/blob/master/nss-code-review-checklist.yaml>`__
+
+ After passing review, your patch can be landed by a member of the NSS team. You can find us on
+ `Mozilla IRC <https://developer.mozilla.org/en-US/docs/Mozilla/QA/Getting_Started_with_IRC>`__ in
+ channel `#nss <irc://irc.mozilla.org/#nss>`__.
+
+ Note that we don't land code that isn't both reviewed and tested. Code only works when it has
+ tests, and tests only work when they're part of the automation. \ No newline at end of file