<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Apache Software Foundation oznamuje, že sa Apache OpenOffice&trade; stal Top-Level Projektom</title>
        
    </head>

    <body>
        <h1>Apache Software Foundation oznamuje, že sa Apache OpenOffice&trade; stal Top-Level Projektom</h1>
        <h2>Popredný a oceňovaný Open Source kancelársky balík široko používaný v 228 krajinách; viac ako 20 miliónov stiahnutí poslednej verzie od jej vydania v máji 2012</h2>


<p><strong>Forest Hill, Maryland, USA -- 18. október 2012 -- </strong> Organizácia Apache Software Foundation (ASF), všetci dobrovoľní členovia, 
vývojári, pracovníci a inkubátory takmer 150 Open Source
projektov a iniciatív dnes oznamujú, že Apache Open Office
vystúpil z Apache Incubatoru a stal sa vrcholovým Top-Level
Projektom (TLP), čo znamená, že komunita Projektu a produkty
sa riadia meritokratickými postupmi a zásadami organizácie ASF.</p>

<p>"Vystúpenie OpenOffice z inkubátoru je dôkaz o The Apache Way,
úspešnom stupňovaní projektu od zavedenia 'značky s identifikovateľnou identitou', až po
vysokouznávaný produkt pre koncových používateľov," povedal Ross Gardler, výkonný viceprezident ASF a
 mentor Apache OpenOffice. 
"Inkubačný proces umožňuje skúseným Apache prispievateľom 
učiť projekt, pomáhať novým aj stálym prispievateľom OpenOffice
 vybudovať komunitu v Apache-štýle, ktorá je otvorenú a
rozmanitú."</p>

<p>"Vystúpenie OpenOffice z inkubátoru je oficiálne uznanie, že projekt
je schopný riadiť sám seba nielen v technických záležitostiach,
ale aj v komunitných otázkach," povedal Andrea Pescetti, viceprezident 
Apache OpenOffice. "'Apache Way' a jeho metódy, ako 
prijatie každého rozhodnutia na verejnosti s úplnou transparentnosťou, 
dovoluje projektu zaujať a úspešne zapojiť do projektu nových
dobrovoľníkov, a zvoliť si aktívnych a rozdielnych Project Management
Committee, ktorí budú schopní zaručiť stabilnú budúcnosť pre Apache
OpenOffice."</p>

<p>Základ kódu OpenOffice bol pôvodne vytvorený firmou Star Division v 1990, 
ktorý získala firma Sun Microsystems v 1999 a neskôr Oracle
Corporation v 2010, predtým ako bol predložený Apache Software Foundation Incubator v júni 2011.</p>

<p>Počas obdobia vývoja v Apache Incubator, 
Apache OpenOffice projekt zmenil skoro 10 miliónov riadkov kódu, pridal mnoho vylepšení a opravil veľa chýb, ktoré nahlásili užívatelia
 obľúbeného a slobodného kancelárskeho balíku. 
Navyše softvér získal päť priemyselných ocenení, od
uznania jednotlivých komponentov cez mnoho stiahnutí až po ocenenie najlepší Open Source
 balík kancelárskych aplikácií.</p>

<p>V máji 2012 bol Apache OpenOffice v3.4 vydaný v 20 jazykoch,
a stiahnutý viac ako 20 miliónov-krát jednotlivcami a užívateľmi firemných,
vzdelávacích a vládnych organizácií v 228 krajinách. Od vtedy, 
projekt pracuje na novej funkčnosti, inováciách, a
verziách pripravovaných na prvý a štvrtý kvartál roku 2013.</p>

<p>"Je to naozaj skvelé, že je teraz OpenOffice top-level projektom v organizácii
Apache," povedal Juergen Schmidt, Apache OpenOffice Release Manager.
"Stretli sme sa s mnohými problémami, kým sme dosiahli tento míľnik: naše prvé vydanie Apache
OpenOffice 3.4 potrebovalo, aby naša komunita nielen
preniesla kód z repozitárov Oracle do Apache, ale tiež
nahradila nekompatibilne-licencované knižnice, aby boli úspešne
splnené licenčné podmienky organizácie Apache. Teraz je zdrojový kód Apache OpenOffice
dostupný pre prospech iných projektov a organizácií."</p>

<p>"Sme mimoriadne pyšný na tento dôležitý míľnik a vítame
OpenOffice v našej skupine popredných svetových Apache projektov," dodal
Gardler.</p>
<p>

<strong>Dostupnosť a dozor</strong>
<br/>
Apache OpenOffice je bezplatne dostupný pre každého používateľa na akýkoľvek
účel a môže byť staihnutý z <a href="http://openoffice.org/">http://openoffice.org/</a>.
Produkt môže byť stiahnutý na neobmedzený počet počítačov pre
neobmedzený počet používateľov --úplne zadarmo a bez licenčných poplatkov.
Projekt sa významne sústredí na podporu otvorených štandardov, od ODF
(prvý implementátor štandardu ISO/IEC 26300), až po plánovanú podporu CMIS,
OpenSocial a OData.</p>

<p>Tak ako všetok Apache softvér aj Apache OpenOffice softvér je
vydaný pod licenciou Apache License v2.0, na čo dozerá 
samo-vybraný tím aktívnych prispievateľov do projektu. Project
Management Committee (PMC) riadia každodenné fungovanie
 Projektu, vrátane komunitného rozvoja a vydávania verzií produktu.
Informácie o zdrojovom kóde Apache OpenOffice, dokumentácii,
 mailing listoch, súvisiacich zdrojoch a spôsoboch ako sa zúčastniť sú
dostupné na <a href="http://openoffice.apache.org/">http://openoffice.apache.org/</a>.</p>
<p>
   
<strong>O organizácii Apache Software Foundation (ASF)</strong>
<br/>
Nadácia založená v roku 1999 zložená z dobrovoľníkov dozerajúcich na takmer
stopäťdesiat popredných Open Source projektov, vrátane Apache
HTTP Server -- najpopulárnejšieho Web server softvéru na svete.
Vďaka meritokratickému procesu ASF známemu ako "The Apache Way",
viac ako 400 individuálnych členov (Members) a 3500 prispievateľov (Committers) úspešne
spolupracujú na vývoji voľne dostupného softvéru, ktorý má podnikovú úroveň kvality 
a ktorý je prospešný pre milióny používateľov na celom svete: tisíky softvérových
riešení je distribuovaných pod licenciou Apache License; a
komunita aktívne spolupracuje v ASF mailing listoch, poradenstve
 a na ApacheCon - oficiálnej užívateľskej
konferencii organizovanej nadáciou, tréningoch a výstavách. ASF je US 501(c)(3)
neziskový dobročinný spolok, založený individuálnymi príspievateľmi 
a korporátnymi sponzormi vrátane AMD, Basis Technology, Citrix,
Cloudera, Facebook, Go Daddy, Google, HP, Hortonworks, Huawei, IBM,
InMotion Hosting, Matt Mullenweg, Microsoft, PSW Group,
SpringSource/VMware, WANdisco a Yahoo!. Pre viac informácií 
navštívte <a href="http://www.apache.org/">http://www.apache.org/</a> alebo sledujte @TheASF na Twitteri.</p>

<p>"Apache", "OpenOffice", "Apache OpenOffice", a "ApacheCon" sú
ochranné známky The Apache Software Foundation. Všetky ostatné značky 
a ochranné známky sú majetok ich príslušných vlastníkov.</p>

<pre>
Sally Khudairi
Vice prezident
The Apache Software Foundation

+1 617 921 8656
</pre>

</body>

</html>

