<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en">
<head>



  
  
  
  <script><endnote><head>
<script></script>
  
  
  
  <title>OpenOffice.org Invito a Contribuire</title>
</head>


<body>




<script language="JavaScript">
function cont() {
s=window.location.search;
s=s.substr(10);
s=unescape(s);
window.location.href=s;
}
function donate() {
window.open("http://contributing.openoffice.org/donate.html","_blank");
}
</script>
<p>
<noscript> You need Javascript enabled to take full advantage of
this download section for various mirror sites. You don't seem to have
it enabled. Please use our <a
href="index-nojs.html">non-javascript page</a>.
</noscript>




</p>




<p></p>




<p>Stai per prelevare OpenOffice.org. <br />



</p>



<p>
Alla pressione del pulsante "Procedi" qui sotto, si sar&agrave;
reindirizzati al sito scelto e si proceder&agrave; al download
che avete appena selezionato.
</p>




<p> Prima di procedere, desideriamo ricordati alcune
opportunit&agrave; per contribuire al
progetto.&nbsp;OpenOffice.org viene fornito gratuitamente, ed
avete tutti i diritti di ridistribuire il programma. Il progetto
dipende dal contributo di persone disponibili a fornire il loro tempo e
sostegno al fine di permettere che OpenOffice.org rimanga gratuito e
disponibile senza costi.
</p>




<p>E' possibile aiutare. Si puo' essere&nbsp;coinvolti direttamente nel progetto in uno di questi
<a target="_blank" href="http://it.openoffice.org/contribuire/progetti_it.html">settori</a> oppure fare una&nbsp;<a target="_blank" href="http://www.openoffice.org/project/www/contributing.html#donating">donazione</a>.
<br />




(<i>Nota: il collegamento aprir&agrave; una nuova finestra</i>)
</p>




<p>
Se riscontrate problemi a prelevare il programma potete utilizzare
la&nbsp; pagina <a href="download-nojs.html">elenco siti download</a>
e selezionare il file desiderato.&nbsp;
</p>




<p>
Apprezziamo il vostro supporto al progetto.
</p>




<p>
</p>




<form name="nag"><input name="Continue" value=" Procedi " onclick="cont()" type="button" />
&nbsp;
&nbsp;
&nbsp;
&nbsp;
&nbsp;
  <input name="Donate" value=" Donazione " onclick="donate()" type="button" /></form>




<p>&nbsp;</p>




<p>
<br />




<br />




</p>




<hr />
</body>
</html>
