<!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="de" lang="de">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="name" content="Apache OpenOffice" />
    <meta name="description" content="Die offizielle Homepage des Apache OpenOffice Open Source Projekts, Heimat von OpenOffice Writer, Calc, Impress, Draw und Base." />
    <meta name="keywords" content="OpenOffice, Open Office, Apache OpenOffice, Apache Open Office, OpenOffice.org, Calc, Impress, Draw, Base, ODF, Open Document Format, freie Büro-Editoren" />
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
    <title>Apache OpenOffice - Offizielle Seite - Die freie und offene Büro-Software</title>
    <script src="/download/globalvars.js"></script>
    <script src="/msg_prop_l10n.js"></script>
    <style>
    /* <![CDATA[ */
    /*-------------------- Exceptions on standard css -----------------------*/
    @import "/css/home.css";
    @import "/css/styles.css";
    @import "/css/exceptions.css";
    /* ]]> */
    </style>
    <script>
      function follow( platform ) {
        // _gaq.push( ['_trackEvent', 'social', 'followUs', platform] );

    if ( platform == 'ApacheBlog' ) {
          window.open( "https://blogs.apache.org/OOo/", "_blank" );
    } else if ( platform == 'Facebook' ) {
          window.open( "https://www.facebook.com/ApacheOO", "_blank" );
    } else if ( platform == 'Twitter' ) {
          window.open( "https://twitter.com/ApacheOO", "_blank" );
    } else if ( platform == 'YouTube' ) {
          window.open( "https://www.youtube.com/openoffice", "_blank" );
        }
    }

      function showAlertBox() {
    // The text is defined in "/msg_prop_l10n_xx.js".

	// Show the alert box or not?
	if( l10n.index_alert_box_show ) {
		// Depending if link is available, make the whole DIV clickable or not.
		if( l10n.index_alert_box_href ) {
			// Show the text with link and cursor as pointer.
			document.write( "<div id='alert_box' onclick='window.open( \"" + l10n.index_alert_box_href
			+ "\", \"_blank\" ); return false;'><ul><li>" );

			// Show headline.
			document.write( "<h2 style='cursor: pointer;'>"
			+ l10n.index_alert_box_headline_text + "</h2>" );

			// Show text.
			if( l10n.index_alert_box_text_text ) {
				document.write( "<p style='cursor: pointer;'>"
				+ l10n.index_alert_box_text_text + "</p>" );
			}
		} else {
			// Show the text without link and normal cursor.
			document.write( "<div id='alert_box'><ul><li>" );

			// Show headline.
			document.write( "<h2 style='cursor: default;'>"
			+ l10n.index_alert_box_headline_text + "</h2>" );

			// Show text.
			if( l10n.index_alert_box_text_text ) {
				document.write( "<p style='cursor: default;'>"
				+ l10n.index_alert_box_text_text + "</p>" );
			}
		}
		document.write( "</li></ul></div>" ); // Alert box.
    }
      }
    </script>
</head>

<body>

<!-- The text in the H1 tag is intentionally shown as not displayable, just to please accessibility tools like a
screen reader.
-->
<h1 style="display: none;">Apache OpenOffice</h1>

<div id="actionstatements">

  <script>
  <!--
  // Show alert box.
  // Show an important message or announcement.
  // In "/msg_prop_l10n.js": Change to 'true' to show the box that is defined in the variables.
  showAlertbox();
  //-->
  </script>

  <ul>
    <li>
      <hr />
    </li>
    <li>
      <div class="action-info">
        <div class="action-text action-link">
          <a href="/why/index.html">
            <h2>Ich m&ouml;chte mehr &uuml;ber OpenOffice wissen (Englisch)</h2>
            <p>Was ist Apache OpenOffice? Was bringt mir Apache OpenOffice?</p>
          </a>
        </div>
      </div>
    </li>
    <li>
      <hr />
    </li>
  </ul>

  <!-- Show the download link with currently available version number, loaded via JavaScript -->
  <script>
  <!--
  document.write( "<ul><li>"
    + "<div class='action-download'>"
      + "<div class='action-text action-link'>"
        + "<a href='./download/'>"
          + "<h2>Ich m&ouml;chte Apache OpenOffice herunterladen</h2>"
          + "<p style='font-size: 1.0em; font-weight: bold;'>(Neueste Version: " + DL.VERSION + ")</p>"
          + "<p>Laden Sie Apache OpenOffice kostenlos herunter <b>(wirklich, ohne Lizenzgeb&uuml;hren!)</b> | "
            + "<a href='https://blogs.apache.org/OOo/entry/with_apache_openoffice_you_get'"
              + "title='Blog post: With Apache OpenOffice you get what you do not pay for' target='_blank'>"
              + "Hier mehr Informationen (in Englisch)"
            + ".</a>"
          + "</p>"
        + "</a>"
      + "</div>"
    + "</div>"
  + "</li></ul>" );
  //-->
  </script>

  <!-- Show the download link, without version number -->
  <noscript>
    <div class="action-download">
      <div class="action-text action-link">
        <a href="./download/">
          <h2>Ich m&ouml;chte Apache OpenOffice herunterladen</h2>
          <p>Laden Sie Apache OpenOffice kostenlos herunter.</p>
        </a>
      </div>
    </div>
  </noscript>

  <ul>
    <li>
      <hr />
    </li>
    <li>
      <div class="action-help">
        <div class="action-text action-link">
          <a href="./about-ooo/about-mailinglist.html">
            <h2>Ich ben&ouml;tige Hilfe zu OpenOffice</h2>
            <p>Wann immer Sie Unterst&uuml;tzung brauchen, hier gibt es Hilfe.</p>
          </a>
        </div>
      </div>
    </li>
    <li>
      <hr />
    </li>
    <li>
      <div class="action-extend">
        <div class="action-text action-link">
          <a href="/extensions/index.html">
            <h2>Ich m&ouml;chte mehr mit OpenOffice machen</h2>
            <p>Erweitern Sie Apache OpenOffice mit zus&auml;tzlichen Funktionen, Vorlagen und Clipart.</p>
          </a>
        </div>
      </div>
    </li>
    <li>
      <hr />
    </li>
    <li>
      <div class="action-participate">
        <div class="action-text action-link">
          <a href="https://openoffice.apache.org/get-involved-de.html">
            <h2>Ich m&ouml;chte mich bei OpenOffice beteiligen</h2>
            <p>Apache OpenOffice wird von Menschen rund um die Welt gemacht. Wir freuen uns &uuml;ber jede Beteiligung!</p>
          </a>
        </div>
      </div>
    </li>
    <li>
      <hr />
    </li>
    <li>
      <div class="action-social">
        <div class="action-text action-link">
          <a href="/social/index.html" onclick="javascript:follow( 'SocialLink' );">
            <h2>Bleibe mit OpenOffice in Kontakt (Englisch)</h2>
            <p>Folge Apache OpenOffice via Announcement-Liste, offiziellem Blog oder sozialen Netzwerken.</p>
          </a>
          <div class="action-social-extra">
            <p>
              <span style="padding:0 5px; cursor: pointer;" onclick="javascript:follow( 'ApacheBlog' );"
                title="Folge unserem offiziellen Blog">
                <img src="/images/logo-rss-16.png" alt="Folge unserem offiziellen Blog" />
                <a>Offizieller Blog</a>
              </span>
              <span style="padding:0 5px; cursor: pointer;" onclick="javascript:follow( 'Facebook' );"
                title="Folge uns auf Facebook">
                <img src="/images/logo-facebook-16.png" alt="Facebook" />
                <a>Facebook</a>
              </span>
              <span style="padding:0 5px; cursor: pointer;" onclick="javascript:follow( 'Twitter' );"
                title="Folge uns auf Twitter">
                <img src="/images/logo-twitter-16.png" alt="Twitter" />
                <a>Twitter</a>
              </span>
              <span style="padding: 0 5px; cursor: pointer;" onclick="javascript:follow( 'YouTube' );"
                title="Abonniere unseren YouTube-Kanal">
                <img src="/images/logo-youtube-16.png" alt="YouTube" />
                <a>YouTube</a>
              </span>
            </p>
          </div>
        </div>
      </div>
    </li>
    <li>
      <hr />
    </li>
  </ul>

  <div id="SupportedAndSupporters">
    <a href="https://validator.w3.org/check?uri=referer"
    title="W3C Markup Validation Service - Check the markup (HTML, XHTML, ...) of Web documents">
    <img src="https://www.w3.org/Icons/valid-xhtml10-blue.png"
    alt="Valid XHTML 1.0!" height="31" width="88" /></a>
  </div>
</div>

<div id="news">

  <div class="first campaign" style="height: 210px; float: right; overflow: auto;">
    <h2>Letzte Blogposts (Englisch)</h2>

    <p style="text-align:right">
      <a href="https://blogs.apache.org/OOo/" target="_blank">Alle Blogposts (Englisch)</a>
    </p>

    <p>
      <em>10. November 2025:</em>
      <br />
      <a href="https://openoffice.apache.org/blog/announcing-apache-openoffice-4-1-16">
      Announcing Apache OpenOffice 4.1.16</a>
      <br />

      <em>22. Dezember 2023:</em>
      <br />
      <a href="https://openoffice.apache.org/blog/announcing-apache-openoffice-4-1-15">
      Announcing Apache OpenOffice 4.1.15</a>
      <br />

      <em>27. Februar 2023:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-110">
      Announcing Apache OpenOffice 4.1.14</a>
      <br />

      <em>30. August 2022:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/more-than-333-million-downloads">
      333,333,333+ Downloads of Apache OpenOffice</a>
      <br />

      <em>22. Juli 2022:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-19">
      Announcing Apache OpenOffice 4.1.13</a>
      <br />

      <em>4. Mai 2022:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-18">
      Announcing Apache OpenOffice 4.1.12</a>
      <br />

      <em>6. Oktober 2021:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-17">
      Announcing Apache OpenOffice 4.1.11</a>
      <br />

      <em>4. Mai 2021:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-16">
      Announcing Apache OpenOffice 4.1.10</a>
      <br />

      <em>7. Februar 2021:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-15">
      Announcing Apache OpenOffice 4.1.9</a>
      <br />

      <em>6. Januar 2021:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/new-release-for-apple-s">
      New release for Apple's macOS 11 (Big Sur) - Also with fixes for Linux and Windows</a>
      <br />

      <em>10. November 2020:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-14">
      Announcing Apache OpenOffice 4.1.8</a>
      <br />

      <em>29 October 2020:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/300-million-downloads-of-apache">
      300 Million Downloads of Apache OpenOffice</a>
      <br />

      <em>17 May 2020:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/apache-openoffice-needs-your-help">
      Apache OpenOffice needs your help</a>
      <br />

      <em>15. Oktober 2020:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/the-apache-software-foundation-celebrates">
      The Apache Software Foundation Celebrates 20 Years of OpenOffice®</a>
      <br />

      <em>22. Oktober 2019:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/1-6-million-downloads-of">
      1.6 million downloads of Apache OpenOffice 4.1.7</a>
      <br />

      <em>21. September 2019:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-13">
      Announcing Apache OpenOffice 4.1.7</a>
      <br />

      <em>18. November 2018:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-12">
      Announcing Apache OpenOffice 4.1.6</a>
      <br />

      <em>31 January 2018:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/over-3-2-million-downloads">
      Over 3.2 million downloads of Apache OpenOffice 4.1.5</a>
      <br />

      <em>30. Dezember 2017:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-11">
      Announcing Apache OpenOffice 4.1.5</a>
      <br />

      <em>19. Oktober 2017:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-1">
      Announcing Apache OpenOffice 4.1.4</a>
      <br />

      <em>28. November 2016:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/over_200_million_downloads_of">
      Over 200 million downloads of Apache OpenOffice</a>
      <br />

      <em>12. Oktober 2016:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_12">
      Apache OpenOffice 4.1.3 released</a>
      <br />

      <em>28. Oktober 2015:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_11">
      Apache OpenOffice 4.1.2 released</a>
      <br />

      <em>27. September 2015:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/coming_soon_apache_openoffice_4">
      Coming soon... Apache OpenOffice 4.1.2</a>
      <br />

      <em>13 May 2015:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/authoring_e_books_in_apache">
      Authoring e-Books in Apache OpenOffice</a>
      <br />

      <em>13. April 2015:</em>
      <br />
      <a href="https://blogs.apache.org/OOo/entry/collaboration_is_in_our_dna">
      Collaboration is in our DNA</a>
      <br />
    </p>
  </div>

  <div id="all_news" style="height: 375px; float: left; overflow: auto;">
    <div class="campaign">
      <h2>Letzte Neuigkeiten</h2>

      <p style="text-align:right">
        <a href="/news/index.html">Archivierte Neuigkeiten (Englisch)</a>
      </p>
      <p></p>

      <h2>Apache OpenOffice 4.1.16 veröffentlicht</h2>

      <p>
        <em>10. November 2025:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.16 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://openoffice.apache.org/blog/announcing-apache-openoffice-4-1-16">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1.16+Release+Notes">
        Release Notes</a> (Englisch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.15 veröffentlicht</h2>

      <p>
        <em>22. Dezember 2023:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.15 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://openoffice.apache.org/blog/announcing-apache-openoffice-4-1-15">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1.15+Release+Notes">
        Release Notes</a> (Englisch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.14 veröffentlicht</h2>

      <p>
        <em>27. Februar 2023:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.14 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-110">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1.14+Release+Notes">
        Release Notes</a> (Englisch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Mehr als 333.333.333 Downloads</h2>

      <p>
        <em>30. August 2022:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass Apache OpenOffice mehr als 333.333.333 Mal
        <a href="https://www.openoffice.org/de/download/">heruntergeladen</a> wurde. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/more-than-333-million-downloads">Blog</a>
        (Englisch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.13 veröffentlicht</h2>

      <p>
        <em>22. Juli 2022:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.13 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-19">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1.13+Release+Notes">
        Release Notes</a> (Englisch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.12 veröffentlicht</h2>

      <p>
        <em>4. Mai 2022:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.12 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-18">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1.12+Release+Notes">
        Release Notes</a> (Englisch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.11 veröffentlicht</h2>

      <p>
        <em>6. Oktober 2021:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.11 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-17">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191333357">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.10 veröffentlicht</h2>

      <p>
        <em>4. Mai 2021:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.10 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-16">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=181305380">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.9 veröffentlicht</h2>

      <p>
        <em>7. Februar 2021:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.9 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-15">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=173081636">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.8 veröffentlicht</h2>

      <p>
        <em>10. November 2020:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.8 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-14">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=165224926">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.7 veröffentlicht</h2>

      <p>
        <em>21. September 2019:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.7 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-13">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/display/OOOUSERS/AOO+4.1.7+Release+Notes">
        Release Notes</a> (Englisch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.6 veröffentlicht</h2>

      <p>
        <em>18. November 2018:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.6 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-12">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=97550579">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.5 veröffentlicht</h2>

      <p>
        <em>30. Dezember 2017:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.5 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-11">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=74691663">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.4 veröffentlicht</h2>

      <p>
        <em>19. Oktober 2017:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.4 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing-apache-openoffice-4-1">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=73632410">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.3 veröffentlicht</h2>

      <p>
        <em>12. Oktober 2016:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.3 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_12">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=65873798">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.2 veröffentlicht</h2>

      <p>
        <em>28. Oktober 2015:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.2 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_11">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61318804">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.1 veröffentlicht</h2>

      <p>
        <em>21. August 2014:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.1 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_1">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=44995874">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>

    <div class="campaign">
      <h2>Apache OpenOffice 4.1.0 veröffentlicht</h2>

      <p>
        <em>29. April 2014:</em>
        Das Apache OpenOffice Projekt gibt bekannt, dass AOO 4.1.0 ab sofort zum
        <a href="https://www.openoffice.org/de/download/">Herunterladen</a> zur Verfügung steht. Weitere Informationen
        sind im <a href="https://blogs.apache.org/OOo/entry/the_apache_openoffice_project_announce">Blog</a>
        (Englisch) und in den <a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=40507525">
        Release Notes</a> (Deutsch) nachlesbar.
      </p>
    </div>
  </div>
</div>

<!-- Every new element and text that is defined below the previous DIV will be actually displayed wrapped below this DIV
(because of "clear: both" instead of floated around the previous DIVs. This is really needed. -->
<div style="clear: both;">
</div>

</body>
</html>
