Hi Everyone,
As we already said we're all excited to work with you as part of the
GSoC. However, in order for this to work, we all need to make some
efforts. The biggest effort that we need to make is good
communication (this is what is required when working on any open
source project). We have extended an invitation to you in the email
below with very clear guidelines and next steps to perform.
Out of the 7 GSoC students, only 3 have answered so far: Tharindu,
Evelina and Radu. I think answering to our email is really the least
everyone could do... Let's hope it was simply an oversight or that
you were on holidays... :-)
Indeed your success will be very much based on how you interact with
the XWiki open source project and on your availability to discuss,
reply to mails, work collaboratively, in pure open source fashion.
Thus, let's start to communicate:
- introduce yourself
- tell us what your plans are, when you'll be able to start working
on what feature
- start asking questions
- tell us what you don't understand in the process, in the dev tools,
in the build, etc
- suggest ideas
- help with the
documentation
- etc
One task that we need all of you to perform is (as described below)
to familiarize yourself with the XWiki development process and team.
For doing this we suggested that each of you take a few JIRA issues
and start implementing them (after reading the docs on the community
space of
). So far, we have Evelina, Tharindu and Radu who
have picked some issues. Remember that this is an official step, part
of the GSoC programme and that is goes from the 12th of April till
the 28th of May. Of course if some of you cannot do it right now for
any reason (like you're on holiday, you're too busy, etc) then of
course you should communicate it (remember: communication is
everything!). How could we know otherwise?
What we would like is that you submit patches for a few JIRA issues.
We'll review these patches, comment on them, till they are the level
of quality adequate so that they can be committed. This is very
important because you'll probably make mistakes along the way and
this is where you'll learn. If you don't do this, chance is that it's
going to be real hard thereafter to apply any of your work. You
should really familiarize with XWiki before starting head-on with
your projects. It'll be easier afterwards if you understand how XWiki
development works first.
One other useful task that you'll need to perform for sending patches
is learning how to build XWiki. Try to build XWiki from sources, try
to debug it from your IDE. These are useful skills you'll need for
later on.
Last, we would welcome feedback on what we've proposed here and
below. This is a learning process for us too. We're very interested
in any feedback, how to make this GSoc 2007 even better, and we need
your input too.
Let's start communicating on the XWiki mailing lists! :)
Thanks
-Vincent on behalf of the XWiki SOC mentor team
On Apr 13, 2007, at 11:08 PM, Vincent Massol wrote:
Hello XWiki Summer-of-Coders 2007,
First of all, thank you for showing your interest in Open Source
development, and for choosing XWiki as the project which will get
you acquainted with this kind of development.
[For all xwiki community members who don't know what the summer of
code is, check XWiki's SOC page on
http://www.xwiki.org/xwiki/bin/
view/GoogleSummerOfCode/]
The goal of the Summer of Code program is to introduce young
students like you in the fantastic world of Open Source. If you
only view this as a better paid summer job, then you can't be any
more wrong. Our mission, as your mentors, is to ease your
understanding of how things work, to help you learn new things you
won't be thought in school, to integrate you in a large and very
friendly community, and to help you understand how a very large
project is managed, planned, developed.
Open Source is not only about the code. It is more about the
Community that participates in the development of the code. We, the
mentors, will do our best to introduce you in this community and
make you enjoy being part of it, so that when the summer ends, and
all your obligations as soc-ers cease to exist, you will want to
continue being part of our community. The most successful example
is that of Sergiu, who was a SoC student like you last year, and
now is a mentor for two of the accepted projects.
Your job is a bit more difficult. You have to catch up with
hundreds of thousands of lines of code, learn about so many new
technologies, get used to a whole new way of working on a project,
get used to the many rules regarding project development that make
it survive the competition and become famous, AND write a not-so-
simple new component for XWiki. We know this is a difficult task to
achieve in less than 4 months, especially on your own, so we are
willing to offer any help we can provide.
So, let's get started.
1. We need to know what your main email address is (the one you
check more often), so that we can reach you faster when needed.
2. We need to establish some rules regarding how you will interact
with the mentors and the community, and how you will develop your
code.
First and foremost, working on XWiki needs to be fun and a good
learning process! However the XWiki project is already following
some development rules that we're asking SoC students to follow
too. This is for the good of the XWiki project but more importantly
it's a good way to learn how an open source community works and if
these practices are followed then it'll be much easier to integrate
the SoC student work into XWiki's official releases.
So here are some practices we'd like SoC students to follow (please
comment on the list if you'd like to change some of them or propose
other things):
* SoC students should be considered like any XWiki contributor
which means they should respect the same rules and which means they
are not committers on XWiki core. Note that a SoC student can
become a Committer in the same manner a contributor can become one.
* SoC students will be given commit access to the sandbox only,
where they'll create their project (one top level directory for
each project). For projects which need to modify some existing
code, JIRA issues will need to be created and patches attached.
It's important that patches be of good quality and small in order
to be applied quickly. Once sandbox projects reach a good level of
maturity (meaning they work and the code is of code quality,
documented, etc) then we'd like to migrate them to the main release
tree.
* SoC students should obey all Community rules. For example this
means:
o using the XWiki coding conventions
o using the defined communication channels: IRC and mailing list
* SoC students have time allocated to familiarize with XWiki
development process. As such we'd like each SoC student to pick one
or several existing issues in JIRA and send a patch that fixes it/
them before that period ends (from 12th of April to 28th of May)
This is a critical integration step to ensure all SoC students
understand how XWiki works and it's a chance to start asking
questions and get to know each other.
* SoC student should post a quick introduction on the xwiki dev
mailing list to explain who they are and what they're going to work
on.
* SoC student should always go to the list when communicating about
their project. They should use the XWiki IRC channel if they need
to talk to their mentors. The goal is that everyone in the XWiki
community help them, answer their questions, but also know what
they are doing. This will make patch applications and integration
of their work back into XWiki trunk easier later on. This is very
important and a criteria of success for the student. This is about
learning how open source works. Note that students can also CC
their mentor's email address if they want, but the mails have to go
to the XWiki dev list.
* SoC students should not block on anything for a long period of
time. They should ask plenty of questions on the list (but they
should also be autonomous!)
These practices are also listed on
http://www.xwiki.org/xwiki/bin/
view/GoogleSummerOfCode/
3. Here's what you need to do to get you started:
a) You need to register on
http://forge.objectweb.org/account/
register.php
ObjectWeb (or the OW2 Consortium, as it is known now) is an Open
Source software community, and XWiki is one of the many projects
belonging to this large "family". Mainly, it offers the same
facilities Sourceforge offers. This is where the source code is
hosted, and where the official mailing lists are hosted.
You have to remember the username and password, because later you
will use them for commiting code.
b) You should subscribe to some of the mailing lists on http://
forge.objectweb.org/mail/?group_id=170 . We recommend that you
subscribe at least to xwiki-dev and xwiki-users.
c) You need to register on
http://jira.xwiki.org/jira/secure/Signup!
default.jspa
This is where the code management takes place. It is a repository
of known bugs, issues, planned new features or improvements. It
also offers some statistics and roadmaps regarding the project
evolution. Getting accustomed to using JIRA is a requirement.
d) Download the XWiki source code. Follow the instructions on
http://www.xwiki.org/xwiki/bin/view/Community/SourceRepository
For the moment, you can only checkout the code using anonymous access.
e) It will be very hard to understand the code by reverse
engineering. We know that the documentation is not our strong point
(on the contrary), but reading the guides on
http://www.xwiki.org/
xwiki/bin/view/Main/Documentation will help a lot.
f) Try to follow the discussions on JIRA and on the mailing lists.
We do know that you still have classes and exams, and we definitely
don't want you to disregard school, so take things easy, and don't
panic if something seems too difficult. Don't be shy, Open Source
communities are about communications and help.
Good luck,
-The XWiki SOC mentor team (Sergiu, Jeremi, Ludovic, Jean-Vincent,
Vincent)