/
002-join-a-new-project.tex
116 lines (85 loc) · 4.67 KB
/
002-join-a-new-project.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
\documentclass[11pt]{scrartcl}
\usepackage[parfill]{parskip}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{tabulary}
\usepackage{float}
\usepackage{eurosym}
\usepackage{hyperref}
\usepackage{fancyvrb}
\graphicspath{{../images/}}
\title{\textbf{Project Management}}
\subtitle{How to join a new project}
\author{Ricardo Garc\'ia Fern\'andez}
\date{\today}
\begin{document}
\maketitle
\vfill
\begin{flushright}
\copyright 2013 Ricardo Garc\'ia Fern\'andez - ricardogarfe [at] gmail [dot] com.
This work is licensed under a Creative Commons 3.0 Unported License.
To view a copy of this license visit:
\url{http://creativecommons.org/licenses/by/3.0/legalcode}.
\end{flushright}
\begin{figure}[h]
\begin{flushright}
\includegraphics{by}
\label{fig:by}
\end{flushright}
\end{figure}
\newpage
\section{Questions}
\emph{Let's assume that you are a developer interested in joining the Calligra project, an office suite in KDE. Answer the following questions:}
\begin{enumerate}
\item Is it possible to browse the code tree of these project? What is the URL of this repository? What is the software for version control used in this project?
\item Can you find any specific guidelines for submitting your first patch to this project (or any other KDE project)?
\item What are the main developers of Calligra? Can you contact the developers somehow?
\end{enumerate}
\section{Calligra VCS}
\label{sec:q-01}
\emph{Is it possible to browse the code tree of these project? What is the URL of this repository? What is the software for version control used in this project?}
\par Yes, we can browse Calligra code tree as we can see in Calligra \emph{Community documentation}\footnote{\url{http://community.kde.org/Calligra/Building\#Get_the_source_code_for_the_development_version}}. Calligra uses Git\footnote{\url{http://git-scm.com}} as VCS, so you have to configure Git to clone the repository inside KDE structure:
Add the following text to your ~/.gitconfig:
\begin{Verbatim}[frame=single]
[url "git://anongit.kde.org/"]
insteadOf = kde:
[url "ssh://git@git.kde.org/"]
pushInsteadOf = kde:
\end{Verbatim}
Then execute:
\begin{Verbatim}[frame=single]
git clone kde:calligra
\end{Verbatim}
\section{Calligra patch guidelines}
\label{sec:q-02}
\emph{Can you find any specific guidelines for submitting your first patch to this project (or any other KDE project)?}
\par Yes, Calligra has a tutorized section to do it in \url{http://community.kde.org/Calligra/Contributing_a_Patch}.
There explains the process to submit a patch to Calligra's development branch in two main sections:
\begin{enumerate}
\item Create a patch
\item Submit it to review board
\end{enumerate}
\par Calligra teach us about how patching path works in Review Board Rules\footnote{\url{http://community.kde.org/Calligra/Policies/Review_board_rules}} and all the steps you have to follow to be success.
\begin{enumerate}
\item Log in to the review board. It is using the KDE identity (if you do not have an account, you can get one from KDE identity, it is open to everyone)
\item Click on "New Review Request"
\item In Repository, choose calligra
\item In Diff select the patch you want to upload
\item Optionnaly in parent, give a patch that needs to be applied before yours (this is only needed if the patch is based on an other patch from reviewboard or on a branch different from master)
\item After clicking on "Create a review request" you will have to add "calligra" in the list of group and a description
\item Fill the summary and the title
\item Don't forget to press "publish" at the top of the page
\end{enumerate}
% section (end)
\section{Calligra main developers}
\label{sec:q-03}
\emph{What are the main developers of Calligra? Can you contact the developers somehow?}
\par We can use the url that gives us Calligra to inspect their VCS in Ohloh.net (\url{https://www.ohloh.net/p/calligra}). Ohloh.net is a Repository of Repositories Tool created by BlackDuck\footnote{\url{http://www.blackducksoftware.com/}} an OpenSource Consulting company.
\par We can see Calligras contributors summary in \url{https://www.ohloh.net/p/calligra/contributors/summary}. To see top contributors, we have another link in \url{https://www.ohloh.net/p/calligra/contributors/} to see them all.
\par Of course you can contact to developers. Calligra has channels to do it. In section \emph{Communicating with the Developers}, we can find different channels for communication; irc channel and mailing lists:
\begin{itemize}
\item Join the development IRC channel: \#calligra on irc.freenode.net
\item Use calligra-devel@kde.org mailing list (also available as a newsgroup)
\end{itemize}
% section (end)
\end{document}