<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="name" content="Apache OpenOffice" />
    <meta name="description" content="The official home page of the Apache OpenOffice open source project, home of OpenOffice Writer, Calc, Impress, Draw and Base." />
    <meta name="keywords" content="OpenOffice, Open Office, Apache OpenOffice, Apache Open Office, OpenOffice.org, Official, Official Site, Writer, Calc, Impress, Draw, Base, ODF, Open Document Format, free office editors" />
    <meta name="google-site-verification" content="I-hPf9Mn1dfj03oW79MDQoCJLeGc0cHaQleb1aXBzzg" />
    <meta name="p:domain_verify" content="bd1ba1fb9d25b0eb3d64891f89e9195e" />
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
    <title>Apache OpenOffice - Social Media</title>
</head>

<body>
  <h1>Official Announcements</h1>

  <p>
    The announce mailing list is the official avenue for announcements from Apache OpenOffice. This is a low-volume list.
    All users and interested parties are encouraged to subscribe in order to receive release announcements, security
    bulletins and other important updates.
  </p>
  <p>
    To subscribe to the announce mailing list, send an empty email to
    <a href="mailto:announce-subscribe@openoffice.apache.org">announce-subscribe@openoffice.apache.org</a> and respond to
    the confirmation mail you will receive.
  </p>
  <p>
    For more information about how to work with mailing lists
    <a href="https://openoffice.apache.org/mailing-lists.html">please see here</a>.
  </p>

  <h1>Social Media</h1>

  <p>
    The Apache OpenOffice project provides occasional news updates and announcement via a variety of popular social media
    outlets. We invite you to follow us on any of these social networks, and to share our posts with friends in your
    network.
  </p>
  <p>
    We also have an <a href="https://blogs.apache.org/OOo/">official blog</a>, which features more in depth stories about
    Apache OpenOffice, previews of upcoming features and other intersting things.
  </p>

  <h2>Social Media Channels</h2>

  <table>
    <tr>
      <td>
        <h3><b>Follow us on our Official Blog</b></h3>
      </td>
      <td>
        <h3><b>Follow us on Facebook</b></h3>
      </td>
      <td>
        <h3><b>Follow the Facebook Group</b></h3>
      </td>
      <td>
        <h3><b>Follow us on Twitter</b></h3>
      </td>
      <td>
        <h3><b>Follow us on Youtube</b></h3>
      </td>
    </tr>
    <tr>
      <!-- Apache OpenOffice Official Blog -->
      <td>
        <a href="https://blogs.apache.org/OOo/" title="Follow us on our Official Blog" target=_blank>Official Blog
        <img src="/images/logo-rss-16.png" alt="Apache Blog logo" /></a>
      </td>

      <!-- Facebook -->
      <td>
        <a href="https://www.facebook.com/ApacheOO" title="Follow us on Facebook" target=_blank>Facebook
        <img src="/images/logo-facebook-16.png" alt="Facebook logo" /></a>
      </td>

      <!-- Facebook Group -->
      <td>
        <a href="https://www.facebook.com/groups/338330086179568/" title="Follow us on Facebook" target=_blank>Facebook Group
        <img src="/images/logo-facebook-16.png" alt="Facebook logo" /></a>
      </td>

      <!-- Twitter -->
      <td>
        <a href="https://twitter.com/ApacheOO" title="Follow us on Twitter" target=_blank>Twitter
        <img src="/images/logo-twitter-16.png" alt="Twitter logo" /></a>
        <br /><br />
        Hashtag: #apacheoo
      </td>

      <!-- YouTube -->
      <td>
        <a href="https://www.youtube.com/openoffice" title="Follow us on YouTube" target=_blank>YouTube
        <img src="/images/logo-youtube-16.png" alt="YouTube logo" /></a>
      </td>
    </tr>
  </table>

</body>
</html>
