2009/3/22 Hayden, Katherine M. <KHayden(a)bennington.edu>:
Hi Michael, Max and Karsten,
I've read through this mailing list and spoken with Yaakov on IRC already
about contributing to this project over the summer.
Yup.
We went through some basic interview questions and left off with
this
request from Yaakov:
"The application itself, as you've read on the wiki, is going to look
for original analysis ideas. Last summer, i tried to get a student for
another data analysis project to contribute, but that failed. I had
asked him to put together a few mockups, and the only code i received
in the end was a CSS stylesheet that matched the mockups. Instead, i
would like you to focus on the the following.
What kind of data is important for us to be looking at. You're going
to collect data from mailing lists, wikis, version control systems,
message boards, irc channels, and other possible sources of input.
What kind of data is important and what is chaff?"
These are my thoughts on the above.
>From reading through the EKG mailing list archives, it seems that everyone
agrees that EKG's focus is, as Michael put it:
1) To learn about projects people are interested in and have strong
communities around
2) To learn which projects could use more help on the community side and to
point to other projects they could look to as examples
To look for projects that have strong communities we have to decide how we
evaluate a community and decide whether it's strong or not. Is that
defined by having a lot of members on the mailing list? What if 75% of the
mailing list members never contribute? Or maybe it's the frequency of a
project's discussion on IRC. Or the amount of quality documentation?
It could be a number of factors, but we're looking at a few primary ones.
The biggest one is where is most of the contributions coming from, and
what does the breakdown look like over time? Are they all coming from
Red Hat or IBM? or is it a healthy mix of multiple organisations and
private contributers? How many contributers from each org do we have?
Is the project dominated by one or two 'heros' or is there a very
broad contribution?
Using multiple sources for a project, where is there contribution? Do
most of the mailing list members also contribute code? Do they send
patches over the ML or is there a lot of access to
git/svn/cvs/whatever? Does higher mailing list traffic correlate to
higher numbers of commits? Higher numbers by one or two people?
On related projects, where has the development shifted? For example,
oVirt, KVM, Xen and libvirt are all related. Is there a shift of
people from Xen to KVM that follows the current market conditions? How
active is Xen after Red Hat bought Qumranet, etc..
Plus we have room for alot more things. We're not expecting to have
all these questions answered right away, especially not in just two
months of development. Ideally, Max and i are reevaluating our
priorities once every 2-4 weeks, based on what we can do, and what is
needed most at the moment.
Here are some data I think are work collecting:
Breakdown of members
Mailing lists:
Number of posts (on it's own and/or discounted by number of members)
Average time between an original post and a follow-up post
Average number of times a user posts. Also the ranges: most and least posts
by a user. Could do box plots
Good ideas, we haven't thought of these yet.
Number of joins/leaves in a month (or whatever greater time slice
you
select)
Currently that data is not made available on all mailing lists. We
would have to figure out some extensions to what we have, although i
think it should be possible.
And what's already incorporated:
Total number of members
Members by email
IRC:
A graph of the number of users on over a 24 hour period
Average number of users on at any given time
Length of time a user spends on channel for a given session
If we didn't mind keeping track of users:
Length of time a user spends on channel in a month (or whatever greater time
slice you select)
The frequency of new users
Number of posts (posts might be the wrong terminology here, would ims be
better?)
Average time between an original post and a follow-up post
Average number of times a user posts. Also the ranges: most and least posts
by a user. Could do box plots
Not all IRC channels keep publicly available logs. While users are
free to log things, publically publishing details are one of those
things that's on shaky ethical ground. (Does IRC count as a temporal
discussion such as a phone call, or a more permanent discussion such
as by mail?) The typical freenode response is don't publish without a
really good reason. It's preferable to only publish excerpts when
duely expected and mentioned, such as lessons given in
#fedora-classroom.
Noteable exceptions are channels like #haskell where the channel is as
much as a learning aid as anything else.
Since our results have to be reprodueable i'm not 100% sure we want to
include IRC stats in this just yet.
Version control systems:
Number of commits
Time since last commit
Wikis:
Number of page visits
Length of average visit
This information, like IRC, might be kept private for various reasons.
Number of wiki edits
This is a more important statistic to us.
Message boards:
Number of threads, replies, views
Same as wiki applies here.
What are your critiques/feedback? Is that what you were looking for
Yaakov?
For a summer project, this seems like it could be quite time
consuming. Looking on my own count, i've just spent the past 3 hours
debugging a parser for just one mailman instance. You only have two
months, although we would love for you to continue contributing after
the project. What i think is most important is to pick a scope,
perhaps a certain kind of analysis that you want to focus on, and is
relevant to your studies in school for your proposal, and we can
evaluate from there.
Like max mentioned in his response in that we tried to pick a general
purpose architecture for many different kinds of sources of
information. What is most relevant at the moment is the kinds of
analysis we can do, because any good general purpose algorithm can be
extended to any good general purpose design.
-Yaakov