casey@gauss.llnl.gov (Casey Leedom) (02/20/90)
I received 38 responses to my poll request concerning a separate
contributed software set. All except one were resounding YESes. The one
exception was a qualified maybe. The author liked the idea of much more
strict guidelines for contributed software but added that he hadn't had
much real trouble with the contributed software.
In any case, I've decided to handle an Independent Contributed Software
Distribution. Before I start the process I'd like to put out a Request
For Comments (as it were) on my DRAFT mission statement and requirements
specification document. Once everyone's had a chance to voice their
opinions, I'll announce a call for contributed software.
It should be noted that I really don't want to do this, but I was
stupid enough to open my mouth about this and no one else seems to be
inclined to do the work. (sigh) Hopefully someone will take over for the
next distribution.
Casey
-----
The following is a DRAFT contributed software mission statement and
requirements specification document for the X Window System Independent
Contributed Software Distribution. Please send all comments and
suggestions regarding this document to Casey Leedom (casey@gauss.llnl.gov).
The deadline for comments is March 5, 1990 (I will announce a call for
contributed software on that date and post the final working copy of this
requirements document at that time.)
-----
X Window System
Independent Contributed Software Distribution
Mission Statement
and
Requirements Specification
Missions Statement:
-------------------
The mission of the X Window System Independent Contributed Software
Distribution is to provide a distribution of high quality contributed
software for the X Window System.
In the past contributed software has been distributed with the release
of new versions of the X Window System with disastrous results. Because
contributed software authors were rarely able to compile their software
against the new version of the X Window System their software was to be
released with, the contributed software quite often failed to compile or
operated incorrectly when attempts were made to compile it with the new
version of the X Window System.
Another typical problem with the contributed software has been a very
uneven level of quality in terms of ease of installation and
documentation.
The Independent Contributed Software Distribution attempts to solve
these two problems in two ways:
1. Collection of software for the Independent Contributed Software
Distribution will not start until some time *after* distribution
of new versions of the X Window System. The period of ``some
time'' being defined somewhat ambiguously as the point when most
of the major problems (if any) seem to have been shaken out of
the new release of the X Window System and authors will have had
time to get their software working with that new release. In
practice, this period will probably be something on the order of
one to two months.
The period for collection will purposely be kept quite short
(about one month seems to be right) in order to get the software
to users as quickly as possible and avoid (as much as possible)
interactions with official patches from MIT to the new release of
the X Window System.
2. Requirements for contributed software will be extremely strict --
some would claim almost draconian. Any software that doesn't
pass the well documented standards for the Independent Contributed
Software Distribution will be rejected.
End users don't have the time to invest in spending large amounts
of time trying to get software working; time that the program
authors should have invested in making their software easier to
configure and install. It makes no sense at all to distribute
software which requires hundreds of end users hours of grief when
the author should have done the work once.
Requirements Specification:
---------------------------
Contributed software which doesn't fulfill *ALL* of the following
criteria will be rejected:
1. Must have an Imakefile (or Imakefiles where appropriate). The
resulting Makefile should have targets for "all", "install",
"install.man", "install.ln", "clean", "depend", "lint",
"Makefile" and "Makefiles". It is permissible for any of these
rules to be empty.
2. Must have a manual page (or pages where appropriate).
3. Must include a top level README file which briefly describes
what the software is, what software and hardware resources
are needed, and how to get started configuring and installing
the software.
4. Must include an AUTHOR file which describes who donated the
software and information necessary to contact that person with
bug reports etc. An email address is strongly encouraged.
5. Must include a COPYRIGHT file which describes exactly what the
end users' rights to use and redistribute the software are. The
copyright must give the Independent Contributed Software
Distribution unlimited rights for redistribution. The copyright
should limit the authors liability for their own good. (A
copyright will apply to the distribution as a whole which limits
the liability of the Independent Contributed Software
Distribution.)
6. Must not require the installer to edit more than the Imakefile and
maximally one other configuration file to configure and install
the software. All such editing must be at least mentioned in the
README file (if a system is complex, it is acknowledged that a
separate file describing configuration options may be desirable).
7. If software only depends on the core X11 distribution software
and has no special hardware requirements, the software must pass
a test of all of the above rules:
% more README
% (Possible edit of Imakefile and maximally one other
file for configuration purposes.)
% xmkmf
% make depend
% make lint
% make clean
% make
% make install install.man install.ln
% make clean
If the software fails to pass this test, a rejection form letter
will be sent to the AUTHOR with a copy of the error output. The
rejection form letter will state in no uncertain terms that the
Independent Contributed Software Distribution is *NOT* in the
business of testing author's programs and doesn't like having to.
Thus it's bad manners to submit software which doesn't pass this
test.