[Developers] What we need in ADMB

Arni Magnusson arnima at hafro.is
Fri Jun 18 15:54:44 PDT 2010

On top of the current example, there would be a test.tpl (or several 
testA.tpl, testB.tpl, ...) to demonstrate all of the functions 

We should probably use separate "Author:" and "Maintainer:" lines, like 
packages in R. That answers the previous question about who's responsible 
if the package breaks when a new version of ADMB is released. The library 
will be kicked out of the archive if the maintainer doesn't submit an 
updated version within a few weeks grace period.

Then there's the question what a library really is. We can probably accept 
different formats (one source file, one source and one header, multiple 
source and header files, and finally true binary libraries), as described 
in Steve Martell's article. Since the word "library" has an exact meaning 
in C++, we may actually decide to use the word "package" instead. I think 
that would avoid confusion and it's the term that R, LaTeX, Emacs, Python, 
and others use for the same thing.

Regarding the license, I don't think we need to worry. We would probably 
recommend BSD, but I can't see a problem using a GPL, LGPL, or proprietary 
package. A proprietary package could be distributed as a binary library. 
It's only in the rare case when we'd like to promote a function from a 
user package to the ADMB core that the license should be BSD. The package 
author would then release that function under BSD and the updated package 
(minus the function, which is now available in core ADMB) under whatever 
license the author prefers.

Imagine, for example, a fisheries lab that is working on an ADMB package, 
and they're trying to fund the development by applying for a grant, 
selling it to an industry partner, or whatever. As part of the 
development, they want to release a beta version to colleagues around the 
world. It would feel silly for a grant fund or an industry partner to be 
asked to pay for something that's free online. So the lab can release the 
beta version as a proprietary library, but the finished version will be 
released as free software.

I don't know whether this is a realistic example, but when I first heard 
that ADMB was BSD rather than GPL, I imagined something like this. It's an 
interesting reversal of the more traditional starting as freeware and then 
start selling the "full professional" version. At any rate, I have later 
gathered that ADMB is not GPL because the dev team considers it viral, 
which is true. But I suppose we would be just as viral if we forced all 
package authors to release their packages under BSD :)

Boy, licenses are the only boring thing about open source ... inseparable 
as alcohol and hangover.


On Fri, 18 Jun 2010, Arni Magnusson wrote:

> I love it.
> Could the full author entry, copyright, year, and license all be on the 
> \mainpage? In other words, have one "Author" line and only leave the $Id 
> placeholder above the \mainpage?
> I got so excited inside the Doxygen browser that I was hoping to be able 
> to peek at the raw source code file(s) from within the Doxygen browser, 
> but maybe Doxygen doesn't offer that. Instead, I had to return to the 
> Plone webpage and open the raw source code file from there. And then 
> back to Doxygen for some more browsing.
> Arni
> On Fri, 18 Jun 2010, John Sibert wrote:
>> Arni -
>> Have a look at http://admb-project.org/community/libraries/dnorm and tell 
>> me if you think it is helpful.
>> John

More information about the Developers mailing list