#LyX 1.3 created this file. For more info see http://www.lyx.org/
\lyxformat 221
\textclass article
\language english
\inputencoding auto
\fontscheme palatino
\graphics default
\paperfontsize 12
\spacing single
\papersize Default
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\use_natbib 0
\use_numerical_citations 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle default
\layout Title
\begin_inset Graphics
filename paper/pictures/logo.png
\end_inset
\newline
Increase in efficiency of free software projects
\newline
through information management
\layout Author
Robert Schuster
\newline
Working group Software Engineering
\newline
Freie Universität Berlin
\layout Date
2005-05-17
\layout Abstract
Free and Open Source Software is an enduring undertaking.
However this does not mean that this development model has no flaws.
This paper will present a problem of the F/OSS development process that
results from insufficient care for information management.
I will outline the factors that lead to this problem and propose a light-weight
process enhancement to cope with it.
This enhancement will introduce a role named
\begin_inset Quotes eld
\end_inset
mediator
\begin_inset Quotes erd
\end_inset
- a person whose task it is to make it easier for new developers to enter
the project and support the knowledge transfer between developers.
The role is then implemented in the project GNU Classpath and evaluated
by it's developers with the help of a survey.
The key aspects of mediation are summarized and abstracted in form of a
short manual which is targetted for use by any F/OSS project.
\layout Standard
\begin_inset LatexCommand \tableofcontents{}
\end_inset
\layout Section
Introduction
\layout Standard
After more than 20 years of Free and Open Source Software (F/OSS) development
it should have been proved that this model is enduring.
I leave the question whether F/OSS will ever dominate the software market
to someone else and focus on lowering their entry level and improving the
maintainability of these ever-evolving software projects.
\layout Standard
As F/OSS projects get older it gets more difficult for newcomers to join
it and they are less manageable for a single person.
Part of this problem is that the development process is seldom documented
consistently (e.g.
archival of architectural decisions).
This thesis will demonstrate
\begin_inset Quotes eld
\end_inset
mediation
\begin_inset Quotes erd
\end_inset
as one solution to get these defficiency under control.
\layout Standard
Bigger F/OSS projects consist of a distributed team of developers which
often crosses timezones and cultural borders.
While this may be good for creativity and balance between interests this
makes project management more difficult.
The problems manifest themself when making an appointment or when a debate
gets hot because of different cultural tempers.
\layout Standard
Usually F/OSS developers are motivated intrinsically which means they do
programming for the fun of it.
Again this is quite good for the actual result but it means that less amusing
work like writing documentation gets neglected.
Furthermore being on his own means that a developer can completely chose
his development environment and tools.
\layout Standard
Communication and knowledge transfer is dominated by mailing list and Internet
Relay Chat (IRC) usage.
These systems are not designed for information management and make it hard
to use it for them as the project's library.
\layout Standard
The goal of this thesis is to define a light-weight process enhancement,
which minds the factors stated above and heightens the efficiency of the
project.
The enhancement named
\begin_inset Quotes eld
\end_inset
mediation
\begin_inset Quotes erd
\end_inset
will introduce the role of a project member who explicitly cares about
the project's information, writes important issues (e.g.
outcome of a discussion) down and makes them available for future reference
by new and long-established developers.
\layout Standard
I will install
\begin_inset Quotes eld
\end_inset
mediation
\begin_inset Quotes erd
\end_inset
in the project GNU Classpath
\begin_inset Foot
collapsed true
\layout Standard
http://classpath.org
\end_inset
where the enhancement will be tested and qualitative advantages (as well
as disadvantages) recorded.
\layout Standard
Eventually the key ideas of the process enhancement will be abstracted and
compiled as a set of guidelines for other projects as well.
\layout Subsection
Disambiguation
\layout Standard
For this thesis I use the term Free and Open Source software (F/OSS).
However in general I prefer the shorter and older (1984) free software
definition
\begin_inset Foot
collapsed true
\layout Standard
http://www.gnu.org/philosophy/free-sw.html
\end_inset
and not the newer term
\begin_inset Quotes eld
\end_inset
open source
\begin_inset Quotes erd
\end_inset
which was coined 1998 by the Open Source Intiative and describes itself
as
\layout Quote
\begin_inset Quotes eld
\end_inset
a marketing program for free software
\begin_inset Quotes erd
\end_inset
\begin_inset Foot
collapsed true
\layout Standard
http://opensource.org/advocacy/faq.php - How is "open source" related to "free
software"?
\end_inset
.
\layout Standard
Finally the project which is presented as part of this thesis describes
itself as a free software project and it would be hard to find the reason
for it's existence by being
\layout Quote
\begin_inset Quotes eld
\end_inset
on solid pragmatic grounds
\begin_inset Quotes erd
\end_inset
\layout Standard
only, as the OSI says it.
\layout Subsection
Categories and conditions of F/OSS projects
\layout Standard
As a base work for the presentation of my process enhancement I will categorize
F/OSS projects and describe their development and sometimes social conditions.
In later sections I will make back references to the issues explained here.
\layout Subsubsection
Categories
\layout Standard
This section will give you an overview of categories of F/OSS projects which
is simplified to fit in the context of this thesis.
Using the following terms allows me to quickly describe the characteristics
of a project at a later time.
\layout Subsubsection*
Single Person Projects
\layout Standard
Any F/OSS project that has only member who is responsible for the development
of the software is a
\begin_inset Quotes eld
\end_inset
single person project
\begin_inset Quotes erd
\end_inset
.
Undertaking of this kind tend to be short-lived because when the initial
motivation of the founder goes away no developer is left to take over the
maintainership.
While one may be tempted to think that this is a great loss for the F/OSS
community which makes it less productive, maintaining a non-critical software
for a while is a valuable experience for newcomers: The project founder
learns the basics of administration like setting up a source code respository,
maintaining mailing-lists and a project homepage.
This knowledge can then be useful when participating in an established
and bigger project.
\layout Standard
A single person project may evolve into some of the other project forms
when more developers get interested and join it.
Eventually there are a few projects which become successful but stay maintained
by a single person for a long time.
Examples of this kind are the QEmu
\begin_inset Foot
collapsed true
\layout Standard
http://www.qemu.org
\end_inset
multiple CPU emulator and the cdrecord tools by Jörg Schilling
\begin_inset Foot
collapsed true
\layout Standard
http://cdrecord.berlios.de
\end_inset
.
\layout Subsubsection*
Community-based project
\layout Standard
A large number of applications serve the need of the free and opensource
community and have been created as some members of the community felt the
need for such a program.
Sometimes a group of developers gathers around a piece of source code that
was once proprietary and got released by its copyright holder.
\layout Standard
Projects that belong to this category make up the backbone of the F/OSS
community because of their large amount and the wealth of knowledge that
is contained in them.
A main characteristic of these projects is that there is not much commercial
interest.
That leads to very informal project management styles where every aspect
relies purely on social interactions of its members.
One can safely say that they are the most free and independent projects.
\layout Subsubsection*
Organised community project
\layout Standard
Since the early days of the F/OSS development people have organised themselves
in larger communities where an individual project is part of the main goal
of this community.
These communities usually provide a common code guide, documentation rules
and guidelines for project management.
\layout Standard
The oldest communities have been formed around the BSD and the GNU project.
In the recent times we can see the development of the Apache, Debian, KDE
an Mozilla communities.
While some of them have formed legal entities like the Free Software Foundation
\begin_inset Foot
collapsed true
\layout Standard
http://www.fsf.org
\end_inset
, the Apache Software Foundation
\begin_inset Foot
collapsed true
\layout Standard
http://www.apache.org/foundation
\end_inset
or the Mozilla Foundation
\begin_inset Foot
collapsed true
\layout Standard
http://www.mozilla.org/foundation
\end_inset
others remain an informal group but are nevertheless known in the whole
F/OSS community.
\layout Standard
An important fact about these groups is that they are mutually dependent
(e.g.
Apache web server running on OpenBSD, being compiled by the GCC) and often
developers dedicated to one group work partly on other (e.g.
porting GNU software to the BSD platform).
Software projects belonging to such a group usually inherit their guidelines
\begin_inset Foot
collapsed true
\layout Standard
This is often an acceptance criteria.
\end_inset
and are thus more organised then their completely unbound counterparts.
As an example the GNU projects publishes and maintains their
\begin_inset Quotes eld
\end_inset
GNU Coding Standards
\begin_inset Quotes erd
\end_inset
\begin_inset Foot
collapsed true
\layout Standard
http://www.gnu.org/prep/standards
\end_inset
.
These guidelines not only manifest itself as documents but find their way
into GNU applications, too: The Automake program is used to simplify the
construction of software
\begin_inset Foot
collapsed true
\layout Standard
Compilation, library building, installation, ...
\end_inset
.
In the default operating mode it expects a certain set of files which is
defined in the GNU coding standards (see Automake Manual
\begin_inset Foot
collapsed true
\layout Standard
http://sources.redhat.com/automake/automake.html#Strictness
\end_inset
) and can only be overridden by a command line switch named
\begin_inset Quotes eld
\end_inset
--foreign
\begin_inset Quotes erd
\end_inset
.
\layout Subsubsection*
Company controlled projects
\layout Standard
In the last years several closed-source applications have been opened up
by their companies in the hope of having synergy effects by approaching
the F/OSS community.
Taking Mozilla as a prominent example we have seen that it takes some time
and commitment by the copyright holder for a released project to get adopted
and developed by the community.
As long as the software stays under control of their company there is a
high risk, that the traditional development process dominates.
One of these problems is having face to face meetings of employees instead
of organising an appointment on IRC or some other form of communication
which includes all project members.
\layout Standard
On April 20th 2005 a news article on computerworld.com
\begin_inset Foot
collapsed true
\layout Standard
http://www.computerworld.com/developmenttopics/development/story/0,10801,101210,00.
html?source=x10
\end_inset
reported that the well-known OpenOffice.org
\begin_inset Foot
collapsed true
\layout Standard
http://www.openoffice.org
\end_inset
project suffers from lack of volunteer contributors.
Besides 50 developers from Sun Microsystems only 4 active free contributors
have been counted.
Later one of those volunteers commented his experience with the OO.o development
team in the following way:
\layout Quotation
"Since all the main coders work at Sun, you pretty much stand no chance
in hell of doing work on core components, except bugfixing.
So, for example, don't expect to sign up to the mailing lists and have
any clue what people are working on.
Don't expect to be informed of major changes coming down the line unless
you have somebody on the inside to give you the scoop.
Don't expect to get involved in design discussions, don't expect to have
any input on scheduling, don't expect to be consulted about anything except
when you're going to fix bugs in your code, don't expect to gain influence
in the project over time as you become an established, respected developer.
In short, don't expect anything that you would normally expect from an
open source project."
\begin_inset Foot
collapsed true
\layout Standard
http://developers.slashdot.org/article.pl?sid=05/04/20/2157235&tid=185&tid=102&tid=
8 - Post: "I guess I'm one of the four"
\end_inset
\layout Standard
While I do not claim that his stance is the only reason for OO.o's and other
company guided project's lack of volunteers, it gives an indication on
a problem which might be analysed separately.
\layout Subsubsection
Environment and conditions
\begin_inset LatexCommand \label{sub:Environment-and-conditions}
\end_inset
\layout Standard
F/OSS projects are very diverse in nature and it makes no sense to define
clean borders to get them categorized.
However by looking at the environment and the conditions in a number of
F/OSS projects one will meet recurring properties.
By digging deeper into this topic you will see that projects belonging
to any of the bigger groups like GNU or Apache share some characteristics.
\layout Subsubsection*
Communication
\layout Standard
The main medium for communication is still the mailinglist.
It is easy to setup, hardly needs administration and there is no project
hosting software that does not support them.
However the differences between the begin with how a project sets up the
mailinglists.
Smaller projects usually have a common list for users and developers.
Most bigger projects start with a developer list, a user list and another
one that broadcasts the commit messages of the revision system (e.g.
CVS).
\layout Standard
The manners on a mailinglist are usually defined informal.
One of the bigger differences to traditional company meetings is that the
participants of a mailinglist are not forced to read it.
It is not unusual that someone has not read a particular discussion or
question and is therefore not up-to-date with the latest advancements or
decisions.
This happens more often when there is high traffic on a list, of course.
\layout Standard
One of the good aspects of mailinglists is that they are usually publicly
archived.
\layout Standard
Internet Relay Chat (IRC) is the another important medium for communication
which allows developers and users to quickly get in touch and discuss imminent
problems.
\layout Standard
What is nice for development is used for socialisation, too.
It is not a good idea to underrate the importance of community members
chatting about topics such as news, the role of software in the human society
or just talk about their families.
The maintainer of the later to be introduced project GNU Classpath deliberately
set up the project's IRC channel to foster socialisation besides benefitting
from the advantages for development.
On
\begin_inset Quotes eld
\end_inset
Planet Classpath
\begin_inset Quotes erd
\end_inset
\begin_inset Foot
collapsed true
\layout Standard
http://planet.classpath.org - A web page where the GNU Classpath developer
web blogs are syndicated.
\end_inset
developers write not only about software but do film reviews as well.
\layout Standard
Getting in contact with the developers via IRC is helpful for newcomers,
too.
Although technically possible IRC meetings are not usually archived.
The reason for this is that the discussions are much more informal and
sometimes less development-centric as on the mailinglist and the developers
prefer the kind of privacy the absence of public archival gives.
\layout Subsubsection*
Decision making
\layout Standard
The process of getting to a result or outcome on a debatable topic is largely
undefined.
In
\begin_inset LatexCommand \cite{Evers2000}
\end_inset
we get to know that the coordination of discussions is done through social
conventions which have to be learned by experience.
\layout Standard
A usual discussion starts with a request on the mailing list and every member
having an opinion tells what he or she thinks about it.
The outcome may be clear when enough striking arguments have been told.
Sometimes the maintainer has to intervene to stop
\begin_inset Quotes eld
\end_inset
flame wars
\begin_inset Quotes erd
\end_inset
or, on another day, a discussion simply dies because of lack of interest.
One kind of critical direction in a discussion is taken when it evolves
into a
\begin_inset Quotes eld
\end_inset
bikeshed
\begin_inset Quotes erd
\end_inset
\begin_inset Foot
collapsed true
\layout Standard
The word is taken from an analogy which says that few things to be discussed
when something as complicated as a nucler power plant has to be built but
a huge debate arises around something simple like a bikeshed.
\end_inset
discussion.
\layout Standard
One important difference to decisions traditionally made in software projects
is that they are not explicitly written down.
Everyone who took part in the discussion may be informed about the outcome.
This especially problematic for newcomers because they neither know the
outcome nor have they a clue that such a discussion has ever taken place.
The mailing list archive helps finding these discussion but it should be
noted that it may be difficult to understand its context.
\layout Subsubsection*
Tool usage
\layout Standard
Traditionally the tools used by F/OSS debelopers are born from the community
itself.
The highly successful Concurrent Versions System (CVS
\begin_inset Foot
collapsed true
\layout Standard
http://www.cvshome.org
\end_inset
) started as a set of shell scripts which where later rewritten as a real
application.
New functionality and features where added as the need for the arised.
Even Subversion
\begin_inset Foot
collapsed true
\layout Standard
http://www.subversion.org
\end_inset
which is today treated as CVS genuine successor has its roots in the community
because it was designed to overcome the problems people had with CVS.
\layout Standard
Another well-known application is Emacs which has a long-history and still
today is used by many developers even there are viable alternatives as
KDevelop, Anjuta or Eclipse.
And last but not least there is still a living community around one of
the oldest editors namely vi[m].
\layout Standard
As the development tools are freely chosen by their perceived usefulness,
their users are unlikely to adopt newer or better-marketed tools.
It is considered bad behavior forcing someone to use a specific program
to do a certain task.
That said developers like automatisation on a low and easily controllable
way.
The way considered the easiest is often writing scripts in a language like
Perl or Bash
\begin_inset Foot
collapsed true
\layout Standard
http://www.gnu.org/software/bash
\end_inset
script.
When wanting to introduce a better kind of working one has to keep in mind
this attitude towards tool usage.
\layout Subsubsection
Definition of success
\layout Standard
In order to enhance a F/OSS project I needed to know how it defines success.
As the F/OSS community works a little different from the commercial world
it is not trivial to define or work out what these measures of success
are.
\layout Standard
In
\begin_inset LatexCommand \cite{Crowston2003}
\end_inset
the authors work out draft ideas about success in traditional commercial
software and F/OSS projects.
Furthermore they do an interesting experiment by asking the question about
F/OSS success measures on Slashdot
\begin_inset Foot
collapsed true
\layout Standard
http://slashdot.org
\end_inset
, a well-known news site among F/OSS developers, and analysing the answers.
The cited paper does not claim to have found the ultimate answer to F/OSS
project's success measures and I do not so either.
However it gave me a direction and some values which underline the assumptions.
\layout Standard
Furthermore the Slashdot experiment demonstrated to me that I have to keep
in mind that parts of the success definition are inherently subjective:
It makes no sense to define external project success requirement as
\begin_inset Quotes eld
\end_inset
GNU/Linux has to reach a market share of 50% on desktop systems by the end
of 2005.
\begin_inset Quotes erd
\end_inset
when an individual developer values it as success, that he can work with
the hardware device he has just written a driver for.
\layout Standard
As you see success measurement of F/OSS project is a very interesting and
debatable topic.
However I consider going more into detail is not benefecial to my work.
From the list of measures given by Crowston et al I picked three from which
I can say that they are explicitly targetted by my approach.
The following sections will present these measures and discusses their
importance.
\layout Subsubsection*
Developer count
\layout Standard
F/OSS projects are considered open-ended.
Software as we understand today evolves and with this steady evolution
goes the need for developers who actively contribute to the project.
It should be clear that even the most dedicated amongst the participants
of a F/OSS project may leave one day to do something else.
A simple search on an online search platform for the phrase
\begin_inset Quotes eld
\end_inset
needs new maintainer
\begin_inset Quotes erd
\end_inset
will quickly reveal numerous hits to mail archives where a new maintainer
to an existing F/OSS project is requested.
\layout Standard
While actively asking for a new caretaker is one form to prevent that a
project gets dormant I will aim at getting it interesting enough that new
contributors find their way into the project before the last developer
steps out.
\layout Subsubsection*
Level of activity
\layout Standard
The level of mailing list and RCS commit activity may be considered as a
good measure of success but I suggest to be careful here: While a high
activity is hardly considered harmful a low or suspended activity should
not be equated with the project's death.
\layout Standard
As an example the gplflash
\begin_inset Foot
collapsed true
\layout Standard
http://gplflash.sf.net
\end_inset
project was left unmaintained for 4 years before a developer volunteered
and took over it's maintainership.
There is even a whole effort called Unmaintained Free Software
\begin_inset Foot
collapsed true
\layout Standard
http://www.unmaintained-free-software.org
\end_inset
whose task is to list F/OSS projects that have no active developers and
hopefully find a new caretaker for it.
\layout Standard
Even though we know learned that F/OSS projects may be reborn I will address
the level of activity as a success indicator that should be kept at a high
level.
\layout Subsubsection*
Developer satisfaction
\layout Standard
Although this measure showed up very strongly in the analysis in
\begin_inset LatexCommand \cite{Crowston2003}
\end_inset
it is in itself not definite what actually provides the satisfaction.
However out of common sense I can construct certain situations where many
will agree, that it will have a satisfying effect on the developer:
\layout Itemize
A user of the F/OSS program or library thanks it's author personally.
\layout Itemize
A developer implemented a complicated feature that finally worked the way
it was intended.
\layout Itemize
The program or library starts to serve the need it was developed for.
\layout Standard
While my approach to leveraging F/OSS development is not actively influencing
the users it will aim for giving the satisfaction of the kind of the second
and third example to the developers.
\layout Section
Introducing mediation
\layout Standard
\begin_inset Marginal
collapsed true
\layout Standard
Einführung zum Abschnitt
\end_inset
\layout Subsection
Which difficulties exist?
\layout Standard
We have seen that discussion on the mailing list are held informal and are
fundamentally different to a meeting in the commercial environment, where
it is crucial for the projects advancement to get to a concrete decision.
In F/OSS project we have the following properties:
\layout Itemize
There is no force to get to a conclusion to a certain point of time.
\layout Itemize
If none of the participant has a clever idea the discussion remains without
a result.
\layout Itemize
If opposing opinions clash upon each other and no consens can be reached
there will be no consistent result.
Furthermore there is no administration that forces to reach that conclusion.
\layout Standard
The usage of simple communication means like mailing-lists and IRC has technical
obstacles: Responds to emails may have a delay from some minutes to several
days.
In contrast to traditional (face-to-face) discussions where the memory
of the participants is generally fresh, email-based discussion bear the
risk of simply forgetting former utterances.
This even more likely when a participant follows a minor branch of the
discussion.
However it is exceptionally good that email discussions are publicly archived.
\layout Standard
Regarding IRC we will notice that statements are presented in list form.
Overlapping answers make it hard to not to lose the plot.
\layout Standard
Finally one of the major drawbacks is that at the end of the discussion
only their participants know about the conclusion.
Even if someone writes another mails summarizing the outcome this message
is buried in the archive after a few weeks.
This is especially bad for persons who join the project after the decision
is made.
\layout Subsection
The idea of mediation
\layout Standard
The goal of my process enhancement is to stem the problems mentioned above.
I therefore define a role, whose task is to be attentive in critical situations
and makes sure that valuable information does not get lost.
\layout Standard
Later I will explain which are these situations and which criterias should
be used when selecting what to record.
These ideas will be consciously left vague as variation occurs within each
project and I assume that after a certain time of familiarization it becomes
clearer what the project values as important and what not.
Finally I will present the Wiki as a system that lends itself for information
collection.
\layout Standard
In F/OSS projects it is usual that its members have a high level of freedom
to chose how they contribute.
Besides programmers people who care about the project's homepage are gladly
viewed.
It is up to the participant in how many fields he gets involved.
The mediator role will be just another remit.
\layout Standard
In other words I am simply going to add another component to the F/OSS developme
nt process.
Furthermore I will in combining familiar technology and tools to something
new, I follow a principle that is used to many F/OSS developers from the
Unix tools.
\layout Subsection
Selected tasks
\layout Standard
Within the scope of this thesis I have selected the following taks, which
appeared to me as being the most promising.
\layout Subsubsection*
Help for beginners
\layout Standard
If someone joins a project, all decision made in the past are not visible
for this person.
In efforts of great age, changing developers and high count of participant
mistakable and confusing implementations are possible.
Some design decisions may be known to the older participant as historically
justified but was never written down.
The mediation effort therefore tries to collect information for beginners,
which will make it easier for them to get used to the project and effectively
lowers the entry barrier.
\layout Subsubsection*
Achieve an overview about the project
\layout Standard
Due to the voluntary collaboration nobody can demand to have an overview
on the state of individual parts of the project.
Even the maintainer, who may traditionally be regarded as responsible for
this, is in no way obliged to be familiar with every section of the project.
It will be up to the mediation effort to scan the relevant communication
channels for specialist knowledge and developer decisions and keep this
in form of a summary: On the mailing list it is usual that developers announce
to do a certain work.
Since this commonly is not a reason for a bigger discussion such news easily
perishs and falls into oblivion.
It is then the task of the mediator to keep hold of such announcements
and update them accordingly.
\layout Subsubsection*
Support decision making
\layout Standard
Dicussions on the mailing list do not always lead to a precise result or
do not cover all possible cases of a problem.
To enhance this situation the mediator should raise a topic when these
unclarites occur and therefore aim at clarification.
\layout Subsubsection*
Raise consciousness for the mediation effort
\layout Standard
The difficulty of the mediation is largely dependent on the support of the
remaining project members.
In an ideal world a mediator would not be needed because every participant
would collect relevant information on itself.
However I regard this approach as not being able to reach consensus.
Clues in emails that someone wants a certain issue being kept would make
the mediator's job easier.
It is therefore a minor task to convey the sense of mediation and to get
the participants to interact with the mediator.
\layout Subsection
Project properties supporting the success of the mediation role
\layout Standard
The mediation effort is not applicable to every project.
Some have found different possibilities to cope with the problems or their
personal structure makes it hard to apply mediation.
In the following I present certain project properties and why their appearance
makes spurs the mediation effort.
\layout Subsubsection*
Project size/complexity
\layout Standard
The mediation effort makes sense if a software project contains multiple
modules that may evolve independently from each other.
In this situation the mediator cares for a better overview.
\layout Subsubsection*
No constraints on the choice of work
\layout Standard
The freedom to chose on what to work on is an important requirement that
most F/OSS projects provide.
What it makes interesting for mediation is that this freedom allows a developer
to leave his tracks on very distinct parts of the source code.
It is likely that he does not really understand the design of the piece
of code.
Mediation can help here by providing the decision that led to the design
of a particular module.
\layout Subsubsection*
Little formalism
\layout Standard
When I speak of formalism for F/OSS projects I mean guidelines on how to
document a discussion and whether software design papers are in use.
In the F/OSS community many project do not have this kind of formalism
or only feature a little amount of it.
Although being a quiete fast process in the beginning problems evolve at
a later point when written information would be more helpful.
This is were the mediator comes into play to distill that information from
the project's archived communication.
\layout Subsection
Related works
\layout Standard
Mediation is by far not the only idea to enhance the development process
of F/OSS projects.
This section presents other works which focus on information management
but follow a different approach.
\layout Subsubsection*
Hipikat
\layout Standard
Hipikat is an Eclipse plugin to automatically process project data from
various repositories.
It is targetted to newcomers of Java projects and was tested in the Eclipse
community.
The tool is able to read search requests and retrieves its information
from the source code repository (CVS), the issue management software (Bugzilla)
, the project's mailing-list and newsgroup.
\layout Standard
Being a good tool for it's projected goal it is not able to build a repository
of information that can be read like documentation.
As time goes by the amount of search results gets bigger and the every
user has to find out the history of the project itself.
Apart from that it is a Java application that depends on Eclipse.
Forcing F/OSS developers to use this platform conflicts with my goal to
non-intrusively enhance the development process.
\layout Subsubsection*
Kerneltraffic
\begin_inset Foot
collapsed true
\layout Standard
http://www.kerneltraffic.org
\end_inset
\layout Standard
Kerneltraffic is a project which monitors the development mailing-lists
of F/OS software projects.
The authors scan the posts for interesting events and discussions in order
to summarize the content.
These summaries are usually published on a weekly schedule and are available
in multiple data formats.
Currently kerneltraffic actively monitors the famous Linux kernel mailing
list and the developer mailing list of the Wine project.
The purpose of kerneltraffic differs largely from what the mediation effort
wants to achieve.
While the focus of the former is on publishing news, mediation is centered
on the own project solely.
\layout Subsubsection*
Kernelnewbies
\begin_inset Foot
collapsed true
\layout Standard
http://www.kernelnewbies.org
\end_inset
\layout Standard
Kernelnewbies is a whole project dedicated on teaching programmers about
operating systems kernels in a way that the participant can fix problems
in it themselves.
The project mainly focusses on the linux kernel but accepts others, too.
It features a homepage with FAQ page, a mailing list, a Wiki and an IRC
channel.
Kernelnewbies is pretty close to the mediation effort but there are some
major distinctions:
\layout Itemize
it is separated from the development project
\layout Itemize
it focusses on operating system kernel development only
\layout Itemize
it addresses new developers
\layout Subsubsection*
Linux Kernel Janitors
\begin_inset Foot
collapsed true
\layout Standard
http://www.kerneljanitors.org
\end_inset
\layout Standard
The Linux Kernel Janitors are a kind of support team for the kernel developers.
While others implement new features and drivers, the janitors clean up
the source code of older modules.
The project is meant for new developers which want to get in touch with
kernel development.
As janitors these people can do small and straightforward tasks and thereby
learn how code for the linux kernel has to be written.
Like Kernelnewbies this project focusses on new developers only and it
is not meant to build a database of development information over time.
However an interesting aspect is that this kind of mediation contains practical
work.
\layout Section
Implementing the mediator
\layout Subsection
Introduction to GNU Classpath
\layout Standard
GNU Classpath is an effort to write a clean-room implementation of the Java
class library and distribute it under a Free Software license.
The software does not work as a stand-alone product and has to be combined
with a runtime (Java virtual machine) instead.
Classpath is used in projects from classical Java virtual machines, over
bindings to other languages (.NET, Oberon, Scheme) to complete Java-based
operation systems.
The ultimate goal is that several runtimes can use Classpath out of the
box without modifying it.
\layout Standard
GNU Classpath was founded in 1998 and has about 50 developers from which
are 30 actively working on it.
The number of developers working voluntarily for the project is predominant
while others are employees of F/OSS friendly IT firms (ie.
Red Hat).
\layout Standard
A special aspect of Classpath is that it's developers are often involved
in dependent projects.
That means that their work on Classpath can be seen as a cooperation between
these projects.
The effect of this circumstance is that many different requirements are
posed towards Classpath because each project has different conditions.
\layout Subsection
Why GNU Classpath has been chosen for exemplifying mediation
\layout Standard
With its foundation being 7 years ago the project nearly promises to have
burried major design decisions in its sourcecode.
With developers changing over time the knowledge about these implementation
was lost.
Besides the age there was a big focus change from the time where GNU Classpath
supported only a single virtual machine to today's state where it is used
by around 10 different projects.
\layout Standard
From the statistics I learned that there are 20 former contributors.
This means that understanding someone else's code and intentions is getting
important for new developers.
\layout Standard
Since Java packages are usually quite independent from each other, their
development can be done without much arrangement between the contributors.
The developer may get the impression easier that explaining his intentions
when implementing a public API is not important.
\layout Subsection
Formulation of the invitation mail
\layout Standard
I decided to write an invitation mail which described the process enhancement
of mediation and how it should be applied to Classpath.
In this vein I hoped to receive feedback on my plans which could be helpful.
The invitation mail was first send to Classpath's maintainer Mark Wielaard
to make sure that the portrayed approach was understandable to anyone who
was not involved in the planning phase.
\layout Standard
I composed the invitation mail with hindsight to the circumstances described
in section\SpecialChar ~
\begin_inset LatexCommand \ref{sub:Environment-and-conditions}
\end_inset
on page\SpecialChar ~
\begin_inset LatexCommand \pageref{sub:Environment-and-conditions}
\end_inset
.
Since I could not assume that the addressee know about the usual terms
of software engineering I avoided their use.
I was prepared to receive some opposition or at least lack of understanding
and therefore clarified my intentions using examples.
Futhermore I uttered my respect to the ensuring of everyone's privacy and
made suggestion for anonymisation since there may be persons who attach
special importance to this.
\layout Standard
As I developed for GNU Classpath myself, I described problems with the project
from this perspective.
\layout Subsubsection*
Reaction Mark Wielaard I
\layout Standard
Mark Wielaard is maintainer of GNU Classpath since 2003 and his answer was
very clear in favor of the mediation effort as well as my scientific study
of this.
I was a bit surprised by this reaction and thought there will be more reservati
ons and problems of understanding with my approach.
\layout Standard
Besides his approval he told me that my assumption about voluntary work
holds for GNU Classpath.
He said he has done the first steps to bring the developers together on
a social level by creating two IRC channels.
One of them is used for developers, users and other interested persons
of GNU Classpath and GCJ
\begin_inset Foot
collapsed true
\layout Standard
A part of the GNU Compiler Collection and sister project of GNU Classpath.
\end_inset
which act as a rally point for questions and problems with the software.
\layout Subsubsection*
Reaction Andrew John Hughes (AJH)
\layout Standard
AJH has expressed positively about my plans but notes that he considers
GNU Classpath not being a regular F/OSS project with scientific or commercial
background.
In his opinion the work of the mediator is more suited to someone who does
not actively program.
Since GNU Classpath cannot accept source code from developers having seen
Sun's implementation, persons which are tainted in this regard have the
possibility to do the non-programming tasks.
He thinks of this as some kind of selection
\begin_inset Quotes eld
\end_inset
by policy
\begin_inset Quotes erd
\end_inset
although this has not been used much so far.
AJH thinks that one of Classpath's main difference to other F/OSS projects
is that it's development team does not fluctuate.
\layout Subsubsection*
Reaction Mark Wielaard II
\layout Standard
Mark answered to AJH expression and defended the position that GNU Classpath
is a rather regular F/OSS project because code acception policies are in
use at the Linux kernel and Apache Software Foundation, too.
\layout Subsubsection*
Reaction Michael Koch (MK)
\layout Standard
MK is a Classpath developer since 2002 who is known for his high quantity
of contributions and work on a wide variety of modules.
MK said that he is in favor of the mediation idea and expressed his concerns
about the problems of beginners.
In his opinion the needed information exists but cannot be found easily.
Furthermore he thinks it is hard for beginners to figure out what they
can work on.
When applying mediation MK wants to have assurance that this will not hinder
the experienced developers doing their job.
\layout Subsubsection*
Other
\layout Standard
The remaining mails dealt with the distinctive feature of having an imperative
proof of the origin of the sourcecode.
This proof was always mandatory for GNU projects but is evolving for other
projects, too.
\layout Subsection
Conclusion
\layout Standard
Despite my concerns the idea of mediation was generally accepted.
I had expected more opposition.
AJH sees less fluctuation on Classpath than on other projects, however
in __LINK!__ we learn that the successfull F/OSS projects feature a stable
core group of developers.
The points addressed by the answers gave me some hints on how to fine tune
the mediation effort.
Michael Koch's concerns to not to hinder the experienced programmers should
remember me not to send too much mails to the mailing list.
Finding a place to start was mentioned and coincendentally was my problem
too before I joined GNU Classpath.
The mediation effort should therefore not forget about this problem.
\layout Subsection
Task and procedure of Classpath's mediator
\layout Standard
The mediator wants to collate the knowledge which is spreaded on single
developers and thereby make it accessible to all of the project members.
The mediator feels responsible for this job in particular but should not
impose a restriction to modify the data collected by him.
This way another project member can change something that was misinterpreted
or needs an update on its own.
For this purpose a Wiki seems to be a viable option.
\layout Standard
In the following paragraphs I explain the mediator's work and what the benefits
of this are.
Later on I will study these guidelines in practice.
\layout Subsubsection*
Collate support and information for beginners
\layout Standard
The mediator collects data which is of importance for beginners to successfully
get familiar with the project.
Part of this information may be coding guidelines and conventions or patch
commit rules.
One can think of this data as a list of frequently asked questions (FAQ)
for new developers.
\layout Standard
In detail the mediator scans the usual communication channels for project
centered and beginner relevant information.
Questions on the mailing list asked by beginners are a good way to find
this information, too.
\layout Standard
If something interesting was found the mediator should summarize the problem
and put it into the database.
\layout Subsubsection*
Support finding a solution to unanswered and periodical recurring questions
\layout Standard
Sometimes it happens that a certain problem is addressed multiple times
by one or more persons over a longer period without getting to a conclusion.
The mediator's job is to support getting to a discussion about the problem
in order to reach an agreement.
This outcome can then be added to the database.
\layout Standard
At first identifying the recurring topics is the major task.
It is up to the mediator how he deals with that.
Sometimes it is another project member who remembers the an earlier discussion
and alludes to this in one of his answers.
Careful reading of the mailing list is therefore very important for the
task.
\layout Standard
When the topic has been identified the mediator should pose a request to
discuss the topic.
This request should suport for the addressed persons by summarizing what
the problem is and what the current conclusion is.
Links to former discussion should be added as well.
The mailing list archive can be helpful for this.
\layout Standard
After the discussion has taken place and an outcome it should be put to
the database along with a notice to the mailing list.
\layout Subsubsection*
Summarize and process decisions
\layout Standard
Dicussions on the smaller and bigger implementation problems are common
on the developer mailing list.
Sometimes bigger changes to the sourcecode have to be done in steps and
the intermediary changes are announced.
The mediator should detect such mails and put the relevant information
into the database.
\layout Standard
In detail his task is to follow discussion and remember items which were
granted agreement.
When the discussion reached the point where an outcome is clear this should
be summarized and added to the database.
With a notification in form of a mail about this new entry the other developers
can then check the validity of the summary.
\layout Subsubsection*
Maintenance of the database
\layout Standard
The base idea is that the collected data ages and may get outdated as the
development of the project goes on.
To be of use for the developers it is neccessary to keep the data up to
date.
\layout Standard
One way to do this is to pay attention to mails or IRC chats about an already
recorded topic and update the entries accordingly.
\layout Standard
However I consider it to be much better if a developer knows that there
is something written about a topic he is working on.
This way the developer can update the issue on its own when something has
changed.
\layout Standard
In order to inform the other developers about issues dealing with their
work, the mediator sends an announcement about the newly added data to
the mailing list.
As a side effect the affected persons can check whether the information
was summarized correctly and may change it if not.
\layout Subsection
Further ideas
\layout Standard
Besides the tasks presented above there are more topics which might be included
in the mediation effort.
As time for the experiment was limited I decided to let them out at first
although they might be interesting for GNU Classpath, too.
\layout Subsubsection*
Collection of long-term goals
\layout Standard
Real meetings at yearly F/OSS developer conventions are sometimes used to
discuss and make long-term plans.
By writing them down as mediation data this information can help developers
to find out where the project is heading.
\layout Subsubsection*
Evolve project's development policies
\layout Standard
Community projects with no further ties to a larger organisation have to
find their own policies regarding topics like the release interval, the
definition of a release critical bug, patch commit rules or coding style.
I think it is obvious that for such projects it is quite handy to write
these policies down to make them available for newcomers.
\layout Subsection
Guidelines for the daily work
\layout Standard
The mediator role is meant as a process enhancement which should be integrated
in an existing software development process.
To increase acceptance in the project the additional work should not hinder
the regular participants.
Furthermore the principle of voluntary work should not be undermined.
Therefore I suggest the following rules.
\layout Subsubsection*
No force on collaboration
\layout Standard
A key aspect of F/OSS projects is that members do their work and contribution
voluntarily.
Developers react in a negative way
\begin_inset LatexCommand \cite{Evers2000}
\end_inset
when they are ordered to work on a certain problem.
\layout Standard
The mediator should therefore animate the other developer to do active contribut
ions to mediation but should not enforce this.
I consider it important to write this down as part of the self-conception
of the mediator.
\layout Subsubsection*
No force to use additional software
\layout Standard
Developers in F/OSS projects have their very own belief which software they
use for a certain task.
A solution where someone is obliged to use a specific (or new) tool will
certainly be rejected.
In the presented example project the mediator will only use existing and
well-known applications and I strongly encourage this for others, too.
\layout Subsection
Dealing with problematic situations
\layout Standard
The mediator is a job that deals with people's reactions and depends largely
on their commitment.
It is likely that conflicts or problems will arise some time and the following
paragraphs present guidelines how to deal with such a situation.
\layout Subsubsection*
Lack of interest on a conclusion
\layout Standard
It is not seldom that a discussion on the mailing list ends before it has
really begun.
Sometimes people simply do not know about a topic or miss a question because
it got buried between other posts.
\layout Standard
The mediator should balance whether an unfinished discussion warrants another
request and formulate one when neccessary.
He can use the reactions on this request as an indicator whether the topic
is of general interest which should be put into the database.
If no conclusion can be reached the topic can be considered not being important.
\layout Subsubsection*
Contrary opinions until the end
\layout Standard
When discussions in technical communities can reach no consensus and the
only outcome is a solomonic answer which for instance leaves the answer
to the one who fixes the problem first.
\layout Standard
There is not much to do what the mediator can do in such a case but writing
down the problem's nature and its suboptimal solution.
\layout Subsubsection*
Subjectivity
\layout Standard
When summarizing information from mailing list posts there is always the
risk of displacing someone's opinion or presenting the circumstance improperly.
This is a problem because the summaries of discussion should be considered
as it's consens and not the mediator's personal opinion.
\layout Standard
For errors in the source code F/OSS project heavily rely on peer-review
and I see no reason why this should not work for the mediation effort as
well.
By making sure that everyone else besides the mediator has write-access
to the database the risk of recording something wrong or improper can be
reduced.
By this means the mediator's influence on the final.
\layout Subsection
Chosing the tools
\layout Standard
After the mediation idea was clearly formulated and the contact with GNU
Classpath was established the missing component was a mean to be used as
a database for the collected information.
\layout Subsubsection*
Wiki
\layout Standard
There are strong reasons to use a Wiki for the collation of mediation data:
To access the data only an internet connection and a standard web browser
is needed to bring the user in the reader as well as the editor position.
User accounts are optional and are a a mean of convenience to make it easier
to track changes thereby the administrative overhead is very low.
\layout Standard
The retrieval of old versions of a document is supported by the versioning
feature which most Wiki systems have.
\layout Standard
Finally the special Wiki formatting syntax can be learned very quickly or
can at least be imitated from the data that was already written.
For simple changes the special syntax is not even needed what makes the
Wiki usage as simple as a standard text editor.
Many developers know Wikis already because of the work done by Ward Cunningham
and Wikipedia.
\layout Standard
The ubiquitous and barrier-free editing capabilities of the Wiki turned
out to be of great help for editing the mediation data immediately after
something interesting was said on IRC.
\layout Standard
Nevertheless the Wiki system has some flaws and should be noted.
One problem is that the pages can be edited by everyone and allows them
to deface them.
We faced this problem in the beginning when several pages where filled
with Wiki spam and we had to use the history function to revert the changes.
\layout Standard
Normally Wikis are organised as a net of links between the various pages.
Applying this organisation to the mediation Wiki would have made it more
difficult to find relevant information.
I have chosen to use the Wiki as a kind of dynamic homepage and it remains
to be seen whether this style is generally accepted upon the developers.
\layout Standard
Another concern is that the data in the Wiki sometimes duplicates other
information sources like the
\begin_inset Quotes eld
\end_inset
README
\begin_inset Quotes erd
\end_inset
file, the hacking guide and the project's homepage and administration system
(Savannah).
I consider this a kind of struggle of responsibility whose outcome depends
on the project member's critics.
\layout Standard
The Wiki is a very flexible tool and can be tailored to a wide area of uses
and turns out to be handy for the basic needs of the mediation effort.
However it gets problematic when the number of articles rises.
Then there is no mean to easily group or order them alphabetically.
\layout Subsubsection*
Subdirectory inside the CVS
\layout Standard
One of my first ideas was to use a special subfolder inside the source directory
and manage a set of HTML or TexInfo files inside it.
My intention was that every developer should have a copy of the mediation
data when he checks out the sources from CVS allowing him to use it locally.
\layout Standard
However for the mediation effort the database had to suppport frequent and
small changes.
This kind of editing quickly gets tedious with CVS because its setup is
optimized for code changes: Every committed change results in a acknowledgment
mail on a special mailing list and the description of the change has to
be written into a special separate file (the
\begin_inset Quotes eld
\end_inset
ChangeLog
\begin_inset Quotes erd
\end_inset
).
\layout Standard
Another problem is that publishing the mediation data would require additional
work: The data from the repository had to be converted to HTML and then
uploaded to the project server after each change.
\layout Subsubsection*
Project management system
\layout Standard
It has to be noted that GNU Classpath is hosted by the Savane project management
system which is a fork of the Sourceforge software.
This system provides things like a bug, patch and task tracker, a mailing
list and a system to publish news.
\layout Standard
While this platform is invaluable for the technical part of F/OSS development
it does not provide a mean to support mediation.
Listing, organising and (re-)editing of small articles is not a feature
of that system.
The core problem is that the tracker facilities have too much options and
configuration options that distract the reader from the written content.
Furthermore each change to an entry would mean that another post gets attached.
That is bad because I want to be able to modify an existing article.
\layout Standard
However with some effort it would be possible to add a subset of Wiki features
into the project management software.
\layout Subsection
Implementation and problems
\layout Standard
I chose a Wiki-based system because it seemed like the most fitting but
not without looking at the alternatives.
A general introduction and criticism to the Wiki system can be found in
\begin_inset LatexCommand \cite{Cubranic2003}
\end_inset
.
\layout Standard
The F/OSS world has numerous Wiki systems and as the focus is not on finding
the best available tool (or create it myself) I decided to use MoinMoin
\begin_inset Foot
collapsed true
\layout Standard
http://moinmoin.wikiwikiweb.de/
\end_inset
for practical reasons: It features versioning and was already installed
use on the target host for a licensing
\begin_inset Foot
collapsed true
\layout Standard
http://developer.classpath.org/licensing
\end_inset
discussion.
\layout Subsubsection*
Structure
\layout Standard
The initial structure of the Wiki was designed to use a small number of
single pages in order to minimize the spread of information.
The main page linked to pages describing mediation and the mediation Wiki.
Another three pages were used to list articles which are called issues,
to the following topics:
\layout Itemize
information for beginners
\layout Itemize
developer decisions
\layout Itemize
current development topics
\layout Subsubsection*
Overview
\layout Standard
In order to find an issue a macro of the MoinMoin Wiki was used that creates
a table of contents on each page.
The entries consist of the issue titles and link to their respective issue.
\layout Subsubsection*
Search capability
\layout Standard
With MoinMoin it is not possible to implement a search capability that searches
the content of the issues.
However it features a general search function that simply scans the pages.
\layout Subsubsection*
Form capability
\layout Standard
The issues have a fixed format and it would have been nice to use some kind
of form based input system for it.
While this feature is not present in MoinMoin other Wiki systems like TWiki
\begin_inset Foot
collapsed true
\layout Standard
http://www.twiki.org
\end_inset
have it.
\layout Subsubsection*
Cross-linking
\layout Standard
In each issue's body text I embedded links to the sources of relevant informatio
n and each issue has a field for references where I placed links that deal
with the topic or problem.
Usually these links point to Classpath' mailing list archive or to various
places on the web where technical information is kept.
\layout Subsubsection*
Variability
\layout Standard
The look and the used fields of the issues are not strictly defined.
In the beginning the issues had more fields for administrative data but
I soon considered them dispensable because their impaired the ease of use.
Although I did not receive critics on the layout of the issues the editing
hints for the medation Wiki asked exactly for that.
\layout Subsection
Announcement
\layout Standard
The official announcement of the Wiki was done on January 16th 2005 using
[[http://projects.mi.fu-berlin.de/w/bin/view/SE/ThesisFOSSIMList#Ank_ndigung][this
]] mail.
At this time the base structure of the Wiki was ready: It contained some
issues, a page that described editing in the mediation Wiki and another
one that dealt with the goals and uses of the mediation effort.
In this state working with the Wiki was possible.
\layout Section
The mediation manual
\layout Standard
So far the mediation effort was only Classpath-specific and had no chance
of being transfered to other projects.
To reach this goal I wrote the mediation manual as a set of project-independent
guidelines.
In a question and answer style I provided the basic ideas of mediation
and how it is supposed to work in a F/OSS project.
\layout Standard
Since the manual was supposed to be presented to other project members I
kept the number of pages low and focussed on quickly getting to the main
practical aspects of mediation.
\layout Standard
I directed the manual towards project members as well as people who do not
have such an afilliation.
In order to publish the mediation manual I sent an announcement to the
development mailing lists of several F/OSS projects.
\layout Subsection
Announcement I
\layout Standard
In this paragraph I portray my experience with the announcement of the mediation
manual using the developer mailing lists of free software projects.
\layout Subsubsection
Procedure
\layout Standard
I wrote a small mail
\begin_inset Note
collapsed true
\layout Standard
referenz auf anhang
\end_inset
that contains a small presentation of the topic, a link to the mediation
manual and several ways to contact me.
Around 50 projects
\begin_inset Note
collapsed true
\layout Standard
projektliste in den anhang
\end_inset
from Sourceforge have been selected by looking which of them met the following
criterias:
\layout Itemize
Project is in alpha or beta state.
\newline
Sourceforge allows projects to classify their development state (planning,
alpha, beta, mature, ..).
I chose the alpha and beta states because these are projects where sourcecode
is present as opposed to projects in the planning state.
\layout Itemize
At least 3 or more members.
\newline
Having 3 or more members makes sure that a certain amount of communication
between the developers is needed.
\layout Itemize
Being founded before January 2004
\begin_inset Foot
collapsed true
\layout Standard
At the time of this writing this meant 12 months ago.
\end_inset
.
\newline
By requiring a minimum age I want to make it more likely that the project
created a certain amount of historical data.
Having experienced 12 months of development is a reasonable amount of time
for a project to evolve.
\layout Itemize
At least one release between 2003 and 2005.
\newline
As the interest is on projects which are alive the existence of an release
makes it more likely that someone is still actively working on it.
\layout Subsubsection
Reactions
\layout Standard
The first reactions afters sending my announcement came from 20 mailing
list servers which forbade me to send mails withouth being registered.
However such systems allow that the list moderator manually permits the
mail to go on the list.
I hoped that most moderators took a senseful decision since I had no bad
intentions.
In the end 12 list moderators allowed the mail to pass while 8 mails where
lost and another 30 reached their target without any problems at all.
\layout Standard
The human answers turned out mostly good.
There where 3 developers who said being interested and sent me a number
of syntactical and grammatical corrections.
\layout Standard
The maintainer of wxGlade told me that he thinks that mediation is a good
idea but regrets that his project has no stable members and he cannot take
another role for his project.
\layout Standard
A developer of the Syllable operating system effort told me that two people
in the project are doing something that is comparable to mediation.
Hereupon I contacted him to get to know more about this work.
I will present his answers below.
A little discussion went on in the PearPC project whose outcome I present
below as well.
\layout Standard
The NHibernate project rated the mediation approach as not being very helpful.
However they considered using a Wiki because it seemed to be a good idea
for them.
\layout Standard
There where two less friendly reactions: One of them complained about the
manual expects having set white as the default background color and another
one found my well-meant mediation manual announcement worse than spam.
\layout Subsubsection*
Communication with Brent P.
Newhall from Syllable
\layout Standard
Brent Newhall is a developer of the Syllable project which aims to write
an easy to use desktop operating system.
As Newhall told me he and Michael Saunders are doing something comparable
to mediation I got interested and asked him questions about this work.
\layout Standard
I thereby got to know that he is doing the medation role voluntarily and
without any special decision of the core developer team which he does additiona
lly to his programming work.
\layout Standard
Newhalls work consists mainly in the writing of a system documentation for
the operating system.
This documentation is predominantly directed at the user and not meant
for project internal discussion.
Newhall writes the documentation in a Wiki at whereas he accepts comments
and changes from other people, too.
The results of this work are available online
\begin_inset Foot
collapsed true
\layout Standard
http://www.other-space.com/sub
\end_inset
.
The work done by Newhall is not exactly mediation but he does a part of
it: His documentation describes system programming with Syllable which
obviusly lowers the entry barrier for new developers.
\layout Standard
Newhall mainly receives feedback for his work from the project's mailinglist.
Besides helpful suggestions he sometimes receives documentation contributions
and a few mails from beginners who told him that his work made it easier
for them to get into the project's details.
\layout Standard
I asked Newhall about the time the work consumes and he estimated, that
he spends several hours per week with fixing the documentation.
\layout Standard
Finally I wanted to know how ardous he thinks this work is.
In his opinion this was a nonsensical question because he thinks that the
level of difficulty depends on a person's previous knowledge.
He told me that he is a documentation writer by trade and thereby it is
easy for him to do this work for the Syllable project.
However he thinks that there are a lot of programmers which will find this
a difficult task.
\layout Standard
I asked Newhall about the work done by Saunders and found out that he is
writing developer mailing list summaries similar to the one made by Kerneltraff
ic.
Saunders selects interesting discussions of the last month and comments
their content.
If the mail contains a request to participate he caters on this and forwards
it to his readers.
The results of his work are put on his homepage
\begin_inset Foot
collapsed true
\layout Standard
http://msa.section.me.uk/sdn
\end_inset
.
\layout Subsubsection*
Reactions of the PearcPC developers
\layout Standard
From the PearPC project I received the answer that mediation may be very
helpful to them because they see a big discrepancy between the knowledge
of their developers and their users.
I got to know that they have been some small attempts to document the current
state of development using a forum thread and a Wiki.
However the developers enganged with this work suffered from lack of time
whereby its slowed down.
In the end the PearPC team likes the idea of having the development process
documented but their volunteers lack of time and new ones have not been
found.
\layout Subsection
Conclusion
\layout Standard
Measured by the number of mails I send I had expected more reactions.
However the answers I got are mostly positive and the idea of mediation
was presented to a bigger public without any noteworthy opposition.
The ones who have read my manual now know about the idea of a mediator
for F/OSS projects and I count this as a success.
\layout Section
Analysis of the practical implementation
\layout Standard
Nearing the end of my study I wanted to receive feedback from the developers
of GNU Classpath towards mediation in order to analyse my work.
I therefore framed a questionnaire which had to be filled out online using
the phpESP
\begin_inset Foot
collapsed true
\layout Standard
http://phpesp.sourceforge.net
\end_inset
software.
\layout Standard
The survey aims at finding out the developers' thoughts about mediation
as a theoretical concept as well as its actual implementation which I have
done.
An important aspect of the questionnaire is to have comparable result.
Most questions therefore offer 5 fixed answers constituting the varying
degrees of agreement.
However in order to get more detailed insight about the developer's attitude
a number of questions have to be answered with free text.
\layout Standard
The survey's questions have been divided into the following categories:
\layout Itemize
Knowledge of the developer about the mediation effort.
\layout Itemize
Valuation of the mediator practical work.
\layout Itemize
Self-assessment of the developer's participation.
\layout Itemize
Valuation of the mediation Wiki and the topics chosen.
\layout Subsection
Results
\layout Standard
The questions about the understanding and knowledge about the mediation
effort revealed that while a majority is quite well informed what it is
but only a narrow majority knows how to support the mediator.
Consequently only a few developers expressed that they know how to do mediation
themselves.
\layout Standard
The free text section showed that their is a big disparity between well-informed
developers and others who do not know anything about mediation.
The extreme cases formulate as such:
\layout Quote
\begin_inset Quotes eld
\end_inset
I believe Classpath developers have been kept fairly well informed.
\begin_inset Quotes erd
\end_inset
\layout Standard
The exact opposite manifests itself simply with this words:
\layout Quote
\begin_inset Quotes eld
\end_inset
I don't know what it is
\begin_inset Quotes erd
\end_inset
.
\layout Standard
A possible answer to why this happened gives the following response:
\layout Quote
\begin_inset Quotes eld
\end_inset
I think I missed the introduction of this effort (because of absence)".
\layout Standard
Most developers agreed that mediation helps solving problems and that it
is necessary when a software project reaches a certain level of complexity.
In conformance with these answers most developers found that the time spend
on mediation was not lost to programming.
However when it comes to active contributions byte the developers itself
there is only a slight majority which thinks that this would be a good
idea.
\layout Standard
As the current form of medation aimed at helping and involving developers
only thr respondents expressed their wish to have less technical weekly
news and information resources targetted at end users.
\layout Standard
A bit disillusioned where the results of the participation questions: More
than half of the respondents had never written a new issue, edited an existing
one, answered mediation related questionn or posed a proposal for a new
topic.
\layout Standard
The usage of the wikie was generally appreciated positively.
Though a slight discomfort was measurable because of its the less optimal
search mechanism.
A proposal named usingh a WebDAV repository for mediation because it it
has better search capabilities.
Clear encouragement got the decision to have no discussions in the Wiki.
\layout Standard
The final category of questions, a valuation of the mediation topics, brought
some interesting ideas: While no one complained about the chosen topics
the free text answers demonstrated that there is a need to extend the mediation
work.
Respondendt who want to extend the target audience asnwered like this:
\layout Quote
\begin_inset Quotes eld
\end_inset
I think we could do a better job at engaging the non-technical audience
that's willing to help, [...].
\begin_inset Quotes erd
\end_inset
\layout Standard
Others expressed the wish to integrate other forms of data:
\layout Quote
\begin_inset Quotes eld
\end_inset
It would have been fine if the mediator had more agressively added the task
list, faq, vm integration guide and GNU Classpath Hacker Guide into the
mediation effort
\begin_inset Quotes erd
\end_inset
\layout Standard
or
\layout Quote
\begin_inset Quotes eld
\end_inset
Overall architecture, who's working on what, who needs what sort of help,
licensing FAQ, schedule and priorities.
\begin_inset Quotes erd
\end_inset
\layout Section
Conclusion and perspective
\layout Standard
The practical expirement showed me that there was much less resistence than
expected.
Instead the answers of the survey reinforce that mediation is beneficial
for the project, that it helps new and long-established developers and
that it does no harm to the development process.
Furthermore Classpath's members wish to broaden the scope of the mediation
effort that it covers a wider audience and more topics.
\layout Standard
However some developers have not been informed well about mediation and
I therefore plan to reannounce the effort along with some requested changes.
The aim is to make sure that every developer knows about mediation and
how to support it.
\layout Standard
The Wiki proved to be a practical all-purpose tool that worked well for
the mediation effort.
To overcome the less optimal search function an integration with the project
hosting software might be an interesting option.
\layout Standard
My initial design of the issue layout was more complicated: It contained
more fields of mandatory information which became hard to maintain for
the daily work.
\layout Standard
Contrary to my expectations it was less often needed to start discussions
on controversial topics.
A good source for new issues where explicit requests on the mailing list
or discussions on IRC.
\layout Standard
By participating in GNU Classpath's development I taught myself how to use
certain tools (e.g.
GNU M4, Autotools).
Theses studies where necessary to work as a team more effectively.
Mediation can only help here by showing newcomers what applications should
be mastered.
\layout Standard
The following incident made more limits of mediation visible: At one point
I had to compile and install a snapshot version of the GCC compiler suite
and test its Java features.
How to solve the small problems that evolve when doing this for the first
time should be learned by experience.
IRC proved to be a good mean to receive answers and practical help quickly
from more experienced developers.
\layout Standard
With the mediation manual a project independent set of guidelines have been
written.
While I received mostly positive feedback about it, a practical test is
still outstanding.
Furthermore it might be interesting to integrate similar approaches like
the kernel janitors, mentors or summary writers to the mediation effort
or consider mediation right from the beginning of a F/OSS project.
\layout Section
\start_of_appendix
Invitation mail for GNU Classpath
\layout Standard
Hi fellow GNU Classpath developers,
\layout Standard
for some time now I am participating in this project fixing bugs and adding
functionality mainly to the java.beans package.
Despite my good knowledge of the Java language, participation in development
communities and especially the GNU community, is virgin soil to me.
As a result I sensed a steep learning curve when I started helping Classpath.
In the last weeks I found myself asking a lot of questions on topics which
I think are common knowledge for a fair amount of you.
\layout Standard
The problematic cases range from specific tool usage over project plans
to general policies.
I know there is a lot of tool documentation on the net and a hacking guide
for Classpath which is enough for the fundamental stuff like CVS usage
or coding guidelines but what I think is still left untouched are questions
like:
\layout Itemize
What is the outcome of discussions?
\layout Itemize
Whom can I ask directly for specific questions?
\layout Itemize
What is the general direction of the project? (or: What is considered old
stuff which should be avoided in favour to newer decisions?)
\layout Standard
Ideas on making this situation better with the intent to make the project
participation more enjoyful circled in my head and found their way on a
sheet of paper.
It was clear to me that the realization of this would need a dedicated
effort which cannot be burdened onto someone's shoulders without intrinsic
motivation.
\layout Standard
After all I am a computer science student who got recently interested in
software engineering and was seeking a topic for his semester thesis.
I approached the SE group at my department in order to do an academic work
around my initial ideas and got positive reponse.
\layout Standard
Now I`d like to ask you if you welcome my effort to enhance our project
and use the experiences gained from that for academic work.
\layout Standard
The following paragraphs describe the planned enhancements (Criticism and
comments are welcome):
\layout Standard
My basic assumption is that the development process of an unstructured Free
software project should be enhanced by non-invasive methods: Any means
that make the developer's participation work less comfortable should be
avoided.
Academic projects with similar goals as mine have largely relied on producing
tools which did not get adopted.
In contrast to that my approach is based around a role that I call 'mediator'.
\layout Standard
In short the mediator's goal in a F/OSS project is to take care that no
idea is lost.
To be more specific these are some of the things the mediator should do:
\layout Itemize
Collect information about project member's interests (e.g.
package responsibility).
\layout Itemize
Remind of certain events: release, urgent documentation updates, long-term
goals.
\layout Itemize
Keep an eye on the project documentation and guides.
\layout Itemize
Be an active guide for newcomers.
\layout Itemize
Dig up or re-introduce ideas which otherwise would get lost in mailing-list
conversations.
\layout Itemize
Write down the results of decisions and ToDo items.
\layout Standard
It should be noted that I consider that some of these tasks require a lot
of sensitiveness.
A bad formulated ToDo list entry or project decision can lead to unfriendly
and heated debate.
Furthermore the mediator does not have any higher privileges: Changes to
every recorded statement can be made by each project member and the mediator
does not make decision, but rather collects them.
\layout Standard
The usual work of the mediator will consist of an in-depth study of the
mailing-list (archive) but also other communication channels like Classpath's
blog area and IRC.
Apart from that he stays in touch with the other members and updates the
respective documents.
The initial effort will be on collecting the existing and upcoming data
and finding a suitable way to organize it.
\layout Standard
The duration of my thesis is limited to 3 months.
At the end of this time we can look at the results of my work and poll
whether to continue it or not.
\layout Standard
I hope this introduction gave you enough information to get a picture of
what I want to do.
As stated above criticism and comments are welcome.
\layout Standard
Privacy: I respect everyone's privacy but its likely that I will take quotes
for my thesis from the mailing-lists (which is already publicly archived)
and perhaps from IRC conversations.
In the latter case I will address the involved persons and anonymize their
statements if they want me to do that.
\layout Section
Announcement mail of the mediation Wiki
\layout Standard
Hi,
\layout Standard
the last days I have been entering data for a Wiki on developer.classpath.org/medi
ation .
This place is going to supplement the Hacker's guide, the mailing list
and the homepage (FAQ) by providing useful information about developer
decisions.
Another whole page deals with issues that might be interesting to new hackers
on GNU Classpath.
\layout Standard
The Wiki is the most visible part of a work I call mediation.
It has a page that explains this work and its aims in detail: http://developer.c
lasspath.org/mediation/MediationMissionPage
\layout Standard
There are no obligations on you attached to this work.
Involvement is encouraged and appreciated but not enforced.
The mission page has more details about this.
\layout Standard
If you have questions to anything of the above feel free to ask.
\layout Standard
cu Robert
\layout Section
Mediation Manual
\layout Standard
This short manual presents a small set of guidelines for Free and Open Source
(FOSS) projects that should lead to a better perceived liveliness and progress.
It targets programmers, maintainers and persons currently not involved
in a project but willing to participate.
The ideas presented here are no rocket-science and you decide on your own
how much of it you want to adopt.
The general idea is to have a special person - called mediator - who manages
and takes care of the project's informations.
\layout Subsection*
Motivation
\layout Standard
In Autumn 2004 I joined the GNU Classpath
\begin_inset Foot
collapsed true
\layout Standard
http://gnu.org/software/classpath
\end_inset
project which is a free implementation of the Java class library.
I have a good knowledge in Java and already sent patches to a few free
software projects but was never involved in such an undertaking like Classpath.
\layout Standard
The project exists since 1998 and has a large amount of source code and
numerous developers helped the effort so it was a bit hard for me to get
into the game.
A major stopper was that I did not know about the project's future plans,
where work was needed and what design decisions have been made in the past.
Additionally I found it unsatisfying asking questions which the next developer
joining after me will ask again.
\layout Standard
Soon I started thinking about a way to tackle this problem and how other
projects as well could profit from my considerations.
The result of that work is presented here.
\layout Subsection*
How do I know that a mediator is a good idea for my project?
\layout Standard
If your project has one of the following problems then a mediator might
be the right person to add to your project:
\layout Itemize
Only a small number of new developers are able to become members of the
project because of the complexity of the codebase and their lack of understandi
ng of the project's state.
\layout Itemize
Active development is hindered because programmers do not really know what
their peers are working on and how the puzzle parts fit together.
\layout Itemize
Certain topics are discussed once in a while but no progress seems to take
place in their regard.
\layout Itemize
Lots of stuff was done, lots of stuff has still to be done but no one knows
how far each and every piece has gotten and where it would be good to get
started.
\layout Subsection*
Why would I want to solve these problems?
\layout Standard
The declared goal is to minimize these problems because such a situation
can kill the members' motivation to invest time for their voluntary work.
A developer may feel the work as cumbersome and then loses interest.
The mediator is going to help the project to cope with these problems.
\layout Subsection*
Why do you call the role "mediator"?
\layout Standard
The term mediator is normally used in the context of conflict resolution
and means the person who manages a conflict between affected parties.
In the context of FOSS projects the conflict to manage is that certain
persons have special knowledge or insight while others do not.
My position is that it would be better for both parties if the knowledge
gets more widespread.
\layout Subsection*
Alright, so what is the mediator all about?
\layout Standard
The mediator in a Free and Open Source Software project watches the communicatio
n inside a project and compiles the most essential bits and pieces into
a concise form.
This means that the mediator pays attention to mails and discussions on
IRC even if he is not involved or directly affected by these.
\layout Standard
An important aspect of his daily work is to look out for unfinished discussions
or unanswered questions.
Besides that the mediator should apply the 'newbie developer view' to find
out what could be important for him.
Finally finding out disparities like the big plan that comes up every there
and then but was never done is a good trait.
\layout Subsection*
Can you be more specific about what the mediator could actually do?
\layout Subsubsection*
Watch discussions
\layout Standard
Discussions that are held on mailing-lists are the ideal source for information
that should be recorded.
A mediator should watch all of them and decide which are relevant to be
recorded.
When the final word was spoken and a result is clear he should summarize
the outcome and make it publicly available (for instance on a Wiki).
\newline
It is a good idea to allow comments and modifications on the summaries because
it is likely that somebody does not like the way it was written down.
If a new discussion about the same topic arises it should be clear that
the summary has to be updated.
\layout Subsubsection*
Find out when the same question is asked frequently
\layout Standard
Recurring questions from users as well as fellow developers (especially
newcomers) are no anomaly these days.
What you could learn from them is that they indicate an informational gap
that should be closed.
If the question has not been answered satisfactory the mediator should
look up relevant information from earlier discussions, write a question
to the mailing list that displays the problem and its current state.
If a result can be achieved that should be summarized and made public by
the mediator.
\layout Subsubsection*
Identify information that is relevant for newbies
\layout Standard
In order to make it easier for new developers the mediator should look out
for information on coding guidelines or style and commit policies.
Ideally these should be available in form of a file in the project folder
as many projects do already.
This way anyone working on the code has the style guidelines at hand.
\layout Standard
Besides this the mediator should look out for implementation pitfalls like
documentation that speaks contrarily to what is done in reality.
The mediator should explain which variant is the right one and how one
is supposed to cope with the problem.
\layout Standard
In long-living projects it's likely that it carries a legacy because of
an earlier design decision.
Maybe there are two internal APIs having the same functionality and it's
not clear for newcomers how to handle this.
The best thing would be to deprecate and remove one of them but this is
sometimes not (yet) possible and in the meantime new developers should
be at least aware of the problem.
Again that is something the mediator should look out for and describe the
problem in a public summary.
\layout Subsubsection*
Find out fellow developers wishes
\layout Standard
By reading emails of developers thoroughly you can often spot indications
of wishes.
These are sometimes expressed when someone fixed a problem but is not 100%
comfortable with the current solution.
The mediator should pay special attention to these utterances and get in
contact with the developer to find out whether this aspect is important
enough to get recorded.
After the mediator made the idea publicly available others can review and/or
tackle the problem.
\layout Subsection*
Ok, but what about difficulties when doing the mediating?
\layout Standard
It's clear that when interacting with people things do not always go round
as easily as it should.
There could be the problem that the mediator does not receive a real answer.
If there is a lack of answers the topic might no be that relevant and the
mediator should drop it.
Then it's possible that the developers reach no compromise.
In this case the mediator might summarize the opinions instead of a concise
outcome.
\layout Standard
Another problem is that a technical question might be to demanding for the
mediator.
In this case he should simply publish a draft summary and present it to
the developers who know the topic better.
If it's wrong there will be complaints and if it is too shallow others
will ask for more information which the mediator can then add to reinforce
the draft summary.
\layout Subsection*
Can you give some practical examples for something a mediator has done?
\layout Standard
Here are examples from the mediator's work at the GNU Classpath project.
\layout Subsubsection*
Recurring question that was made available for newcomers afterwards
\layout Standard
A developer who had seen the source code of Sun's Java class library is
considered tainted and cannot work on the code in GNU Classpath because
of the risk of copyright infringement claims.
The FAQ contains a short entry that tells this but there was no other source
of information.
Newcomers asked whether they are tainted and if so what they could do instead
of coding.
\layout Standard
In one case a developer was already waiting for a definitive answer for
about three months before he reminded the team of the issue.
The mediator then send a mail, stating the problem (''What is a tainted
developer allowed to work on'') and containing answers from earlier mails
found in the archive, to the list.
The topic was then discussed again and a comprehensive outcome was available
later.
The mediator then put a summary of the discussion in the Wiki.
\layout Subsubsection*
Coding style disparity that was found and added to the newcomer's information
\layout Standard
While working on the code the mediator noticed documentation tags which
where not documented in the FAQ or the developer guidelines.
At first the mediator used the tags as they seemed to be used without questioni
ng their meaning.
However after a while he found out that the tags are used differently depending
on who edited a certain file.
The situation was unclear and so he posed a question to the mailing-list.
Although two developers answered the outcome was still not definite because
they uttered contradictory.
Nevertheless the mediator added a summary about the outcome of the discussion
and put it in the Wiki.
A few days later one of the developers had read that summary and complained
about its content.
After having had a small discussion on IRC with both developers the remaining
bits could be solved and the summary was updated.
\layout Subsection*
How much time does it require to be a mediator?
\layout Standard
The person adopting this role decides on his own how much time is invested.
It should be no fulltime job although the beginning might be an exception.
The mediator should be supported by his fellow developers who provide him
with information, answer questions and tell him occasionaly what is important
information that should be recorded.
\layout Subsection*
Why do you think the mediator should use a Wiki?
\layout Standard
A Wiki is a really simple and powerful tool: It is to learn how to edit
and everyone has equal rights when doing it.
It can be used from nearly all Internet-connected computers and you get
a version management for free.
Finally if the current mediator leaves, somebody else can take up the work,
without any need for new passwords etc.
\layout Subsection*
How can I take action?
\layout Standard
It depends on your status: If you are a maintainer or core developer you
probably have enough work to do so that you do not want to take the mediator
role yourself.
That means you should find someone who want this job by filling a request
form, adding a note to your project page or simply asking on your mailing
list.
\layout Standard
You should think about the technical requirements like installing a Wiki.
Maybe you do not like a Wiki and instead use something else (e.g.
letting mediator work on HTML pages in the repository).
\layout Standard
Additionally the mediator should get to know where the important information
will appear.
Most projects use mailing lists but some have a Wiki instead, others rely
heavily on IRC talk.
\layout Standard
However if you are not yet involved with a project but would like to be
then tell the projects maintainer or core group that you are willing to
contribute as a mediator.
Pointing them to this manual or using it as a base for your invitation
mail is a good idea.
\layout Subsection*
Are there any project characteristics that make it likely that a mediator
will work?
\layout Subsubsection*
A team of voluntary developers and a big amount of sourcecode.
\layout Standard
The project should be typically community driven in contrast to enterprise
driven.
The latter might be more resistant against using what the mediator provides
them.
Besides that the mediator's effort is hindered if the project members have
real-life meetings to make a design decision where he cannot attend.
Projects led by one developer are problematic because there is no communication
between team members which the mediator could improve.
\layout Subsubsection*
Settled design phase.
\layout Standard
The history of the project should be long enough that design decisions are
burrowed in the code.
Furthermore due to developer fluctuation certain parts of the project may
decay or bitrot because no one knows how these are done or understands
them any more after certain developers left.
Such a situation provides the informational gap which can be closed by
the mediator.
\layout Subsection*
References for the Mediation Manual
\layout Itemize
Visit GNU Classpath's mediation Wiki
\begin_inset Foot
collapsed true
\layout Standard
http://developer.classpath.org/mediation
\end_inset
.
\layout Itemize
The Linux kernel spawned several interesting projects which share the mediation
idea:
\newline
Kernel Janitors
\begin_inset Foot
collapsed true
\layout Standard
http://www.kerneljanitors.org
\end_inset
, Kerneltraffic
\begin_inset Foot
collapsed true
\layout Standard
http://kerneltraffic.org/kernel-traffic/latest.html
\end_inset
, Kernelnewbies
\begin_inset Foot
collapsed true
\layout Standard
http://kernelnewbies.org
\end_inset
\layout Itemize
A janitor effort
\begin_inset Foot
collapsed true
\layout Standard
http://www.inkscape.org/cgi-bin/wiki.pl?InkscapeJanitors
\end_inset
for Inkscape
\layout Standard
This work (the mediation manual) is licensed under a Attribution-ShareAlike-Crea
tive Commons License
\begin_inset Foot
collapsed true
\layout Standard
http://creativecommons.org/licenses/by-sa/2.0
\end_inset
.
\layout Section
Announcement template for mediation manual
\layout Standard
Dear %projectname% developers,
\layout Standard
I wrote some guidelines that should help FOSS projects getting more lively
and lowering the barrier for new developers to join.
You can find them in form of a small manual here http://projects.mi.fu-berlin.de/w
/bin/view/SE/ThesisFOSSIMMediationManual.
\layout Standard
These ideas are the result of work for my bachelor thesis and have been
used successfully at the GNU Classpath project.
If the topic is of interest to you, I would be happy to receive criticism
and comments concerning the manual or the general idea.
\layout Standard
For further discussion I have set up a mailing-list (use http://lists.spline.inf.fu
-berlin.de/mailman/listinfo/mediation_manual to subscribe or mediation_manual@lis
ts.spline.inf.fu-berlin.de to post unsubscribed).
Please send your feedback to this list but if you have reasons to contact
me directly then just reply to this mail.
In case you answer to your project's mailing list please CC me.
\layout Standard
Best regards
\layout Standard
Robert Schuster
\layout Section
Survey
\layout Enumerate
How long have you been working on GNU Classpath?
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
Less than a year
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
Less than two years
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
More than two years
\end_inset
|
\begin_inset Text
\layout Standard
72.7%
\end_inset
|
\begin_inset Text
\layout Standard
8
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
I know what the mediation effort is about.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
45.5%
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
I know how to support the mediator.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
I know how to do the mediation work myself.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
In which way could I have been informed better about the mediator and the
mediation effort?
\begin_deeper
\layout Itemize
\begin_inset Quotes eld
\end_inset
don't know, I think I missed the introduction of this effort (because of
absence).
Maybe this is the only thing that I could have needed.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I believe that as Classpath developers have been kept fairly well informed
of the mediation effort.
Notifications of the progress with this task have appeared on the Classpath
mailing list, and the meditation wiki, developed as part of this, has been
regularly updated.
The latter has proved invaluable for keeping track of current development
tasks and opinions, especially when it is not always possible to regularly
check through other less organized mediums such as IRC or the mailing list.
It is also extremely benefical to have a permanent record of such, and
to be able to direct people to this system for further help.
It also ensures that information is not lost, which seems to have been
the case before, with conversations frequently being effectively re-run
on the mailing list.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I don't know what this is.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I haven't had time to contribute to Classpath lately; I saw the email thread
about mediation and I would refer to that in the online archives if I were
planning on contributing something again that might need mediation
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I'm not actively contributing to classpath at this time, so it would help
if I read everything on the mailing list.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
It works seamlessly and well, so that I think it fulfills its role veryu
nicely.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Perhaps same status reports from time to time sent to the mailinglist.
E.g.
with access statistics for the mediation wiki.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
weekly or bi-weekly updates to the mailinglist on what was summarized/added.
(Regular, but not too often!)
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Enumerate
Mediation helps to solve problems which emerge because work on free software
projects is unconstrained (eg.
no force to code every day, no force to read all mails on the list, ...).
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
45.5%
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Mediation is necessary when a project reaches a certain level of complexity
(eg.
number of developers, age or amount of source code).
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
The time consumed on mediation should be better spend on programming.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Every developer of the project should actively contribute to the mediation
effort (eg.
add information on his/her current work and its state of affairs).
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Mediation results in a data base that will be very helpful for the project
in the future.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Thanks to the data collected by the mediation effort I have a better overview
about the work in progress.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
The additional questions asked by the mediator add noise to the mailinglist.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
54.5%
\end_inset
|
\begin_inset Text
\layout Standard
6
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Mediation helps new developers.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
72.7%
\end_inset
|
\begin_inset Text
\layout Standard
8
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Mediation helps long-established developers.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
63.6%
\end_inset
|
\begin_inset Text
\layout Standard
7
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Other projects should have a mediator following the example of GNU Classpath.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
54.5%
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Who could also benefit from mediation who has not been targetted yet?
\begin_deeper
\layout Itemize
\begin_inset Quotes eld
\end_inset
Engaging users to participate into building the knowledge pool, which would
matter more for non-developer-oriented projects.
GNU Classpath (and the associated runtimes) are a little special as they
target as rather specific group of users and developers with a high degree
of technical expertise, but I think that the expereince with the mediation
effort shows that even in such an envorinment the social interaction aspects
of the collaborative work can be improved by .having someone look after
loose ends, and trying to help drive conversations to conclusions.
For engaging end-users, something like 'GNU Classpath Weekly News' would
be an interesting project to get the nice work done within the GNU Classpath
family of runtimes exposed and presented towards a larger, less technical-orien
ted audience.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I don't know.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I think I don't understand the question right? Does 'Who' mean, 'Which other
projects'? Then I think I don't have much overview of the internals of
other projects...
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I think the current process already covers most roles.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
The newcomer is able to find resources to get them sorted, which (most important
ly) are easy to update, allowing this to be done on a regular basis.
The traditional static webpages for Classpath tend to not see this.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Infrequent developers can quickly become acquainted with current developments.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Regular developers can get a quick insight into what others are doing, and
co-ordinate efficiently.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
The active users of GNU classpath, the VM implementors are not really targeted.
They are involved but just because they are involved in GNU classpath itself.
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Enumerate
In order to be an attractive idea for other projects, which things should
the mediator do in a different way?
\begin_deeper
\layout Itemize
\begin_inset Quotes eld
\end_inset
don't know
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
For GNU Classpath we already had an irc channel and blog aggregator/planet.
I think setting up these kind of "social" infrastructures will help for
other projects.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I can't really say.
I've been doing similar work on Kaffe when I started out, and having a
good mediator is very useful for getting a good grass-roots community going.
It is less of a classical management role, than helping the herd of cats
help manage themselves :)
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I don't know.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I think the current process is appropriate for GNU Classpath.
It may not be directly adaptable to another project, due to certain nuances
within the existing development process.
That said, the overall concept and most of what has been achieved here
can be easily transplanted.
It would be interesting to see how mediation deals with a larger developer
base, a different rate of development, etc.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
More powerful search mechanisms.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
The mediator should have more intensive contact with the people and be more
active.
Currently the mediation work in GNU classpath is pretty passive.
He watches mailinglists and IRC and updates the mediation Wiki.
When more in contact with the people I think it will help even more because
the problems can be better digged up.
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Enumerate
How many new issues have you written for the wiki?
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
None
\end_inset
|
\begin_inset Text
\layout Standard
72.7%
\end_inset
|
\begin_inset Text
\layout Standard
8
\end_inset
|
\begin_inset Text
\layout Standard
One
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
Two
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
Three
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
More than three
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
20.
How often have you edited an existing issue in the wiki?
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
None
\end_inset
|
\begin_inset Text
\layout Standard
54.5%
\end_inset
|
\begin_inset Text
\layout Standard
6
\end_inset
|
\begin_inset Text
\layout Standard
One
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
Two
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
Three
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
More than three
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
How often have you answered questions posed by the mediator when he was
gathering information for an issue?
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
None
\end_inset
|
\begin_inset Text
\layout Standard
63.6%
\end_inset
|
\begin_inset Text
\layout Standard
7
\end_inset
|
\begin_inset Text
\layout Standard
One
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
Two
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
Three
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
More than three
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
How often did you came up with the suggestion to add something to the wiki?
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
None
\end_inset
|
\begin_inset Text
\layout Standard
72.7%
\end_inset
|
\begin_inset Text
\layout Standard
8
\end_inset
|
\begin_inset Text
\layout Standard
One
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
Two
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
Three
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
More than three
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
What keeps you from dealing with the mediator and his work?
\begin_deeper
\layout Itemize
\begin_inset Quotes eld
\end_inset
don't know, nothing special probably
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
He mostly just picks up the things that are interesting already.
He is doing it as a volunteer and doesn't need guiding.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I'm not sure what the mediator is or why I'd need it.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
It's not a very high priority for me as yet.
\begin_inset Quotes eld
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Kaffe.org keeps me busy all the time :(
\begin_inset Quotes eld
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
My coding emphasis shifted away from having time on Classpath before the
mediation efforts started
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Nothing.
The mediator is a very good and needed service.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Simply time, and that my own contributions to the project have been infrequent
since the beginning of this year (due to an academic project I'm working
on).
As I work more on Classpath, no doubt my contributions will increase.
There is no problem with the actual process of doing so other than this.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Too little time and lazyness.
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Enumerate
Chosing a wiki for the collation of data was an appropriate decision.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
45.5%
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
45.5%
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
9.1%
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Locating certain information from the mediation wiki is easy.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
The decision to keep the wiki free of discussions is appropiate.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
45.5%
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
27.3%
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Which technology would you prefer instead of a wiki and why?
\begin_deeper
\layout Itemize
\begin_inset Quotes eld
\end_inset
A WebDAV repository, preferably with autoversioning.
It would make it easier to search and store different types of content.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Having started to use a wiki for one of my own academic projects in about
the same time period, I can definately see the advantages of using a wiki
and find it a very appropriate medium for this process.
With traditional web pages, there is an inherent deterrent to adding material,
in that the person who wants to make the changes has to work out how to
access and upload a new version, as well as needing to know how to edit
the existing HTML.
The wiki removes these restrictions and means that, if someone has an idea,
they can simply go and add it to the wiki with little fuss.
I also second the idea of not putting discussion on the wiki; there are
already appropriate conduits in place for this (IRC, the mailing list)
and the wiki is then clearer for new developers and interested parties.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I don't know.
1 I think a wiki does a pretty good job of providing a flexible structure
to work with.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I think a Wiki is very good for mediation work.
With a wiki several people can contribute easily and make the life of the
mediator more easy.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
The Wiki was nice since it allowed others to participate.
But the Wiki didn't really have a "wiki-nature" the pages were a bit long
at times.
More issues could have been split up into their own separate pages.
That would have made it easier to point someone at just one issue.
Currently some subissues have horribly long URLs.
On the other hand that might have scattered the data too much and wouldn't
have given a broad overview.
Some more experimentation with the form would be nice.
But the current wiki is nice because it can be adapted easily to other
forms or representing or breaking up the issues.
\begin_inset Quotes eld
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Wiki is perfect.
I have also used this in other projects and think that Wikis are perfectly
suited for bringing together distributed teams.
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Enumerate
The topics currently managed (developer decisions, first steps, current
issues) have been chosen reasonably.
\begin_deeper
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
I strongly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly disagree
\end_inset
|
\begin_inset Text
\layout Standard
0%
\end_inset
|
\begin_inset Text
\layout Standard
0
\end_inset
|
\begin_inset Text
\layout Standard
I weakly agree
\end_inset
|
\begin_inset Text
\layout Standard
18.2%
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
I strongly agree
\end_inset
|
\begin_inset Text
\layout Standard
45.5%
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
I don't know
\end_inset
|
\begin_inset Text
\layout Standard
36.4%
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\end_inset
\end_deeper
\layout Enumerate
Which additional mediation related topics should be managed?
\begin_deeper
\layout Itemize
\begin_inset Quotes eld
\end_inset
I don't know ATM.
Such things should be decided on demand.
At the moment it is ok as it is.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I don't know.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I think this is an appropriate set, giving that less dynamic topics are
already covered by the static web page (news items and events, etc.) These
three adequately deal with previous discussions, newcomers and keeping
abreast of developments, respectively.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
I'd love to contribute a 'from bug to bug report and patch submission' step
by step guide for Kaffe to the wiki when I have time to finish one, and
a list of 'other things you can do to help'.
I think we could do a better job at engaging the non-technical audience
that's willing to help, but doesn't know how yet, for example by providing
a consistent narrative for the existance of free runtimes and their advantages
over non-free ones.
I get asked that one a lot :)
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
It would have been fine if the mediator had more agressively added the task
list, faq, vm integration guide and GNU Classpath Hacker Guide into the
mediation effort.
But I only missed a good integration with the task list.
Current issues only showed what was being worked on.
But not really what should be worked on if someone had time and volunteered
to do it.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Most people starting GNU classpath have problems with installing and how
to choose a VM suitable for their GNU classpath version (release or --cvs).
There should be some more detailed instructions in how to install GNU classpath
with the VMs that support using a standalong version of GNU classpath.
And it should be descibed which VMs don`t support this, have their own
copy of GNU classpath and why.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Overall architecture, who's working on what, who needs what sort of help,
licensing FAQ, schedule and priorities
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Enumerate
This space is for suggestions, notes on the survey and/or your answers.
\begin_deeper
\layout Itemize
\begin_inset Quotes eld
\end_inset
I'm sorry that this survey was kind of a bust for me but I don't really
know what the mediation pages are or what they're for.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Mainly an excellent job is being done.
I did note that the odd item on the wiki had not been updated since its
initial introduction (locales and generics spring to mind, as areas I've
worked on), although the mediator is not necessarily to blame for this.
I guess there is still some way to go until developers are used to documenting
what is said and done more fully.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
None so far.
\begin_inset Quotes erd
\end_inset
\layout Itemize
\begin_inset Quotes eld
\end_inset
Thanks for doing this.
It really was got to get some things "on paper" which I believe have helped
some people quickly get an overview and start with the GNU Classpath project
(and community).
You showed a good style by subjectively writing about the different subjects
that we discussed in the project.
And I never had the feeling that you took 'sides' on some issue.
Maybe that comes naturally to you, but it was really appreciated.
\begin_inset Quotes erd
\end_inset
\end_deeper
\layout Standard
\begin_inset LatexCommand \BibTeX[bibtotoc,alpha]{/home/rob/office/StA/studienarbeit}
\end_inset
\the_end