Infrastructure/Get a Developer Account: Difference between revisions

From KDE Community Wiki
(I learn that reading old text is a bit devastating for newcomers, striked out...)
m (KDE Identity link doesn't work)
(34 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{warning|This page is yet to be reviewed for changes required by the migration to Git.  Information and commands on this page may no longer be valid and should be used with care. Please see the [[Development/Git|KDE Git hub page]] for more details. }}
This tutorial is about how to apply for a commit account for KDE so that you may change files (code, documentation files, art, etc.) in KDE's git and svn repositories.


{{Template:I18n/Language Navigation Bar|Contribute/Get a SVN Account}}
== Read-only access to Git or Subversion ==
This tutorial is about how to apply for a SVN account for KDE.


<strike>
All KDE repositories can be cloned or checked out anonymously, without needing any account.
== Notations ==


* The word ''SVN'' applies to all SVN servers.
== KDE Identity Account ==
* The phrase ''KDE SVN'' refers only to KDE's SVN server.
* The phrase ''anonymous SVN'' means KDE's anonymous SVN mirrors.


== What is KDE SVN? ==
In order to submit merge requests with [[Infrastructure/GitLab|GitLab]], you'll need a '''KDE Identity Account'''.


To have write access to KDE SVN, you have to use the main SVN server of KDE. (Anonymous SVN uses mirrors of this server. SVN does not allow you to read from one server and write to another.)
These can be registered using the self-service [https://identity.kde.org/ KDE Identity] site. As part of this process, you will need to provide a name and email address, which has to be your own. Please note that these details '''will be made publicly visible on Gitlab''' once you have logged in there. You may therefore receive some spam as an unfortunate consequence of this.


To be able to use the main KDE SVN server, you need an account there. An account is made up of a ''username'' (normally your family name), a password and an email address. The username is for getting in, the password for authenticating and the email address for knowing who to contact if another developer wants to contact the account holder. (The username is sometimes known also as the ''login''.)
When selecting your username, please ensure you select something which has a relation to your real name.


A KDE SVN account allows you to write to nearly anywhere in the KDE SVN. However, there are exceptions:
'''A Developer Account is not needed to fork repositories and submit merge requests on Gitlab.'''
* the KDE SVN internals
* the www module (exceptions can be made for this.)


'''Note''': you can see the accounts in [http://websvn.kde.org/trunk/kde-common/accounts kde-common/accounts]. That is the list of all accounts. Yes, '''the account list is public''', for example on [http://websvn.kde.org WebSVN].
Also note that this email address should be the same one that you use on [http://bugs.kde.org bugs.kde.org]. If you don't have an account in [http://bugs.kde.org bugs.kde.org], please create one so that it can be given usual developer rights. Closing bug reports with keywords in commit comments only works if the email address associated with your KDE Developer account and [http://bugs.kde.org bugs.kde.org] accounts match.


== Who Can Apply For a KDE SVN Account? ==
== How to get read-write access to Git (Gitlab) ==


Normally, any developer who has done some work on KDE can apply for a KDE SVN account.
Please note that a KDE Developer account is not needed to submit merge requests on Gitlab. This can be done by anyone who holds a KDE Identity account.
In most cases people will be encouraged by existing developers to apply for a KDE Developer account, although it is not required.


Translators should get approval from their team leader so that they can organize how the work is being done in his/her team. Please mention the approval from the team leader when requesting the account.
When you are ready to apply for a KDE Developer account, you should visit the [https://identity.kde.org/index.php?r=developerApplication Developer Application page] to submit your application.


Please also [[Policies/SVN Commit Policy|read the KDE SVN commit policy]]. You must accept these rules when using your future KDE SVN account. Please also familiarize yourself with the [http://www.kde.org/code-of-conduct/ KDE Code of Conduct] which describes the social foundations within KDE.
This form will ask you a series of questions, including ''Why do you want an account?'', where you can explain what you want to do with your future KDE Developer account, like for example developing a certain application, making documentations or being the team leader of a translation.


Also please apply for an account only if you think that you will work on KDE for a somewhat longer time. If you know that you will only work for a couple of weeks and then never again, please consider not applying for a KDE SVN account but still, do continue to send patches.
Also note that the form will ask you who has encouraged you to apply. They will also get an email to verify your request.


The limitations are not there to exclude anyone - they are there to ensure that the maintenance of accounts remains reasonable.
== Who Can Apply For a KDE Developer Account? ==


Of course, to be clear: ''the KDE's sysadmins have the last word about whether or not to create a KDE SVN account for somebody''.
Normally, any developer who has done some work on projects hosted by KDE can apply for a KDE Developer account.


== SSH ==
Translators should get approval from their team leader so that they can organize how the work is being done in his/her team. Please mention the approval from the team leader when requesting the account.


You need a SSH public key in order to access your KDE SVN account. If you already have one, you can skip the next subsection and go to [[#Setting up the SVN+SSH protocol|Setting up the SVN+SSH protocol]].
Please also [[Policies/Commit Policy|read the KDE commit policy]]. You must accept these rules when using your future KDE Developer account. Please also familiarize yourself with the [http://www.kde.org/code-of-conduct/ KDE Code of Conduct] which describes the social foundations within KDE.


=== Generating the SSH keys ===
Also please apply for an account only if you think that you will work on KDE for a somewhat longer time. If you know that you will only work for a couple of weeks and then never again, please consider not applying for a KDE Developer account but instead continue to send patches directly to developers.


To be able to use your KDE SVN account with SSH, you need a SSH public key. Please notice that it is '''not''' a GPG (OpenPGP) key, which is completely unrelated!
The limitations are not there to exclude anyone - they are there to ensure that the maintenance of accounts remains reasonable.
 
The password in the sense of this documentation is the '''public key''' that you are creating.
 
For more information on how to create a pair o SSH keys, please refer to a [http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-keygen SSH documentation] or book.
 
In short, the command to create a pair of keys is '''ssh-keygen''' and it requires the type of key you will create, either DSA or RSA - both are fine.
 
To create a new pair of keys, use <code bash>ssh-keygen -t dsa</code> or <code bash>ssh-keygen -t rsa</code>
 
There is also a type called RSA1 which was used in version 1 of the SSH protocol. See the [http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-keygen ssh documentation] for more details.
 
You can then accept the default filename for your key (either {{path|$HOME/.ssh/id_dsa}} or {{path|$HOME/.ssh/id_rsa}}, depending on the type of key you have chosen). After that, a passphrase is asked. It is recommended that you do not leave it blank.
 
Now that you are finished generating your key pair, you will have two files: a private key and a public key. If you have accepted the default filename, they will be respectively {{path|$HOME/.ssh/id_dsa}} and {{path|$HOME/.ssh/id_dsa.pub}} or {{path|$HOME/.ssh/id_rsa}} and {{path|$HOME/.ssh/id_rsa.pub}}, depending on the type of key you have specified.
 
The private key '''must''' remain secret, do not publish it to anyone under any circumstance.
 
The public key can be published and shall be sent when you are applying for a KDE SVN account.
 
You should also set up <tt>ssh-agent</tt> so you do not have to type the password every time you connect via SSH. There are several tutorials available explaining how to do this, for example [http://mah.everybody.org/docs/ssh this one]. [http://www.gentoo.org/proj/en/keychain Keychain] is a program that makes this task easier.
 
'''Note''': if you already have an ssh key, you can just use the existing key instead of creating a new one.
 
{{tip|
If you want to use SVN with SSH with another user than the one who created the keys, you need to copy <tt>$HOME/.ssh/id_dsa.pub</tt> and <tt>$HOME/.ssh/id_dsa</tt> or <tt>$HOME/.ssh/id_rsa.pub</tt> and <tt>$HOME/.ssh/id_rsa</tt> to the other user's <tt>$HOME/.ssh</tt> directory.
 
You should probably also backup those files.
}}
 
=== Setting up the SVN+SSH protocol ===
 
Once you created your key, you'll have to tell SSH that this one should be used for all connections to KDE sites. Add the following lines to the <tt>~/.ssh/config</tt> file. Replace USERNAME with yours.
 
<pre>
Host *.kde.org
        User USERNAME
        IdentityFile ~/.ssh/id_dsa
</pre>
 
The linked IdentityFile must belong to the public key you send in when applying for the SVN account. But it is ''not'' the public key (<tt>*.pub</tt>).
 
== Apply for an account ==
 
Now you are ready to apply for for a KDE SVN account. Go to [https://identity.kde.org/ https://identity.kde.org/svnaccount/] and create an account if you don't have one already. If you already have an account, you can use that. After you entered the site you will find a form which you can fill in to apply for an account.
 
When you register on identity.kde.org, you will need to enter your name and an e-mail address, which has to be your own (a normal address or a KDE Mail address). Of course, do not forget that '''this email address becomes public''' (at least by [http://websvn.kde.org WebSVN]) so you will unfortunately get spam.
 
Also note that this email address should be the same one that you use on [http://bugs.kde.org bugs.kde.org]. If you don't have an account in [http://bugs.kde.org bugs.kde.org], please create one so that it can be given usual developer rights. Closing bug reports with keywords in commit comments only works if the email address of your Subversion and [http://bugs.kde.org bugs.kde.org] accounts match.
 
After that, you must choose a username for your KDE SVN account between the suggestions presented to you. Please notice it is not possible to propose something else such as a nickname, as the username must be as close as possible to someone's real name.
 
If you ask for a KDE email address one day, this will be the base for your address. For example: <tt>[email protected]</tt>. (Note, however, that KDE email addresses are not granted so easily anymore, as too many people have ranted with a KDE address and other people thought that it was the official position of the KDE Team. In the meantime, [http://www.kdemail.net KDE Mail] was created for if you need a permanent address.)
 
When applying for developer access you have to provide your public key. This key will be added to your profile. You can always add more keys, delete keys you don't use anymore from your profile page on identity.kde.org.
 
The form also holds a field ''Why do you want an account?'', where you can explain what you want to do with your future KDE SVN account, like for example developing a certain application, making documentations or being the team leader of a translation.
 
Also note that the form will ask you who has encouraged you to apply. He or she will also get an email to verify your request.
 
== Updating Existing Account ==
 
If you already have a KDE SVN account but want to update the ssh key, you should go to [https://identity.kde.org/ identity.kde.org] and change the keys in your profile.
 
== And Now? ==
 
After having sent the form and clicking the link in the email, you have to wait for the answer (typically within two or three days).
 
Once you have confirmation that your account has been created, you need to adapt your local copy to the new server. See the [[Infrastructure/First Steps with your Contributor Account|next tutorial]] for your first steps with your new account.


Please add your geographical location (what country are you in?) and other details at the [http://commit-digest.org/data/ Commit Digest data page] so that the Commit Digest can accurately reflect who is working where.
Of course, to be clear: ''the KDE's sysadmins have the last word about whether or not to create a KDE Developer account for somebody''.
</strike>

Revision as of 18:28, 12 October 2020

This tutorial is about how to apply for a commit account for KDE so that you may change files (code, documentation files, art, etc.) in KDE's git and svn repositories.

Read-only access to Git or Subversion

All KDE repositories can be cloned or checked out anonymously, without needing any account.

KDE Identity Account

In order to submit merge requests with GitLab, you'll need a KDE Identity Account.

These can be registered using the self-service KDE Identity site. As part of this process, you will need to provide a name and email address, which has to be your own. Please note that these details will be made publicly visible on Gitlab once you have logged in there. You may therefore receive some spam as an unfortunate consequence of this.

When selecting your username, please ensure you select something which has a relation to your real name.

A Developer Account is not needed to fork repositories and submit merge requests on Gitlab.

Also note that this email address should be the same one that you use on bugs.kde.org. If you don't have an account in bugs.kde.org, please create one so that it can be given usual developer rights. Closing bug reports with keywords in commit comments only works if the email address associated with your KDE Developer account and bugs.kde.org accounts match.

How to get read-write access to Git (Gitlab)

Please note that a KDE Developer account is not needed to submit merge requests on Gitlab. This can be done by anyone who holds a KDE Identity account. In most cases people will be encouraged by existing developers to apply for a KDE Developer account, although it is not required.

When you are ready to apply for a KDE Developer account, you should visit the Developer Application page to submit your application.

This form will ask you a series of questions, including Why do you want an account?, where you can explain what you want to do with your future KDE Developer account, like for example developing a certain application, making documentations or being the team leader of a translation.

Also note that the form will ask you who has encouraged you to apply. They will also get an email to verify your request.

Who Can Apply For a KDE Developer Account?

Normally, any developer who has done some work on projects hosted by KDE can apply for a KDE Developer account.

Translators should get approval from their team leader so that they can organize how the work is being done in his/her team. Please mention the approval from the team leader when requesting the account.

Please also read the KDE commit policy. You must accept these rules when using your future KDE Developer account. Please also familiarize yourself with the KDE Code of Conduct which describes the social foundations within KDE.

Also please apply for an account only if you think that you will work on KDE for a somewhat longer time. If you know that you will only work for a couple of weeks and then never again, please consider not applying for a KDE Developer account but instead continue to send patches directly to developers.

The limitations are not there to exclude anyone - they are there to ensure that the maintenance of accounts remains reasonable.

Of course, to be clear: the KDE's sysadmins have the last word about whether or not to create a KDE Developer account for somebody.