<?xml version="1.0" encoding="UTF-8"?>
<helpdocument version="1.0">

<!--***********************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 ***********************************************************-->




<meta>
      <topic id="textshared0500000001xml" indexer="include">
         <title xml-lang="en-US" id="tit">Getting Support</title>
         <filename>/text/shared/05/00000001.xhp</filename>
      </topic>
   </meta>
   <body>
      <section id="support">
<bookmark xml-lang="en-US" branch="index" id="bm_id3143272"><bookmark_value>support on the Web</bookmark_value>
         <bookmark_value>getting support</bookmark_value>
         <bookmark_value>forums and support</bookmark_value>
         <bookmark_value>Web support</bookmark_value>
</bookmark>
<paragraph xml-lang="en-US" id="hd_id3146873" role="heading" level="1" l10n="U" oldref="1"><variable id="00000001"><link href="text/shared/05/00000001.xhp" name="Getting Support">Getting Support</link>
</variable></paragraph>
         <paragraph xml-lang="en-US" id="par_id9173253" role="paragraph" l10n="NEW">Many questions and answers are the same for %PRODUCTNAME software and for the commercial office software.</paragraph>
         <paragraph xml-lang="en-US" id="par_id3150667" role="paragraph" l10n="CHG" oldref="8">You can find support on the %PRODUCTNAME website at <link href="https://support.openoffice.org">support.openoffice.org</link>.</paragraph>

         <paragraph xml-lang="en-US" id="par_id3154230" role="paragraph" l10n="U" oldref="3">For a summary of the current support services refer to the <emph>Readme</emph> file in the <item type="productname">%PRODUCTNAME</item> folder.</paragraph>
<paragraph xml-lang="en-US" id="hd_id26327" role="heading" level="2" l10n="NEW">Local language support pages</paragraph>
         <paragraph xml-lang="en-US" id="par_id1318380" role="paragraph" l10n="CHG">The %PRODUCTNAME localization projects offer support pages in local languages. Find an overview of the native language projects at <link href="https://projects.openoffice.org/native-lang.html">projects.openoffice.org/native-lang.html</link>. You can find help and support in English language on the %PRODUCTNAME website at <link href="https://support.openoffice.org">support.openoffice.org</link>.</paragraph>
         <paragraph xml-lang="en-US" id="hd_id2611386" role="heading" level="2" l10n="NEW">Mailing lists</paragraph>
         <paragraph xml-lang="en-US" id="par_id3166335" role="paragraph" l10n="NEW">Ask about %PRODUCTNAME, find help by volunteers, and discuss topics on the public mailing lists. You can find many general and specialized mailing lists on the %PRODUCTNAME website at <link href="https://www.openoffice.org/mail_list.html">www.openoffice.org/mail_list.html</link>.</paragraph>
         <paragraph xml-lang="en-US" id="hd_id0915200811081722" role="heading" level="2" l10n="NEW">Forum</paragraph>
         <paragraph xml-lang="en-US" id="par_id0915200811081778" role="paragraph" l10n="NEW">You can access web forums to ask and answer questions about %PRODUCTNAME.</paragraph>
         <paragraph xml-lang="en-US" id="hd_id0804200803314150" role="heading" level="2" l10n="NEW">Security</paragraph>
         <paragraph xml-lang="en-US" id="par_id0804200803314235" role="paragraph" l10n="NEW">In case you are concerned about any security issue with using this software, please refer to the <link href="https://www.openoffice.org/security/index.html">%PRODUCTNAME Security</link> page on our website.</paragraph>
         <paragraph xml-lang="en-US" id="hd_id3168534" role="heading" level="2" l10n="NEW">Downloads</paragraph>
         <paragraph xml-lang="en-US" id="par_id3028143" role="paragraph" l10n="CHG">You can download the latest version of %PRODUCTNAME at <link href="https://download.openoffice.org/">download.openoffice.org</link>.</paragraph>
         <paragraph xml-lang="en-US" id="hd_id2602967" role="heading" level="2" l10n="NEW">Documentation</paragraph>
         <paragraph xml-lang="en-US" id="par_id3497211" role="paragraph" l10n="NEW">You can download documentation as PDF files, how-tos, and guides from the %PRODUCTNAME website at <link href="https://documentation.openoffice.org">documentation.openoffice.org</link>.</paragraph>
         <paragraph xml-lang="en-US" id="hd_id0120200910361765" role="heading" level="2" l10n="NEW">Participate and give back</paragraph>
         <paragraph xml-lang="en-US" id="par_id0120200910361848" role="paragraph" l10n="NEW">If you want to take an active role in the worldwide %PRODUCTNAME community, you are very welcome to give feedback, discuss features, propose enhancements, write your own article in an FAQ, how-to, manual, create a video tutorial, etc.</paragraph>
         <paragraph xml-lang="en-US" id="par_id0120200910361874" role="paragraph" l10n="NEW">Visit the <link href="https://documentation.openoffice.org/">documentation web site</link> or the <link href="https://wiki.openoffice.org/wiki/Documentation">Wiki starting page</link> and follow the links for contributors.</paragraph>
      </section>
   </body>
</helpdocument>