I'd like to give an answer since I am not and IBM employee, and actually work at
a University-based non-profit organization.
On 02/07/2012 11:01 PM, maxj07 wrote:
Hi,
I am a phd student of Peking University. My interest is to
investigate hybrid projects (open source and backed by companies), e.g,
how it affects volunteers compared to the beginning open and free world.
I studied Geronimo through its log files in SVN, issue reports in Issue
Tracker, emailing-lists and information all over Internet, found some
interesting results, also have a couple of questions, hope any of you
wouldn't mind reading and answering.
Geronimo seems to go through two periods since is was born in 2003
a)Period1: 2003.08-2005.04, open source period
b)Period2: 2005.08-2010.08, hybrid with IBM's support, IBM provide
Expert Technical Support for Geronimo
If I'm wrong, please correct me.
1) It seems that Geronimo gets less external developers after IBM's
support -- I identified external developers through the committer list
on Apache website
(committers not from IBM are regarded as external developers. See
http://people.apache.org/committers-by-project.html#geronimo).
Is that because a new protocol requires a long process to get commit
privilege? Or, people just simply didn't like any commercial companies
getting involved therefore ran away? E.g, Similar case in JBoss: "There
had been rumors
swirling about various people leaving JBoss after its acquisition by Red
Hat, including Marc Fleury." (See
http://www.theserverside.com/discussions/thread.tss?thread_id=43410)
From the outside, it looks like the internal and external developers who are
committers have ongoing momentum in working towards specific milestones. It is
difficult for non-committers to get onto the bandwagon for working on the same
milestones.
Those who are not paid by their employer to improve the general viability of
Geronimo may only be able, or have time, to target specific items that prevent
Geronimo from being usable for them or their employer.
Without an easy and widely-usable software application, the community will find
it difficult to gain adoption from new users. Without new users, the community
will end up having fewer people contributing - I believe this is a sensible
attribution.
The ones you term the IBM developers, are all working towards specific core
goals at this time, like OSGI compatibility, which is definitely the way the
industry needs to go. But, as of today, OSGI is not necessary to publish a
general web application for general web user usage. Only us few hard-core geeks
see the value and want to use it - though one day it will be necessary. Some,
like me, will argue OSGI is long overdue for the industry.
Because the IBM developers are working on core goals, there are few magical
touches and cosmetic lights (like the neon sign) that attract new users in the
same way a bug light attracts bugs. And because the core goals are being worked
towards, it is difficult to put the extra magic into the cosmetics until that is
done. OSGI needs some cosmetics, for example, to make it "look" attractive to
external users who may have no idea what it is.
The result is new potential contributors (non-IBM employees), which will have
only limited time to contribute, understand less of what is under the hood, and
as a result are not able to easily get involved.
Once us external non-committers get involved, we don't see any reason why IBM's
resource investment would cause Geronimo to be less desirable as a product.
Though, IBM's resources are probably focused towards specific advancement in
Geronimo the company is interested in. But then again, this is the same for my
employer which wants me to focus on one specific part of Geronimo to make it
usable for it. So that seems like a normal happening. And they go together, for
without one, the other may not happen. That is without IBM's continuing
investment, my employer may not want to be involved.
I also observed that JBoss showed the similar phenomena after RedHat
stepped
in. I suppose commercial involvement might hurt people in open source to
some extent, I wonder what it is.
Geronimo and JBoss projects probably would benefit from evangelizers who can
help gain broader adoption and show off value.
The corporate involvement in the OSS projects is to advance the functionality
for the corporate entity's use. This benefits the project greatly, but there are
no resources put into evangelizing what is created (a.k.a. Marketing).
I think this is the detachment.
Imagine taking the marketing department out of a typical software company, and
ask the developers to promote their software project while also developing the
software. For one, the developers are too busy developing.
My employer does not want to pay me to market Geronimo to outside interests..
they want me to develop Geronimo into a usable product for their immediate use.
2) However, I found Geronimo developers stay shorter after IBM supported
it.
I am very curious about two things:
(i) Only 2 out of 20 developers left before IBM supporting, why are so
few developers leave and so many developers stick to this Open Source
project at that time? Did those developers come from the same company or
work in the same location?
Probably at the beginning there was a lot of "marketing" for the project. And
just like start-ups, a lot of people want to be a part of it.... for the
short-term. Turn over in start-up companies is high.
People like me get started at the beginning, but later their employer moves them
on to other more immediate issues. But I did come back!
(ii) Whether most of the active contributers were recruited to support
the community after IBM's support? So IBM would decide who is assigned
to work on Geronimo and how long they would stay in the project?
This has to do with the start-up syndrome. IBM is committed to the development
of Geronimo, so they invest their people into the project long-term. Other
companies may not have the same level of commitment. And all the other
independent individuals were a part of Geronimo during the initial start-up.
Once Geronimo got off the ground, the hype fizzled.
Those individuals who are left, and which are not IBM employees like me, still
have employers with some level of interest in using Geronimo for the long-term.
3) People always say one big advantage of OSS is to have a big amount of
users reporting issues therefore help improve quality. During 2005 to
2008, right when IBM began to support Geronimo, there was an big
increase of users(saying 5 to nearly 20 users per month) reporting
issues. However, I found a decrease (dropped to around 10 user-reporters
per month) since the end of 2007. So I wonder what happened to the
community since then? Is there a new way faster to report issues? Or is
that because IBM restrict the usage of JIRA so as to ensure the issue
quality, such as it requires users to first ask in maillist then in
JIRA?
JIRA is not restricted.
Probably two factors.
(1) While Geronimo was still being developed, and working through its growth to
super-stability, lots of issues could be reported. And this still is the case as
we work from one milestone to the next.
(2) The committers can typically use jira issues to track modification to the
code. Every subversion commit likely has an associated JIRA that documents the
code change.
So the fluctuation you see is because of continued development being tracked in
JIRAs, and an increase in stability of the base code.
I think it can be said that, for a typical user, if it works, they typically
will not want to spend the effort entering a JIRA to address anything that is
not a show-stopper for them.
I also found developers are the majority of issue reporters, not only in
Geronimo but also in JBoss nowdays. I was wondering, is that because
JIRA is more for developers now (users are in maillist or forum or smth
like this)? Or, developers are required to report before jumping into
fixing/changing code?
The later. See previous.
I believe what Geronimo is doing has great implications for software
engineering, e.g, how to build a better community, what are the best
practices to attract participators. I would greatly appreciate any
comments you might have.
I think everyone in the community today has a personal interest in the
advancement of Geronimo that goes beyond their employer. However, Geronimo is
software used by technical people, and we contribute what we do best which is
code and documentation.
If you know of how to get non-technical people (who may not have a clue what
Geronimo is) involved who can donate their time to improve the community's
general image, increase broader adoption, and increase Geronimo's marketing
efforts, please share.
Best Regards,
Xiujuan Ma (马秀娟)
Ph.D Candidate
Institute of Software
School of Electronics Engineering& Computer Science
Peking University
Beijing, 100871, P.R.China
Tel:010-62757801
Email:[email protected]
Thanks for your interest.
-RG