15-10-2012, 04:25 PM
How can Academic Software Research and Open Source Software
Development help each other
How can Academic Software.pdf (Size: 129.02 KB / Downloads: 41)
Abstract
In this paper we discuss a few issues faced in
coordinating, managing and implementing academic
software research projects and suggest how some of
these issues can be addressed by adopting tools and
processes form Open Source Software Development.
At the same time we also discuss how a few issues in
Open Source Software Development (OSSD) projects
can be addressed by adopting processes from
Academic Research.
Introduction
Academic Software research has made substantive
contributions in varying degrees for the growth of
Software and Technology in diverse areas like data
mining, bioinformatics, astronomy, natural language
processing, medicine and others. With the wide
spread of internet, many universities and researchers
are working on collaborative projects from
geographically distant areas. A typical example is
the Universal Digital Library [10] project where
universities and researchers from India, China, and
United States are collaborating on massive
distributed sub-projects. However, characteristics of
academic research like rapid prototyping, less
documentation, frequent inflow and outflow of
members (graduate students and researchers) of the
project though useful and productive in collocated
projects, are beginning to create concerns in the
academic community as the projects scale and move
into geographically distributed environments. The
characteristics of academic research mentioned
above are essentially deviations from the
conventional software engineering practices and it is
worth to investigate different paradigms of software
development and imbibe processes and practices into
the software development cycle in academic research
in order to address these issues.
Academic Software Research
Academic Software Research is a team based activity
in which students or researchers in Academic
institutions involve themselves in building large
scale software systems with the guidance of a faculty
member or senior researchers. These projects are
mostly funded and usually managed by a single
institution including various other departments in
it .With the advent and extensive use of internet for
software development, the scenario is changing and
projects are now involving groups from globally
distributed institutions. However, to make
development easier these projects are always divided
into sub problems and the researchers are allowed to
pick the problem that they are interested in. As a
result a single person or a small group gets to work
on each of the sub problems identified.
Academic Research helps OSSD
In this section let us look at how we can attempt to
solve some of the issues of Open Source Software
development mentioned in section 3. We feel that a
significant portion of the issues mentioned arise due
to the fact that as projects scale in size like the
Apache and Mozilla, it becomes extremely difficult
for a new comer to join any of the non user
communities [3]. As a result there is a huge gap
between the experts in that community and the new
comers. We feel that the way academic research
solves this issue can be helpful to the Open Source
Software Development and we also feel that
adopting this does not violate the characteristics of
Open Source Software Development.
In Academic Research whenever a new comer
comes into the project he looks for people who can
teach him and these are often the senior researchers
or faculty in that project. In OSSD there has been
activity in the mailing lists which creates an
asynchronous mode of learning. But since code
developers are mostly involved in other activities
most of the questions are left unanswered. So,
bringing in the notion of a community of teaching
assistants would solve this problem to a considerable
extent. Among many motivations for which
developers work on OSS projects fame, fun and
learning are a few. A good way of learning is by
teaching. The members in such a “teaching
community” would be people who are in OSSD just
for learning and are self-motivated and willing to
teach what they have learnt. The result of growth of
such a community would make the non-developers
more knowledgeable and also creates a way for more
users to join the developer community which is good
for further progress in the project.
Conclusion
We have tried to raise issues in Academic Software
Research and suggested that they can be addressed
by adopting from OSSD tools for development and
collaboration and processes and methodologies like
“peer reviews” and community development. We
also discussed issues in OSSD and suggested a
“teaching community” as a possible solution for
some of the issues.