Re: Plans for future releases and call for contributions

Posted by Alan King-2 on
URL: http://quantlib.414.s1.nabble.com/Plans-for-future-releases-and-call-for-contributions-tp9272p9278.html


I would like to point to an alternative that was adopted and actively supported by COIN-OR (http://www.coin-or.org/), an open source community that I contribute to.

COIN-OR promotes the Open Solver Interface.  OSI is a specification for an optimization solver interface.  It consists of an abstract class and a dozen or so implementations that were submitted and are (more or less actively) supported by various commercial vendors and open source developers.  COIN-OR projects use OSI as a bridge pattern.

This suggest three possibilities for solver objects that QL depends on:

1) For solvers that have significant open source activity and have bridge implementations (like COIN-OR) then it seems like QuantLib could investigate and see if adopting this would work for them.  

2) For solvers that have a significant open source activity but no bridge implementation, QL could recommend to those projects that they adopt something like an OSI.

3) For solvers for which QL is really the only open source provider, QL could provide an OSI specification and an implementation of the QL OSI.

Alan King
http://www.research.ibm.com/people/k/kingaj/


[hidden email] wrote on 03/19/2007 07:50:15 AM:

> Welcome overview, many thanks.
>
> My epsilon contribution (as anticipated sometime else), is the
> following:
>
> QuantLib was born largely on the (welcome and foresighting) idea to NOT
> "re-invent the wheel every time". But, on the long run, this goal has
> been partially weakened. In fact, today in quantlib one can find the
> 1001th implementation of standard non-pretty-financial algorithms (e.g.
> optimizers, random numbers, etc.).
>
> This stuff is already available from other dedicated open-source
> projects (GSL, for instance). Recoding it exposes the QL community to
> the risk of reintroducing bugs, inefficiencies and all the (non)subtle
> problems already encountered - and solved - by the scientific community
> in the last 50 years of computing... Not a good idea, right? :-)
>
> So, what to do? Here some alternatives:
>
> A) coherently, take the wheel reinvention to its natural end: all the
> standard non-pretty-financial algorithms should be enumerated, tested
> *in any financial realistic case* with a dedicated testsuite, in
> particular against other more standard implementations.
> I confess I don't know how much of this work has already ben done in the
> past, but I feel it is a lot of (unwanted) work (optimizers, for
> instance, should be considered with suspect, at the moment).
>
> B) include the "standard non-pretty-financial algorithms" from other,
> trusted open-source projects.
>
> Obviously the second solution:
> B1) simply moves the problem away from QuantLib, but this is not bad :-)
> B2) force us to include other libraries into the QL distribution,
> increasing the dependence of the project onto other pieces and
> complicating the installation/building procedure; but QL is already
> integrated with other pieces (boost and log4cxx, for instance), so we
> should know how to deal with the n+1th piece;
> B3) leaves open the choice of what other "trusted open-source projects"
> consider, which could be not easy;
>
> To conclude, solution B is my favourite, provided the set B3 is
> non-empty :-)
>
> Unfortunately, my knowledge of other "trusted open-source projects"
> being not large enough to provide a closed solution.
> My only feeling is that GSL looks to be a good candidate: it provides a
> wide range of mathematical routines "with an extensive test suite"; it's
> well-known and commonly used in scientific research, the last 1.9
> version was released on 21 February 2007 and it is claimed to be stable
> (see http://www.gnu.org/software/gsl/). I was told that there is a
> problem with the GNU General Public License, but maybe it can be
> overcome, being the library distributed with London's book. It's written
> in C, not object-oriented, and somewhat old-style, but elegance is
> secondary to correct results and computing speed, in my opinion.
>
> I stop here, at this point I don't want to focus the discussion on GSL
> in particular, but only to points A+B before, and arguments are heavy
> enough for a discussion. I suspect the latter has been already done
> sometime in the past, but I decided to post this contribution in any
> case, in the hope that an update could be useful.
>
> Thank you for reading up to here, any comment is welcome.
>
> Ciao
> Marco
>
> > -----Original Message-----
> > From: [hidden email]
> > [mailto:[hidden email]] On Behalf
> > Of Luigi Ballabio
> > Sent: 16 March 2007 15:28
> > To: QuantLib developers
> > Subject: [Quantlib-dev] Plans for future releases and call
> > for contributions
> >
> >
> >
> > Hi all,
> >     first of all, I'd like to say thanks to everybody who helped us
> > releasing QuantLib 0.4.0 (as well as all previous releases) by
> > contributing code, bug reports, comments---you name it. It's been a
> > great six years.
> >
> > This year, we're planning to finally take the next step and release
> > QuantLib 1.0.  I'll draft a plan and ask for specific contributions
> > later in this post; but before that, please let me share a
> > few thoughts.
> >
> > Lately I started to have the feeling that our development model has
> > reached its limit. Until now, development of the library has
> > been pushed
> > forwards by a few dedicated individuals and by occasional
> > contributions
> > by other people. However, there's only so much that this can
> > achieve; as
> > witnessed, to name a couple of examples, by the lack of user
> > documentation and my systematic delay in answering posts to
> > the mailing
> > lists.
> >
> > In short, we need to foster a community. We didn't give much effort to
> > this so far; actually, I'm afraid we (the core developers) might have
> > scared potential contributors away. Until now, we have had a somewhat
> > cavalier attitude---when we wanted to do something, we just opened our
> > editors and IDEs and started hacking. (Me? Guilty as charged.)
> > Unfortunately, this might give the impression that the library is our
> > playground and discourage people from entering our supposedly closed
> > club.
> >
> > This will have to change. I'll try and bounce ideas on the developer
> > mailing list before any major change. Of course, I also encourage the
> > other developers to do the same---kudos to those that already do. In
> > short, I'll do my best so that the library is owned (and felt as such)
> > by the whole community gravitating around the mailing lists.
> >
> > Enough---and onwards to the plan for release 1.0.
> >
> > My idea (open to discussion, of course) was to get to 1.0 in two or
> > three releases. The ones before 1.0 will give us a chance to make
> > changes we've intended to do for quite a while, but that could not be
> > done easily in a backward-compatible way. Some of them were made
> > already.
> >
> > The next step would be QuantLib 1.0. In fact, the release before that
> > one (0.9.0?) would almost be a beta release of 1.0. I wouldn't change
> > much between the two; instead, I would focus on improving
> > documentation
> > and general usability (a task which should already start for the
> > upcoming releases.)
> >
> > Needless to say, all such releases (as well as future ones) will need
> > your contribution. You don't need to do anything exceptional; each of
> > you can help by giving as little time and effort you can
> > afford or want
> > to spare.
> >
> > The easiest way to contribute would be to subscribe to the
> > QuantLib-dev
> > mailing list (the subscription page can be found at
> > <https://lists.sourceforge.net/lists/listinfo/quantlib-dev>.)
> > As I said,
> > we'll try and discuss future developments there. Your contribution to
> > the discussions, even if only an occasional one, will be useful.
> >
> > If you think you can get more involved, there's a number of
> > other things
> > you can do - apart from contributing code or patches to the
> > library, of
> > course. A few of them are:
> >
> > - answer questions on the QuantLib-users mailing list;
> >
> > - subscribe to the QuantLib-cvs mailing list and review the changes
> >   committed to the repository. You might ask questions about the
> >   change, make further suggestions, or report a bug you spotted. I'll
> >   try and setup the mailing list so that replies to posts go to
> >   QuantLib-dev.
> >
> > - provide examples. Those are easier to write than new parts of the
> >   library, and are immensely useful to new users as they can act as
> >   documentation of library features and their usage. If you don't have
> >   the time to provide examples, you can still contribute by writing to
> >   QuantLib-dev and proposing examples to be written by whoever accepts
> >   the task.
> >
> > - We might put some kind of cookbook on the wiki (we'll have to
> >   discuss the idea on the list.) In this case, you might provide code
> >   snippets exemplifying how to perform simple (or less simple)
> >   tasks. This would require less effort than full-fledged examples.
> >
> > All of the above are ways to contribute. Even if contributions were
> > little, their cumulative effect would be a great help to improve the
> > library. Moreover, each of the above are also ways to familiarize with
> > the library and in time to become able to work on its internals.
> >
> > Thanks for listening. Comments are welcome.
> >
> > Later,
> >         Luigi
> >
> >
> > ----------------------------------------
> >
> > fix, n.,v.
> > What one does when a problem has been reported too many times
> > to be ignored.
> > -- the Jargon file
> >
> >
> >
> > --------------------------------------------------------------
> > -----------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the
> > chance to share your
> > opinions on IT & business topics through brief surveys-and earn cash
> > http://www.techsay.com/default.php?page=join.php&p=sourceforge
> &CID=DEVDEV
> _______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys-and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev