[Developers] What we need in ADMB

Mark Maunder mmaunder at iattc.org
Fri Jun 18 12:14:45 PDT 2010

I think the R system will answer many of these questions.


Mark Maunder 
Head of the Stock Assessment Program
Inter-American  Tropical Tuna Commission
8604 La Jolla Shores Drive
La Jolla, CA, 92037-1508, USA
Tel: (858) 546-7027
Fax: (858) 546-7133
mmaunder at iattc.org
Visit the AD Model Builder project at
See the following website for information on fisheries stock assessment

-----Original Message-----
From: John Sibert [mailto:sibert at hawaii.edu] 
Sent: Friday, June 18, 2010 11:58 AM
To: Arni Magnusson
Cc: Mark Maunder; developers at admb-project.org; Steve Martell
Subject: Re: [Developers] What we need in ADMB

This is a good idea and one we have discussed previously, but before we 
get too excited, lets think about it a bit more.

Under which license will such contributions be distributed? It should 
probably be up to the author of the source code. But we should impose 
some restrictions. It should be freely distributed and open-source 
(duh). The ADMB project is distributed with the BSD license because it 
is short, simple and non-viral.

Who maintains such code? It is almost guaranteed that new compilers will

eventually break contributed code. Who will fix it?

The word "library" is a bit ambiguous. The Martell example is hardly a 
libary, it is C++ source code included (with #include} in a tpl. What 
about a more complicated libary that might consist of many C++ source 
files plus header files. Would this all be similarly included? Or would 
it be better to compile the source code into a true library (a file 
wrapping a bunch of object files)? Including a lot of source code in a 
tpl, increases the compilation time and could increase the difficulty of

maintaining the code.

What other documentation might be required in the source code files?

I'll try to make Martell's example it look like something that could be 
freely distributed and post it where it can be viewed.


On 06/17/2010 04:55 PM, Arni Magnusson wrote:
> 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
> _______________________________________________
> Developers mailing list
> Developers at admb-project.org
> http://lists.admb-project.org/mailman/listinfo/developers

John Sibert
Emeritus Researcher, SOEST
University of Hawaii at Manoa

Visit the ADMB project http://admb-project.org/

More information about the Developers mailing list