Development/FAQs/General FAQ/pt-br: Difference between revisions

From KDE TechBase
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1: Line 1:
{{Proposed_deletion|Content is now at https://community.kde.org/KDE/FAQs/General_FAQ and this page may no longer be up-to-date. Translations are still available for this page, however.}}
<languages />
<languages />


==Eu quero começar uma nova aplicação. O que você recomenda?==
== I want to start this new application. What do you advise? ==


Todos concordamos que existem muitas aplicações para o KDE que precisam ser escritas. Mas também há muitas aplicações existentes no KDE que necessitam sua ajuda.
We all agree that there are plenty of KDE applications that need to be written. But there are also a lot of existing kde applications that need your help.


Para ver as áreas que precisam ajuda, veja [http://www.kde.org/jobs/ esta página].
To see the areas where help is needed, check [http://www.kde.org/jobs/ this page].


Antes de começar uma nova aplicação, é sempre uma boa ideia verificar o [http://www.kde-apps.org/ KDE-Apps.org] e outris serviços de hosting de código aberto como [https://github.com/ GitHub], [https://code.google.com Google Code], e [http://sourceforge.net/ SourceForge] por aplicações existentes e também perguntar na lista de e-mail [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] se alguém já está trabalhando em algum projeto similar.
Before starting a new application, it's always a good idea to check [http://www.kde-apps.org/ KDE-Apps.org] and other open source software hosting services like [https://github.com/ GitHub], [https://code.google.com Google Code], and [http://sourceforge.net/ SourceForge] for existing applications and to ask on the  [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] mailing-list whether someone is already working on a similar project.


==Sou um desenvolvedor, como posso contribuir com o KDE?==
== I am a developer, how can I contribute to KDE software? ==


Calligra e KDevelop, apesar de muito aclamados, possuem muito pouco desenvolvedores, então você pode verificar lá. Não há necessidade de ser um desenvolvedor de espaços de trabalho KDE ou bibliotecas da plataforma KDE para ajudar. Toda a gama de softwares do KDE é muito modular para que você possa melhorar perfeitamente uma área sem saber como outros trabalham.
Calligra and KDevelop, despite being very praised, have very few developers, so you might check there. There is no need to be a developer of the KDE workspaces or KDE platform libraries to help. The whole range of KDE software is very modular so you can perfectly improve one area without knowing how others work.


Você também pode perguntar na lista [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] por alguém precisando ajuda com algum aplicativo.
You can also ask on  [https://mail.kde.org/mailman/listinfo/kde-devel kde-devel] if someone needs help on an application.
Utilize a última versão do seu software KDE favorito e repare nas coisas que são necessárias. Um gerador de temas? Um editor de schema para o Konsole? Melhorar um jogo? Sempre há um pequeno recurso faltando. Vá e implemente-o!
Use the latest version of your favourite KDE software and spot things that are needed. A theme generator? A konsole schema editor? Improve a game? There is always a small feature missing. Go and implement it!


Você é familiarizado ou sente-se atraído por alguma área específica? Verifique se alguma aplicação relacionada pode ser melhorada. Ou escreva uma nova. O KDE acolhe com alegria mais aplicações orientadas a não-geeks.
Are you familiar or attracted with a specific field? See if there is a related application that could use your help. Or write one. KDE especially welcomes more non-geek oriented applications.


==Eu não sou desenvolvedor, como posso ajudar?==
== I am not a developer, how can I help? ==


Existem inúmeras tarefas que não exigem habilidades em programação. Escreva reviews de aplicativos para promover o KDE (veja a lista [https://mail.kde.org/mailman/listinfo/kde-promo kde-promo]), ajude o time de documentação (veja [http://l10n.kde.org/docs/ i18n.kde.org/doc]), ajude os tradutores (veja [http://l10n.kde.org/ i18n.kde.org]), ajude a filtrar os bugs reportados (veja [https://bugs.kde.org/ bugs.kde.org]).  
There are plenty of tasks that don't require development skills. Write reviews of applications for the promoting of KDE (see the [https://mail.kde.org/mailman/listinfo/kde-promo kde-promo] mailing-list), help the documentation team (see [http://l10n.kde.org/docs/ i18n.kde.org/doc]), help the translations (see [http://l10n.kde.org/ i18n.kde.org]), help to filter the incoming bugs (see [https://bugs.kde.org/ bugs.kde.org]).  


==Onde encontro imagens de Konqi, o dragão?==
== Where can I find images of Konqi the dragon? ==


O Konqi para algumas pessoas o SDK está em [ftp://ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2 ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2]<br />
The Konqi for some people SDK is at [ftp://ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2 ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2]<br />
Isso foi postado para o artist.kde.org antes do site deixar de ser atualizado.
It was posted to artist.kde.org before that site ceased to be updated.


Mais imagens estão disponíveis em [http://kde.org/stuff/clipart.php KDE merchandise]. Você também pode encontrar algumas imagens e moldes não oficiais do Konqi na página do [http://forum.kde.org/viewforum.php?f=254 Concurso Crie Konqi com Krita] e do jogo [http://sourceforge.net/projects/supertuxkart/ SuperTuxKart].
Further images are on [http://kde.org/stuff/clipart.php KDE merchandise]. Also you can find some  unofficial Konqi images and models from [http://forum.kde.org/viewforum.php?f=254 Create Konqi with Krita Contest] and [http://sourceforge.net/projects/supertuxkart/ SuperTuxKart] game.


==Qual é o nível exigido para contribuir com o KDE? O que devo aprender? O que devo ler?==
== What is the level required to contribute to KDE? What should I learn? What should I read? ==


Você deve conhecer C++. Leia os [http://qt-project.org/doc/qt-4.8/tutorials.html tutoriais do Qt] e navegue por sua documentação para familiarizar-se com os recursos disponibilizados. Depois, leia os [http://techbase.kde.org/Development/tutoriais do KDE] e navegue por sua arquitetura e documentação. Você também pode ler o [http://flossmanuals.net/kde-guide/ KDE Book], isso não irá machucar. No entanto, não é necessário conhecer toda a arquitetura do KDE para tornar-se um desenvolvedor KDE. É muito fácil utilizar nossas tecnologias, portanto concentre-se no que você realmente precisa e o resto você vai aprendendo com o tempo. [http://techbase.kde.org KDE TechBase] e [http://doc.qt.nokia.com/ doc.qt.nokia.com] (também disponível no seu {{path|$QTDIR/doc/html}}) são recursos inestimáveis, use-os.
You need to know C++. Read the [http://qt-project.org/doc/qt-4.8/tutorials.html Qt tutorials] and browse the Qt docs to get familiar with what's available with Qt. Then read the [http://techbase.kde.org/Development/Tutorials KDE tutorials] and browse architecture and documentation. You can also read the [http://flossmanuals.net/kde-guide/ KDE Book], it can not harm. But you don't have to be familiar with the whole KDE architecture to become a KDE developer. Using KDE's technologies is quite easy, so concentrate on what you really need, you can learn the other bits later on.  
Por fim, navegue pelo código-fonte, olhe os diretórios com exemplos, veja como os outros codificam suas aplicações. Ler e escrever código é a melhor maneira de aprender.
[http://techbase.kde.org KDE TechBase] and [http://doc.qt.digia.com/ doc.qt.digia.com] (also in your {{path|$QTDIR/doc/html}}) are invaluable resources, take advantage of them.
Then, browse the source, look for the examples directories, see how the other did code their applications. Reading and writing code is the best way to learn.


==Como obter o código do KDE dos repositórios git ou SVN?==
== How do I get KDE software from the KDE git or SVN repositories? ==


Veja a seção [[Special:myLanguage/Getting_Started#Building_and_Running_KDE_Software_From_Source|Compilando e executando o KDE a partir do fonte]] na página [[Special:myLanguage/Getting_Started|Primeiros passos]].
See the [[Special:myLanguage/Getting_Started#Building_and_Running_KDE_Software_From_Source|Building and Running KDE Software From Source]] section on the [[Special:myLanguage/Getting_Started|Getting Started]] page.


==Posso acessar o fonte do KDE online?==
== Can I access KDE source code online? ==


Yes. There are many ways to do this:
Yes. There are many ways to do this:
Line 46: Line 49:
* Browse the source code on http://code.woboq.org/kde as in KDevelop
* Browse the source code on http://code.woboq.org/kde as in KDevelop


==O que devo colocar dentro do meu .subversion/config?==
== What should I put in my .subversion/config? ==


Você precisa adicionar à lista de ignorados para o grupo [miscellany] em seu  ~/.subversion/config:
You need to add the ignore list to the [miscellany] group in your ~/.subversion/config:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[miscellany]
[miscellany]
Line 60: Line 63:
</syntaxhighlight>
</syntaxhighlight>


E para fazer svn diff ignorar os espaços em branco, e os nomes das funções de impressão:
And to make svn diff ignore whitespace, and print function names:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Line 67: Line 70:
</syntaxhighlight>
</syntaxhighlight>


com o seguinte em {{path|/usr/local/bin/_svndiff}}:
with the following in {{path|/usr/local/bin/_svndiff}}:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Line 74: Line 77:
</syntaxhighlight>
</syntaxhighlight>


Não se esqueça de tornar {{path|/usr/local/bin/_svndiff}} executável.
Don't forget to make {{path|/usr/local/bin/_svndiff}} executable.


==Eu quero colocar meu aplicativo no KDE==
== I want to put my app in KDE ==


Existem três requisitos:
There are three requirements:  
* Seu aplicativo deve compilar com a última versão do KDE (git master ou SVN trunk).
* Your app must compile with the latest version of KDE (git master or SVN trunk).
* Seu aplicativo deve ser estável.
* Your app must be stable.
* Seu aplicativo deve ser mantido. Você provavelmente receberá uma boa quantidade de relatos de problemas e outros pedidos, e as pessoas esperam que você conserte os problemas e implemente os pedidos que façam sentido.
* Your app must be maintained. You will probably get a good deal of bug reports and wishes. People expect you to fix the bugs and implement the wishes that make sense.
Veja também a próxima questão.
See also the next question.


==É melhor desenvolver dentro ou fora do KDE?==
== Is it better to develop inside or outside KDE? ==


Como o desenvolvedor principal, Waldo Bastian, explica em um email protegido por copyright: <blockquote>
As core developer Waldo Bastian explains in a copyrighted mail:  
Ser parte do KDE significa que você tem que trabalhar junto com outros. Essa cooperação traz vantagens mas também traz responsabilidades.
<blockquote>
Being part of KDE means that you have to work together with others. Such cooperation brings along advantages but it also brings along responsibilities.
<br /><br />
<br /><br />


Algumas das vantagens são: seu código irá para todas as distros, outras pessoas podem arrumar seus problemas, você ganha traduções e documentação, e também toneladas de relatos de bugs.
Some of those advantages are: your code ends up on all distro's, people might fix your bugs, you get free translations and documentation, you get tons of bugreports.
<br /><br />
<br /><br />


Por outro lado, existem algumas desvantagens e responsabilidades: você terá que comunicar-se com outros desenvolvedores sobre seu trabalho, outras pessoas podem modificar seu código, você deverá respeitar os congelamentos pré-lançamento, você receberá toneladas de relatos de problemas, e as pessoas esperam que você arrume-os também (o que elas andam fumando?), elas esperam que você mantenha o código.
On the other side there are disadvantages and responsibilities: you will have to communicate with other developers about your work, other people might make changes to your code, you will have to respect release freezes, you get tons of bugreports and people actually expect that you fix them as well (what are they smoking?), people expect you to maintain your code.
<br /><br />
<br /><br />


Você não pode escolher as vantagens e ignorar as responsabilidades que vêm com elas, é um pacote fechado. É tudo ou nada.
You can't chose for the advantages and ignore the responsibilities that come with it, it's a complete package, it's both or nothing.
<br /><br />
<br /><br />


Em geral é o autor de um software quem decide colocar sua aplicação nos repositórios do KDE. Nós normalmente não colocamos nada no repositório, a menos que o autor assim decida. No outro sentido, se o autor prefere trabalhar sua aplicação em outro lugar, isso também é um direito seu. A menos que haja uma divisão entre o grupo de pessoas trabalhando na aplicação, não faz sentido dividir o desenvolvimento por esse motivo.
In general it should be the author of a piece of software that chooses to put his application in KDE's repositories. We usually don't put software in KDE's repositories unless the author wishes to do so. The other way around, if the author prefers to work on his application elsewhere then that's his right as well. Unless there is a split in the actual group of people working on the application it makes no sense to fork the development of an application because of that.
<br /><br />
<br /><br />


'''MAS'''... ao colocar seu código sob uma licença de código livre e no repositório do KDE, você dará ao mundo, assim como ao KDE em particular, o direito irrevogável de usar o seu código. E o KDE vai usar desse direito como for conveniente para proteger os interesses do KDE, mesmo que isso possa ir contra os desejos do próprio autor em algum momento.
'''BUT'''... by putting your code under and open source license and putting it in a KDE repository you give the world at large, as well as KDE in particular, the irrevocable right to use your code. And KDE will use that right at its discretion to protect the interests of KDE, even if that goes against the wishes of the author at that point in time.
</blockquote>
</blockquote>


É importante saber tudo isso, mas não se assuste. Normalmente as coisas funcionam muito bem. Em 5 anos, houve somente uma ocorrência de um desenvolvedor que colocou seu trabalho no KDE e depois quis tirá-lo.
It is important to know that but don't be afraid. Usually, things work very well. In 5 years, it has only happened once that a developer had his work put kept in KDE while he wanted to remove it.


==Como obtenho permissão de escrita nos repositórios do KDE?==
== How do I get write access to KDE repositories? ==


Leia o artigo completo em [[Special:myLanguage/Contribute/Get_a_Contributor_Account|Obtenha uma Conta de Colaborador KDE]].
See full article at [[Special:myLanguage/Contribute/Get_a_Contributor_Account|Get a KDE Contributor Account]].


Vá para [http://identity.kde.org KDE Identity], preencha o formulário e descreva porque você precisa acesso de escrita. Tenha certeza de fornecer seu nome completo e endereço de email.
Go to [http://identity.kde.org KDE Identity], fill out the form and describe why you need write access. Make sure to specify your full name and e-mail address.


Por favor, inclua também o nome da sua conta no [https://bugs.kde.org/ bugs.kde.org]. Caso não exista crie uma para que ela possa receber as permissões de desenvolvedor. Fechar relatos no bugs.kde.org com palavras-chave nos comentários do commit só funciona se o endereço de email no KDE Identity e na conta do bugs.kde.org baterem. Você pode atualizar o endereço no bugs.kde.org nas configurações de usuário do Bugzilla.
Please also include the name of your [https://bugs.kde.org/ bugs.kde.org] account, if non-existent please create one so that it can be given usual developer rights. Closing bugs.kde.org reports with keywords in commit comments only works if the email address of your KDE Identity and bugs.kde.org accounts match. You can change your bugs.kde.org address in the Bugzilla user settings.


O Git requer o uso de uma chave ssh, e novas contas no SVN devem escolher o protocolo svn+ssh. Envia sua chave pública (ex. {{path|~/.ssh/id_dsa.pub}})
Git requires use of an ssh key, and new accounts for SVN must also choose the svn+ssh protocol. Send a public ssh key (e.g. {{path|~/.ssh/id_dsa.pub}})
Veja também [[#How do I create a SSH key?]]
See also [[#How do I create a SSH key?]]


Caso esteja contribuindo com uma aplicação que não seja sua, é uma boa idéia submeter suas alterações como patches para o autor, e deixar que ele aplique-as. Se o autor não estiver mais mantendo a aplicação, você poderá tornar-se o novo mantenedor...
If you are contributing to an application that is not yours, it is a good idea to first submitting your coding as patches to the author and let him apply them. If the author is not maintaining his application, you might become the new maintainer...


Apesar de existirem poucas restrições nos direitos de commit no repositório, esperamos que você não modifique o código de outros desenvolvedores sem seu consentimento. Além disso, você deve respeitar os congelamentos previstos na agenda de lançamentos (publicada na página [[Schedules]])
Although there are few restrictions on repository commit rights, we expect you not to disrupt other developers' code without their consent. You must also respect the feature freezes of the release schedule (published on [[Schedules]] page)


Uma lista detalhada com as regras a serem seguidas quando efetivando commit's nos repositórios do KDE está disponível em [[Special:myLanguage/Policies/SVN_Commit_Policy|Política de commit's do KDE]].
A detailed list of rules you should follow when committing to KDE repositories are listed in the [[Special:myLanguage/Policies/SVN_Commit_Policy|KDE Commit Policy]].


==Meu aplicativo não é estável, mas eu gostaria de tê-lo no KDE==
== My app is not stable but I would like to have it in KDE ==


Inicialmente podemos coloca-la no playground, que basicamente é um "kde-alpha". Desenvolva-a lá e quanto estiver pronta, requisite que sua aplicação seja movida para o pacote apropriado do KDE, ou para o módulo extragear.
As a first step, we can put it in playground, which is essentially "kde-alpha". Develop it there and when it is ready, request that your app to be moved to the appropriate KDE package or the extragear module.


==Eu não quero perder o meu histórico do SVN.==
== I don't want to lose my SVN history. ==


Isso não é mais possível com o Subversion. Talvez no futuro, se o servidor for atualizado e permitir isso. Note que isso não é problema no caso do git.
This is no longer possible with Subversion. Maybe in the future, if the server is upgraded and allows that. Note that for git this is not an issue.


==O que é kdebindings?==
== What is kdebindings? ==


Isso contém Qt bindings para Ruby, PHP, C# para usar classes do Qt com essas linguagens, KDE bindings para Ruby, C#, python para usar classes do KDE com essas linguagens e XParts para inserir aplicativos não-KDE como um KPart. Verifique a [[Special:myLanguage/Development/Languages|página de binding]] of TechBase.  
It contains Qt bindings for Ruby, PHP, C# to use Qt classes with those langages, KDE bindings for Ruby, C#, python to use KDE classes with those langages, and XParts to embed non-KDE apps as a KPart. Check the [[Special:myLanguage/Development/Languages|binding page]] of TechBase.  


==O congelamento funcionalidades aplica-se ao playground?==
== Does the feature freeze apply to playground? ==


Não, o playground não libera pacotes. O mesmo é válido para o kde-review e extragear: eles não são congelados e liberados. Mas se você quer mover seu aplicativo para algum pacote, peça-o antes da liberação da versão beta.
No, playground are not a released packages. The same is true for kdereview and extragear: they are not frozen and released. But if you want your app to move to a package, ask for it before the beta-release.


==Posso ter uma versão estável e outra instável do KDE no mesmo computador?==
==Can I have a stable and an unstable KDE on the same computer?==


Sim, verifique o Building KDE Software nas séries de vídeos do git.kde.org:
Yes, check Building KDE Software from git.kde.org video series:
* [http://www.youtube.com/watch?v=cqnNVmJocR4 Building KDE Software from git.kde.org Parte 1]
* [http://www.youtube.com/watch?v=cqnNVmJocR4 Building KDE Software from git.kde.org Part 1]
* [http://www.youtube.com/watch?v=OBJjk5q__Cc Building KDE Software from git.kde.org Parte 2]
* [http://www.youtube.com/watch?v=OBJjk5q__Cc Building KDE Software from git.kde.org Part 2]
* [http://www.youtube.com/watch?v=SgwEnLeqsg8 Building KDE Software from git.kde.org Parte 3]
* [http://www.youtube.com/watch?v=SgwEnLeqsg8 Building KDE Software from git.kde.org Part 3]


==Como saber qual versão do Qt/KDE eu estou utilizando?==
== How do I know which version of Qt/KDE I am using? ==


<tt>kde-config</tt> e todos os programas do KDE aceitam <tt>--version</tt> como argumento.
<tt>kde-config</tt> and all KDE programs accept <tt>--version</tt> as argument.


==Qt-copy ou Qt do qt.digia.com : se alguém vai fazer uma compilação do trunk partindo do zero, qual é preferível?==
==Qt-copy or Qt from qt.digia.com: if one were doing a clean build of trunk, which would be preferable?==


Você pode usar qualquer uma. Elas são bináriamente compatíveis (para frente ou para trás). Pode haver, no entanto, algumas pequenas correções no qt-copy em relação à versão mais recente do Qt.
You can use either. They are binary compatible (forward and backward). There can be, however, a few bugfixes in qt-copy over the most recent Qt release. Especially if building from qt-copy, pay attention to the apply-patches script.
Caso esteja compilando do qt-copy, dê atenção especiao ao script apply-patches.


==Como posso baixar um único diretório de um módulo SVN?==
== How can I checkout a single directory from a SVN module? ==


Baixe o diretório principal com o comando 'svn co -N /nomedomodulo', 'cd nomedomodulo', 'svn up admin' para obter o diretório admin, para então baixar o diretório desejado com 'svn up subdir'
Checkout the top-level dir with 'svn co -N /modulename', 'cd modulename', 'svn up admin' to get the admin/ dir and then finally checkout the dir you want with 'svn up subdir'


Por exemplo, para obter somente o reaktivate do playground/utils:
For instance, to get only reaktivate from playground/utils:
<code>svn co -N /playground/utils; svn up reaktivate</code>
<code>svn co -N /playground/utils; svn up reaktivate</code>
E então compile normalmente.
Then compile as usual.


A mesma resposta se aplica para a questão "Como obtenho somente um idioma do kde-i18n?".
The same answer applies to the question "How do I get a single language out of kde-i18n?".


Se não souber o nome do diretório que quer baixar, você pode navegar o websvn.kde.org para encontra-lo.
If you don't know the name of the directory you want to check out, you can browse websvn.kde.org to find it.


==Como posso baixar uma aplicação KDE como um tarball independente?==
== How can I get one of the KDE application as a standalone tarball? ==


O kdesdk/scripts/svn2dist é um script que extrai uma aplicação do código fonte do KDE e empacota-o como uma aplicação independente.  
kdesdk/scripts/svn2dist is a script to extract an application from the KDE source tree and package it as a standalone application.  


==Como fecho meus relatos de problemas (bug reports)?==
== How do I close my own bug reports? ==


Se você reportou um problema que foi corrigido em uma nova versão do KDE mas continua marcado como aberto, você pode fechá-lo. Isso pode acontecer quando o seu problema é o mesmo que algum outro, ou simplesmente porque o desenvolvedor corrigiu alguma coisa sem perceber que isso corrigiria também o seu problema.
If you reported a bug that is fixed in a new release of KDE but is still reported as open, you can close it. It might happen because your bug is the same as another one, or simply because the developer fixed something without noticing that it would correct your bug.


Você pode fazê-so diretamente no seu commit. Para isso, adicione à mensagem de commit uma linha como essa:
You can do that from your Subversion commit. To do so, append to your commit message a line like this:


<Code>BUG: XXXXX</code> onde '''''XXXXX''''' é o número do problema que você quer fechar. Se o relato sendo fechado é relacionado à adição de uma nova funcionalidade, você pode utilizar FEATURE ao invés de BUG.  
<Code>BUG: XXXXX</code> where '''''XXXXX''''' is the bug report you want to close. If the report you're closing is adding a new feature, you can use FEATURE instead of BUG.  


Gerenciar uma lista de bugs é uma tarefa enorme para os desenvolvedores e elas normalmente possuem uma grande quantidade de entradas, algumas delas já corrigidas sem que eles saibam, outras não-reproduzíveis, algumas sem as informações necessárias para que a correção seja feita, etc. Se puder ajudar fazendo o gerenciamento e atualização da lista de problemas pendentes, você será muito bem-vindo. E você receberá boas vindas ainda mais alegres se você fornecer a correção.
Managing a bug list is a huge task for the developers and they usually have a lot of bugs listed, some being fixed already without their knowledge, some being unreproducible, some without enough information to be corrected, etc. If you can help by managing and updating the list of outstanding bugs, you will be gladly welcome. And you will receive an even happier welcome if you provide a patch.


==Como crio a chave SSH?==
== How do I create a SSH key? ==


O SSH utiliza duas chaves: uma privada e outra pública. Você deve sempre manter a chave privada em segredo e coloca-la apenas em máquinas as quais você tenha controle direto. Máquinas públicas, compartilhadas e comunitárias não são ambientes adequados para armazenar chaves privadas. Tome medidas que evitem o roubo de sua chave privada. Configurar uma senha em sua chave privada é muito bom para evitar os riscos envolvidos no caso de roubo da chave privada.
SSH makes use of two keys: a private key and a public key. You should keep the private key secret at all times and only place it on machines over which you have direct control. Public, shared, and community machines are not suitable environments to store SSH private keys. Take action to help prevent theft of your SSH private key data. Setting a password on your SSH private key will help reduce the risks involved with private key theft.


Gere um par de chaves para cada um dos principais locais de onde você trabalha. Isso ajuda a reduzir o impacto quando sua chave é roubada.
Generate a key pair for each major location you work from. This helps to reduce the impact when your key gets stolen.  
Quando alguém obtém acesso à sua chave privada, ela pode ser utilizada abusivamente em tentativas de ataque contra os servidores do KDE. Alguns conhecidos projetos de código livre foram comprometidos desta maneira no passado, portanto VOCÊ deve nos ajudar a garantir que isso não aconteça também com o KDE. Por esse motivo é importante notificar sysadmin (em) kde (ponto) org assim que você perceber que alguém possa ter obtido acesso à sua chave privada. Por exemplo, quando um computador onde ela está armazenada é invadido ou infectado por vírus, worm ou trojan.
When someone obtains access to your private key, your key can be abused in attempts to compromise KDE servers. Well known open source projects have been compromised this way in the past, YOU must help us to make sure that this doesn't happen with KDE servers as well. For that reason it is important to notify sysadmin (at) kde (dot) org immediately when you notice that someone may have had access to your private key for example when a computer on which it was stored has been hacked or infected with a virus, worm or trojan.


Caso faça backup de sua chave privada SSH, garanta que os backups também estão armazenados de maneira segura.
If you choose to make a backup of your SSH private key data, please ensure that any such backup is stored in a secure manner as well.


Na parte prática, o seguinte comando pode ser utilizado para gerar um par de chaves pública/privada para o SSH:
For the practical part, the following command can be used to generate a SSH private/public key pair with
<code>ssh-keygen -t dsa</code>
<code>ssh-keygen -t dsa</code>
Isto ira criar a chave privada como {{path|~/.ssh/id_dsa}} e a chave pública como {{path|~/.ssh/id_dsa.pub}}.
This will create a private key as {{path|~/.ssh/id_dsa}} and a public key as {{path|~/.ssh/id_dsa.pub}}.


Em alguns momentos você pode querer utilizar uma chave com nome diferente do padrão, talvez para usar chaves distintas em projetos diferentes. Para permitir ao SSH saber qual chave deve ser utilizada no acesso ao KDE.org, você pode manter uma lista de servidores e suas respectivas chaves em ~.ssh/config. Por exemplo,
There are times when you may want to use a key of a different name to the default, perhaps to use separate keys for different projects. To let SSH know which key you want to use for KDE.org, you can keep a list of servers and their corresponding keys in ~/.ssh/config. For example,
{{Input|1= Host svn.kde.org  
{{Input|1= Host svn.kde.org  
IdentityFile ~/.ssh/id_dsa_kde }}
IdentityFile ~/.ssh/id_dsa_kde }}
Antes de utilizar a chave SSH para acessar os servidores do KDE, você deve enviar a chave pública para sysadmin (em) kde (ponto) org.
In order to use SSH to access KDE servers you need to send your public key to sysadmin (at) kde (dot) org.


==Como posso monitorar as alterações feitas por terceiros?==
== How can I monitor changes made by others? ==


A lista de emails [https://mail.kde.org/mailman/listinfo/kde-commits kde-commits] distribui notificações automáticas de todas as alterações feitas nos repositórios do KDE. Esta lista possui um tráfego muito alto. Uma alternativa é o [http://commitfilter.kde.org/ CommitFilter], que permite selecionar somente as notificações de suas áreas de interesse.
The [https://mail.kde.org/mailman/listinfo/kde-commits kde-commits] mailinglist carries automatic notifications for all changes made in the KDE repositories. The KDE-Commits mailinglist is very high traffic. An alternative is [http://commitfilter.kde.org/ CommitFilter] which allows you to get notification for only those areas that interest you.


[[Category:FAQs]]
[[Category:FAQs]]

Revision as of 10:10, 17 May 2019

 
Proposed for Deletion
This page has been proposed for deletion for the following reason:

Content is now at https://community.kde.org/KDE/FAQs/General_FAQ and this page may no longer be up-to-date. Translations are still available for this page, however.

I want to start this new application. What do you advise?

We all agree that there are plenty of KDE applications that need to be written. But there are also a lot of existing kde applications that need your help.

To see the areas where help is needed, check this page.

Before starting a new application, it's always a good idea to check KDE-Apps.org and other open source software hosting services like GitHub, Google Code, and SourceForge for existing applications and to ask on the kde-devel mailing-list whether someone is already working on a similar project.

I am a developer, how can I contribute to KDE software?

Calligra and KDevelop, despite being very praised, have very few developers, so you might check there. There is no need to be a developer of the KDE workspaces or KDE platform libraries to help. The whole range of KDE software is very modular so you can perfectly improve one area without knowing how others work.

You can also ask on kde-devel if someone needs help on an application. Use the latest version of your favourite KDE software and spot things that are needed. A theme generator? A konsole schema editor? Improve a game? There is always a small feature missing. Go and implement it!

Are you familiar or attracted with a specific field? See if there is a related application that could use your help. Or write one. KDE especially welcomes more non-geek oriented applications.

I am not a developer, how can I help?

There are plenty of tasks that don't require development skills. Write reviews of applications for the promoting of KDE (see the kde-promo mailing-list), help the documentation team (see i18n.kde.org/doc), help the translations (see i18n.kde.org), help to filter the incoming bugs (see bugs.kde.org).

Where can I find images of Konqi the dragon?

The Konqi for some people SDK is at ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2
It was posted to artist.kde.org before that site ceased to be updated.

Further images are on KDE merchandise. Also you can find some unofficial Konqi images and models from Create Konqi with Krita Contest and SuperTuxKart game.

What is the level required to contribute to KDE? What should I learn? What should I read?

You need to know C++. Read the Qt tutorials and browse the Qt docs to get familiar with what's available with Qt. Then read the KDE tutorials and browse architecture and documentation. You can also read the KDE Book, it can not harm. But you don't have to be familiar with the whole KDE architecture to become a KDE developer. Using KDE's technologies is quite easy, so concentrate on what you really need, you can learn the other bits later on. KDE TechBase and doc.qt.digia.com (also in your $QTDIR/doc/html) are invaluable resources, take advantage of them. Then, browse the source, look for the examples directories, see how the other did code their applications. Reading and writing code is the best way to learn.

How do I get KDE software from the KDE git or SVN repositories?

See the Building and Running KDE Software From Source section on the Getting Started page.

Can I access KDE source code online?

Yes. There are many ways to do this:

What should I put in my .subversion/config?

You need to add the ignore list to the [miscellany] group in your ~/.subversion/config:

[miscellany]
global-ignores = *.moc *.moc.cc *.moc.cpp config.log config.status \
config.cache *.gmo .deps .libs SunWS_cache *.lo *.la *.rpo *.la.closure \
*_la_closure.cpp *_la_closure.cc *_la_closure.cxx *.all_cc.cc *.all_cpp.cpp \
*.all_C.C *.all_cxx.cxx *_meta_unload.cc *_meta_unload.h *_meta_unload.cpp \
*_meta_unload.C *_meta_unload.cxx index.cache.bz2 .memdump Makefile.rules.in \
Makefile.calls.in Makefile.rules Makefile.calls autom4te.cache *.kidl \
*.o *.lo *.la #*# .*.rej *.rej *.pyc

And to make svn diff ignore whitespace, and print function names:

[helpers]
diff-cmd = /usr/local/bin/_svndiff

with the following in /usr/local/bin/_svndiff:

#!/bin/sh
exec /usr/bin/diff -b -u -p "$@"

Don't forget to make /usr/local/bin/_svndiff executable.

I want to put my app in KDE

There are three requirements:

  • Your app must compile with the latest version of KDE (git master or SVN trunk).
  • Your app must be stable.
  • Your app must be maintained. You will probably get a good deal of bug reports and wishes. People expect you to fix the bugs and implement the wishes that make sense.

See also the next question.

Is it better to develop inside or outside KDE?

As core developer Waldo Bastian explains in a copyrighted mail:

Being part of KDE means that you have to work together with others. Such cooperation brings along advantages but it also brings along responsibilities.

Some of those advantages are: your code ends up on all distro's, people might fix your bugs, you get free translations and documentation, you get tons of bugreports.

On the other side there are disadvantages and responsibilities: you will have to communicate with other developers about your work, other people might make changes to your code, you will have to respect release freezes, you get tons of bugreports and people actually expect that you fix them as well (what are they smoking?), people expect you to maintain your code.

You can't chose for the advantages and ignore the responsibilities that come with it, it's a complete package, it's both or nothing.

In general it should be the author of a piece of software that chooses to put his application in KDE's repositories. We usually don't put software in KDE's repositories unless the author wishes to do so. The other way around, if the author prefers to work on his application elsewhere then that's his right as well. Unless there is a split in the actual group of people working on the application it makes no sense to fork the development of an application because of that.

BUT... by putting your code under and open source license and putting it in a KDE repository you give the world at large, as well as KDE in particular, the irrevocable right to use your code. And KDE will use that right at its discretion to protect the interests of KDE, even if that goes against the wishes of the author at that point in time.

It is important to know that but don't be afraid. Usually, things work very well. In 5 years, it has only happened once that a developer had his work put kept in KDE while he wanted to remove it.

How do I get write access to KDE repositories?

See full article at Get a KDE Contributor Account.

Go to KDE Identity, fill out the form and describe why you need write access. Make sure to specify your full name and e-mail address.

Please also include the name of your bugs.kde.org account, if non-existent please create one so that it can be given usual developer rights. Closing bugs.kde.org reports with keywords in commit comments only works if the email address of your KDE Identity and bugs.kde.org accounts match. You can change your bugs.kde.org address in the Bugzilla user settings.

Git requires use of an ssh key, and new accounts for SVN must also choose the svn+ssh protocol. Send a public ssh key (e.g. ~/.ssh/id_dsa.pub)

See also #How do I create a SSH key?

If you are contributing to an application that is not yours, it is a good idea to first submitting your coding as patches to the author and let him apply them. If the author is not maintaining his application, you might become the new maintainer...

Although there are few restrictions on repository commit rights, we expect you not to disrupt other developers' code without their consent. You must also respect the feature freezes of the release schedule (published on Schedules page)

A detailed list of rules you should follow when committing to KDE repositories are listed in the KDE Commit Policy.

My app is not stable but I would like to have it in KDE

As a first step, we can put it in playground, which is essentially "kde-alpha". Develop it there and when it is ready, request that your app to be moved to the appropriate KDE package or the extragear module.

I don't want to lose my SVN history.

This is no longer possible with Subversion. Maybe in the future, if the server is upgraded and allows that. Note that for git this is not an issue.

What is kdebindings?

It contains Qt bindings for Ruby, PHP, C# to use Qt classes with those langages, KDE bindings for Ruby, C#, python to use KDE classes with those langages, and XParts to embed non-KDE apps as a KPart. Check the binding page of TechBase.

Does the feature freeze apply to playground?

No, playground are not a released packages. The same is true for kdereview and extragear: they are not frozen and released. But if you want your app to move to a package, ask for it before the beta-release.

Can I have a stable and an unstable KDE on the same computer?

Yes, check Building KDE Software from git.kde.org video series:

How do I know which version of Qt/KDE I am using?

kde-config and all KDE programs accept --version as argument.

Qt-copy or Qt from qt.digia.com: if one were doing a clean build of trunk, which would be preferable?

You can use either. They are binary compatible (forward and backward). There can be, however, a few bugfixes in qt-copy over the most recent Qt release. Especially if building from qt-copy, pay attention to the apply-patches script.

How can I checkout a single directory from a SVN module?

Checkout the top-level dir with 'svn co -N /modulename', 'cd modulename', 'svn up admin' to get the admin/ dir and then finally checkout the dir you want with 'svn up subdir'

For instance, to get only reaktivate from playground/utils: svn co -N /playground/utils; svn up reaktivate Then compile as usual.

The same answer applies to the question "How do I get a single language out of kde-i18n?".

If you don't know the name of the directory you want to check out, you can browse websvn.kde.org to find it.

How can I get one of the KDE application as a standalone tarball?

kdesdk/scripts/svn2dist is a script to extract an application from the KDE source tree and package it as a standalone application.

How do I close my own bug reports?

If you reported a bug that is fixed in a new release of KDE but is still reported as open, you can close it. It might happen because your bug is the same as another one, or simply because the developer fixed something without noticing that it would correct your bug.

You can do that from your Subversion commit. To do so, append to your commit message a line like this:

BUG: XXXXX where XXXXX is the bug report you want to close. If the report you're closing is adding a new feature, you can use FEATURE instead of BUG.

Managing a bug list is a huge task for the developers and they usually have a lot of bugs listed, some being fixed already without their knowledge, some being unreproducible, some without enough information to be corrected, etc. If you can help by managing and updating the list of outstanding bugs, you will be gladly welcome. And you will receive an even happier welcome if you provide a patch.

How do I create a SSH key?

SSH makes use of two keys: a private key and a public key. You should keep the private key secret at all times and only place it on machines over which you have direct control. Public, shared, and community machines are not suitable environments to store SSH private keys. Take action to help prevent theft of your SSH private key data. Setting a password on your SSH private key will help reduce the risks involved with private key theft.

Generate a key pair for each major location you work from. This helps to reduce the impact when your key gets stolen. When someone obtains access to your private key, your key can be abused in attempts to compromise KDE servers. Well known open source projects have been compromised this way in the past, YOU must help us to make sure that this doesn't happen with KDE servers as well. For that reason it is important to notify sysadmin (at) kde (dot) org immediately when you notice that someone may have had access to your private key for example when a computer on which it was stored has been hacked or infected with a virus, worm or trojan.

If you choose to make a backup of your SSH private key data, please ensure that any such backup is stored in a secure manner as well.

For the practical part, the following command can be used to generate a SSH private/public key pair with ssh-keygen -t dsa This will create a private key as ~/.ssh/id_dsa and a public key as ~/.ssh/id_dsa.pub.

There are times when you may want to use a key of a different name to the default, perhaps to use separate keys for different projects. To let SSH know which key you want to use for KDE.org, you can keep a list of servers and their corresponding keys in ~/.ssh/config. For example,

Host svn.kde.org 
IdentityFile ~/.ssh/id_dsa_kde

In order to use SSH to access KDE servers you need to send your public key to sysadmin (at) kde (dot) org.

How can I monitor changes made by others?

The kde-commits mailinglist carries automatic notifications for all changes made in the KDE repositories. The KDE-Commits mailinglist is very high traffic. An alternative is CommitFilter which allows you to get notification for only those areas that interest you.