[Developers] What we need in ADMB
Arni Magnusson
arnima at hafro.is
Thu Jun 17 19:55:27 PDT 2010
Good point Mark, this opens a new and exciting chapter for the ADMB
Project. I have created a new Plone directory,
http://admb-project.org/community/libraries
containing Steve Martell's instructions and example.
The R package model is indeed very successful, and was based on the
experience of older software projects, such as LaTeX. The R approach goes
something like this:
(1) For a package to be accepted, every function must be documented in a
standard format, described in the "Writing R Extensions" manual. The R
Team provides the service of compiling a user manual (HTML and PDF) from
the standard documentation format. Furthermore, package authors should
write an example application or two, demonstrating how the function works.
(2) A package gets kicked out of the collection if the example
applications crash in the newest version of R, after a few weeks grace
period.
(3) Specific functions are occasionally promoted from a user package into
one of the base packages. This is rare and only dicussed in "closed
meetings".
(4) Most packages focus on a well-defined theme of tasks, but there's also
a few PeterMisc and PaulMisc packages around.
We could adopt a similar approach. The standard documentation format would
probably use Doxygen, and it should be easy to compile a user manual from
that. Our Buildbot could test the example applications.
John Sibert knows Doxygen best, so maybe he can suggest a standard
documentation format, with an example of what the corresponding user
manual might look like. To keep things simple, we could work from Steve
Martell's contribution
(http://admb-project.org/community/libraries/example.cpp/view).
Arni
On Thu, 17 Jun 2010, Mark Maunder wrote:
> From the recently sent around R article under why R succeeded:
>
> "The package system, introduced early in the life of R, permits
> individuals to participate in the development of R without the direct
> intervention of the R Core group. In a sense, the package system - like
> version control - is a technological solution to a social problem: how
> to invite, motivate, and coordinate the activity of hundreds of
> volunteers without overwhelming the resources of the Core team."
>
> We need to have a place for user supplied libraries. We need to start it
> off by a number of us including our own libraries. Finally, we need a
> way to review the libraries, "certify them", then add them to the core
> code.
>
> Mark
>
More information about the Developers
mailing list