This is a proposal for how it might be possible to organise ongoing support for the AstroGrid software without the overhead and inevitable inertia of a permanent organisation. When complete it will be submitted to AGLI for consideration.
AstroGrid Software Foundation (AGSF)
Draft Only
Contents:
Introduction
AstroGrid (AG) is a project whose prime goal is to develop and deploy software which will deliver a working
Virtual Observatory (VObs) to UK astronomers. For an introduction to the VObs vision and the
AstroGrid project, see:
The
AstroGrid project was initiated in September 2001 with PPARC e-Science grants and was due to complete in December 2004; it has since been extended another three years to December 2007. Regardless of this extension and any others that might eventuate, the project will finish and the people employed on it move to other jobs. What then will happen to the software? This paper proposes an approach to continuing the support and development of the
AstroGrid software.
Executive Summary
Preliminary Argument
What are the usual solutions to providing ongoing support and maintenance of software developed under academic grants? It seems to me there are three common solutions:
- forget it
- the software authors move on to completely different things;
- the tools are placed on a server somewhere and persist until the server is retired
- no changes are ever made to the tools and so soon are out of date and unused
- author maintained
- the author(s) are keen to keep the tools in use so make them available
- minor updates are made by the authors in their own time
- major updates are only done if the author is employed on a project which wants that update
- organisation maintained
- the software is put under the control of (or may have been developed by) a software department like StarLink? (5)
- the department determines the need for updates (usually based on some feedback from the user community) and undertakes them
- the department makes the tools available on its web sites
The problems with the first two are obvious: the software does not get maintained or not on a regular basis:
AstroGrid software is too large and complex to be maintained on such an
ad hoc basis anyway. The problems with the third and the reasons I would not like to see
AstroGrid software follow this approach are discussed below.
Organisational problems
The problem with the
organisation maintained solution are less obvious but more damaging to the cause of academic software.
The first is to do with any IT support department (and I've worked in and managed a good many). Any such department will have as its prime stated goal the support and maintenance of software. But the
real goal is to get bigger. Departments are managed by people and people measure their status by how many staff they have and how big their budget is: whatever the organisational goals may state and whatever metrics are imposed on them.
The second is the problem of ownership. Such a department will not willingly retire one of its own products if a better one is produced by another group. They will, instead, come up with justifications for why their product must be maintained and why more money is needed to make it better than the other group's product.
A third is that the department is simply the wrong group to determine its own priorities. And whatever surveys it undertakes to determine user priorities, it will always interpret those priorities as requiring more staff and a higher budget.
End result
I could probably cite more problems but the end result is always a moribund and bloated organisation whose priorities are not those of the community it serves and a suite of software products that are feature-rich but usefulness-poor which the community feels obliged to use because so much of its money is spent on them.
This is a harsh judgment and is not meant to single out Starlink but is common to any IT department that has existed for some time and is in any way 'protected' from the normal market forces (ie, in commerce, is not a profit centre and in academia, does not compete in the project-based grant process).
Proposed solution for AstroGrid
My proposed solution for the support and maintenance of
AstroGrid software is to create an open sourced based support mechanism which has no fixed institutional component, no permanent members and no directly funded staff. So how can this work? Before setting out this approach, let me first outline two of the models on which it is based.
Models
This idea is based on a couple of tried, tested and trusted models:
- the Apache Software Foundation (3), and
- the Eclipse Foundation (4).
Apache Software Foundation
from the site:
The Apache Software Foundation exists to provide organizational, legal, and financial support for the Apache open-source software projects. Formerly known as the Apache Group, the Foundation has been incorporated as a membership-based, not-for-profit corporation in order to ensure that the Apache projects continue to exist beyond the participation of individual volunteers, to enable contributions of intellectual property and funds on a sound basis, and to provide a vehicle for limiting legal exposure while participating in open-source software projects.
The Apache Software Foundation is a membership-based, non-profit corporation. Individuals who have demonstrated a commitment to collaborative open-source software development, through sustained participation and contributions within the Foundation's projects, are eligible for membership in the ASF. An individual is awarded membership after nomination and approval by a majority of the existing ASF members. Thus, the ASF is governed by the community it most directly serves -- the people collaborating within its projects.
The ASF members periodically elect a Board of Directors to manage the organizational affairs of the Foundation, as accorded by the ASF Bylaws. The Board, in turn, appoints a number of officers to oversee the day-to-day operations of the Foundation. A number of public records of our operation are made available to the community.
...
The Foundation is a collaborative project of the ASF. Our goal is to build and sustain the literal foundation upon which our open-source software projects are based. Like the other projects, we will need help to achieve this goal, and several groups have already contributed their time and effort to good effect. However, it is often difficult to find volunteers to perform the essential grunge work behind the scenes. We are in the process of putting together a support organization, using funds contributed by the Apache community, that will provide the administrative assistance needed to keep the projects moving at full steam.
The ASF is organised into projects:
| HTTP Server |
Commonly known as Apache httpd |
| Ant |
Java-based build tool |
| APR |
The Apache Portable Runtime |
| Avalon |
Framework and components for Java applications |
| Cocoon |
XML publishing framework |
| Commons |
Reusable libraries and components |
| DB |
Database access |
| Incubator |
Shepherd for new projects |
| Jakarta |
Server-side Java |
| James |
Java Apache Mail Enterprise Server |
| Maven |
Java Project Management and Comprehension Tools |
| Perl |
Dynamic websites using Perl |
| PHP |
Server-side, HTML embedded scripting language |
| TCL |
Dynamic websites using TCL |
| Web Services |
Web Services |
| XML |
XML solutions focused on the web |
| Conferences |
Meetings of developers and users |
| Foundation |
Administration and infrastructure management |
Eclipse Foundation
from the site:
Eclipse is an open platform for tool integration built by an open community of tool providers. Operating under a open source paradigm, with a common public license that provides royalty free source code and world wide redistribution rights, the eclipse platform provides tool developers with ultimate flexibility and control over their software technology.
Eclipse has formed an independent open eco-system around royalty-free technology and a universal platform for tools integration. Eclipse based tools give developers freedom of choice in a multi-language, multi-platform, multi-vendor environment. Eclipse provides a plug-in based framework that makes it easier to create, integrate and utilize software tools, saving time and money. By collaborating and exploiting core integration technology, tool producers can leverage platform reuse and concentrate on core competencies to create new development technology. The Eclipse Platform is written in the Java language and comes with extensive plug-in construction toolkits and examples. It has already been deployed on a range of development workstations including Linux, QNX, OSx and Windows based systems. A full description of the Eclipse community and white papers documenting the design and use of the Eclipse Platform are available at
http://www.eclipse.org.
The Eclipse Foundation is a non-profit corporation formed to advance the creation, evolution, promotion, and support of the Eclipse Platform and to cultivate both an open source community and an ecosystem of complementary products, capabilities, and services.
You can learn more about the structure and mission of the Eclipse Foundation by reading the
formal documents that establish how the foundation operates, and by reading the
press release announcing the creation of the independent organization.
from the press release:
The Eclipse Board of Stewards today announced Eclipse’s reorganization into a not-for-profit corporation. Originally a consortium that formed when IBM released the Eclipse Platform into Open Source, Eclipse is now an independent body that will drive the platform’s evolution to benefit the providers of software development offerings and end-users. All technology and source code provided to this fast-growing ecosystem will remain openly available and royalty-free.
With this change, a full-time Eclipse management organization is being established to engage with commercial developers and consumers, academic and research institutions, standards bodies, tool interoperability groups and individual developers, plus coordinate Open Source projects. To maintain a reliable and accessible development roadmap, a set of councils–Requirements, Architecture and Planning–will guide the development done by Eclipse Open Source projects. With the support of over 50 member companies, Eclipse already hosts 4 major Open Source projects that include 19 subprojects.
To oversee and staff this new management organization, Eclipse has established a Board of Directors drawn from four classes of membership: Strategic Developers, Strategic Consumers, Add-in Providers and Open Source project leaders. Strategic
Developers and Strategic Consumers hold seats on this Board, as do representatives elected by Add-in Providers and Open Source project leaders. Strategic Developers, Strategic Consumers and Add-in Providers contribute annual dues. The founding Strategic Developers and Strategic Consumers are Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP and Serena Software.
And the projects (which encompass 19 subprojects):
The Eclipse Project -
The Eclipse Project is an open source software development project
dedicated to providing a robust, full-featured, commercial-quality, industry
platform for the development of highly integrated tools. The mission of
the Eclipse Project is to adapt and evolve the eclipse technology to meet
the needs of the eclipse tool building community and its users, so that
the vision of eclipse as an industry platform is realized.
The Eclipse Tools Project -
The project provides a focal point for diverse tool builders to ensure the
creation of best of breed tools for the Eclipse Platform. The mission of
Eclipse Tools Project is to foster the creation of a wide variety of tools
for the Eclipse Platform. The Tools project provides single point of coordination
for open source tool developers in order to minimize overlap and duplication,
ensure maximum sharing and creation of common components, and promote seamless
interoperability between diverse types of tools. The Eclipse Tools Project
will use its experience in developing tools for eclipse as a source of technical
input and feedback for the Eclipse Project.
The Eclipse Technology Project -
The mission of the Eclipse Technology Project is to provide new channels
for open source developers, researchers, academics and educators to participate
in the on-going evolution of Eclipse. It is organized as three related project
streams, namely Research, Incubators and Education. Research projects explore
research issues in Eclipse-relevant domains such as programming languages,
tools, and development environments. Incubators are small, informally structured
projects which add new capabilities to the Eclipse software base. Education
projects focus on the development of educational materials, teaching aids
and courseware.
AstroGrid Software Foundation
Counter Arguments
Conclusion
References
(1)
AstroGrid Vision:
http://wiki.astrogrid.org/bin/view/Agdoc/ArchVision
(2)
AstroGrid Overview:
http://wiki.astrogrid.org/bin/view/Agdoc/ArchOverview
(3) The main Apache site is at
http://www.apache.org and details of the Apache Software Foundation at
http://www.apache.org/foundation/
(4) The main Eclipse site is at
http://www.eclipse.org and details of the Eclipse Foundation at
http://www.eclipse.org/org/index.html
(5) Starlink home page is at
http://www.starlink.rl.ac.uk/
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
()
--
TonyLinde - 09 Mar 2004