<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <link rel="stylesheet" type="text/css" href="https://netbeans.org/netbeans.css">
  <title>Contributing to the NetBeans Project</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="DESCRIPTION" content="How to make contributions to netbeans.org">
  <meta name="KEYWORDS" content="java IDE, java editor, java Platform, free, open source, java development, j2ee support, development enviroment, web development, NetBeans, IDE, java">
</head>
 <body>

 <h1>Contribuir para o netbeans.org</h1>


<p>Como provavelmente saber&aacute;, o NetBeans &eacute; um <a href="/about/os/">projecto
open source</a>. Isto significa que, apesar das empresas poderem
fazer produtos comerciais, a partir daquilo que n&oacute;s
oferecemos, o nosso projecto em si, &eacute; principalmente
direccionado para a comunidade. O que isso significa, &eacute; que,
por exemplo, se voc&ecirc; puder contribuir com conhecimento que
possa vir a ajudar algu&eacute;m, voc&ecirc; tamb&eacute;m acaba por
beneficiar disso. Quer sejam relat&oacute;rios de bugs ou pedidos de
melhoramentos, todos beneficiam ao terem melhores ferramentas quando
as correc&ccedil;&otilde;es ou melhoramentos s&atilde;o
implementados. Na ess&ecirc;ncia, no que diz respeito ao NetBeans, &eacute;
como se voc&ecirc; estivesse no banco do condutor &ndash; sem pessoas
a usar o software, n&atilde;o haveria raz&otilde;es para nada disto
existir. 
</p>


<p>Aqui encontram-se algumas das formas, segundo as quais voc&ecirc;
pode contribuir para a comunidade NetBeans, cada qual com as suas
recompensas. Existem muitas formas de ajudar o nosso projecto, sem
ter necessariamente de contribuir com c&oacute;digo! 
</p>

<h2 class="western">Apoio &agrave; Comunidade, Promo&ccedil;&atilde;o</h2>

<ul>

	<li>
    <p><b>Participar nas Listas de Discuss&atilde;o</b> <br>
Existem
	diversas <a href="/community/lists/top.html">listas de discuss&atilde;o
	e newsgroups</a> no netbeans.org, onde as pessoas que utilizam o
	software podem beneficiar do conhecimento/experi&ecirc;ncia de
	outros. Para que seja realmente &uacute;teis, as listas da
	comunidade, precisam da <i>sua</i> participa&ccedil;&atilde;o! Por
	favor, n&atilde;o tenha receio de colocar mensagens &ndash; Ajude os
	outros sempre que puder! 
	</p>

	</li>
  
  <li>
    <p><b>Promover o NetBeans!</b> <br>
Se for um utilizador
	NetBeans, fa&ccedil;a ouvir a sua voz! Existe muita competi&ccedil;&atilde;o
	por a&iacute; fora, e muitos programadores n&atilde;o ouviram ainda
	falar do NetBeans, ou pior, ouviram falar sobre ele, mas fizeram
	julgamentos errados do mesmo, ou n&atilde;o ouviram falar dos
	&uacute;ltimos melhoramentos. Ajude a passar a palavra &ndash; fale
	sobre os pontos fortes e fraquezas do NetBeans, nos blogs, nas
	listas de discuss&atilde;o das empresas, revistas de imprensa e
	forums. Encontrou (ou escreveu) algum artigo e/ou cr&iacute;tica
	relacionado(a) com o NetBeans? <a href="https://netbeans.org/about/contact_form.html?to=2">N&oacute;s
	adorariamos l&ecirc;-lo</a>! 
	</p>

  </li>
</ul>

<h2 class="western">Enviar Conte&uacute;do, Tradu&ccedil;&otilde;es</h2>

<ul>

	<li>
    <p><b>Contribuir com Conte&uacute;do para o Website</b> <br>
Acabou
	de descobrir a forma de resolver um caso de uso complicado? <a href="http://wiki.netbeans.org/wiki/view/CommunityDocs">Novo
	conte&uacute;do ou actualiza&ccedil;&otilde;es ao conte&uacute;do j&aacute;
	existente</a> s&atilde;o sempre bem vindos! Artigos como FAQs e
	HOWTOs s&atilde;o muito, muito &uacute;teis, tais como s&atilde;o os
	ou filmes Flash. Veja os links seguintes para obter mais
	informa&ccedil;&otilde;es: <a href="web-content.html">Linhas mestras
	para contribuir com tutoriais</a>.
	Use este <a href="https://netbeans.org/projects/www/downloads">espa&ccedil;o
	livre para as suas contribui&ccedil;&otilde;es</a>. 
	</p>

	</li>
  <li>
    <p><b>Tradu&ccedil;&otilde;es, Localiza&ccedil;&otilde;es</b>
	<br>
Est&aacute; interessado em localizar conte&uacute;do do web
	site, ou do pr&oacute;prio IDE, na l&iacute;ngua materna? N&oacute;s
	e os seus compatriotas apreciaremos a sua ajuda! Veja a p&aacute;gina
	<a href="localise.html">Guia R&aacute;pido de Localiza&ccedil;&atilde;o</a>
	para mais informa&ccedil;&otilde;es. Alguns membros da comunidade j&aacute;
	criaram at&eacute; <a href="http://wiki.netbeans.org/wiki/view/FaqInternationalCommunity">forums
	em v&aacute;rias l&iacute;nguas</a>, e agora ajudam os outros a
	<a href="../../kb/articles/learn-java.html#3">iniciar-se
	no Java</a> e no NetBeans. 
	</p>

	</li>
  <li>
    <p><b>Editar a Newsletter, Submeter as suas Hist&oacute;rias</b><br>
A
	<a href="../news/newsletter/index.html">Newsletter semanal NetBeans</a>
	&eacute; feita com a contribui&ccedil;&atilde;o de volunt&aacute;rios
	envolvidos no NetBeans &ndash; se estiver a par dos &uacute;ltimos
	acontecimentos nas listas de discuss&atilde;o, pode tamb&eacute;m
	editar a newsletter! A newsletter <a href="../news/newsletter/index.html">mensal
	Edge</a> est&aacute; sempre &agrave; procura de autores, que possam
	contribuir com uma entrevista, um artigo, brilhantismo de um
	parceiro ... se quiser submeter uma hist&oacute;ria, por favor
	<a href="../../about/contact_form.html?to=2">contacte-nos</a>.
	Tamb&eacute;m, se tiver conhecimento de algum evento ou confer&ecirc;ncia
	na sua zona, onde o Netbeans seja referenciado/usado, <a href="../../about/contact_form.html?to=2">deixe-nos
	uma nota</a> e n&oacute;s publicar-la-emos no nosso <a href="../news/calendar.html">calend&aacute;rio
	de eventos</a>. 
	</p>

  </li>
</ul>

<h2 class="western">Submeter Relat&oacute;rios de Bugs, Escrever
C&oacute;digo</h2>

<ul>

	<li>
    <p><b>Preencher um Relat&oacute;rio de Bug</b> <br>
Os relat&oacute;rios
	de bugs s&atilde;o bastante &uacute;teis para os programadores, e
	uma boa forma de contribuir para o projecto! Lembre-se de perder
	algum tempo ao <a href="../issues.html">preencher um relat&oacute;rio
	de bug</a> &ndash; tenha a certeza de poder reproduzir correctamente
	o problema, e seja tamb&eacute;m bastante expl&iacute;cito na sua
	descri&ccedil;&atilde;o. 
	</p>

	</li>
  <li>
    <p><b>Preencher um Pedido de Melhoramento</b> <br>
Se houver
	alguma coisa que gostava de ver no IDE e ainda n&atilde;o existe, ou
	alguma coisa que pensa que pode ser melhorada, diga-nos! Pedidos de
	melhorias devem ser <a href="../issues.html">preenchidos no sistema
	de rastreamento de t&oacute;picos/problemas</a>, e o mesmo para os
	bugs. 
	</p>

	</li>
  <li>
    <p><b>Contribuir com C&oacute;digo e M&oacute;dulos Plugin</b>
	<br>
Tal como mencionado, o NetBeans &eacute; um projecto open-source
	&ndash; todo o c&oacute;digo fonte est&aacute; dispon&iacute;vel, e,
	se existir uma caracter&iacute;stica que gostava de ver
	acrescentada, ou um bug que gostava de ver resolvido, voc&ecirc; tem
	o poder para fazer com que isso aconte&ccedil;a. Pode saber mais
	sobre <a href="http://platform.netbeans.org/tutorials/">desenvolvimento
	de m&oacute;dulos plugin</a>, <a href="patches.html">contribuir com
	patches</a> e <a href="modules.html">contribuir com m&oacute;dulos
	plugin</a>. Publique os seus m&oacute;dulos plugin no <a href="http://plugins.netbeans.org/">Portal
	do Plugin</a> e obtenha feedback de outros membros da comunidade! 
	</p>

  </li>
</ul>

</body>
</html>
