[BioLib-dev] GSL

Hilmar Lapp hlapp at gmx.net
Wed Aug 5 14:29:16 UTC 2009


On Aug 5, 2009, at 2:07 AM, Pjotr Prins wrote:

> On Tue, Aug 04, 2009 at 07:32:31PM -0400, Hilmar Lapp wrote:
>> Hi Pjotr - many systems come pre-installed with GSL these days. Is it
>> really wise not to just assume it as a system dependency?
>>
>> 	-hilmar
>
> That is a call we have to make. There are two problems with these
> type of dependencies:
>
>  (1) libraries change
>
>  (2) on different systems they are in different places
>
> The main reason I like to have the source base inside biolib is that
> when we do a release we have ONE source base. So bugs can be found,
> without the added complexity of (1).

You're really just shifting the complexity of (1) from the system  
administrator of a user's (or developer's) machine to yourself as the  
Biolib maintainer (or whoever comes after you). As not infrequently  
the user doubles as the sysadmin on her machine, this is of course  
nice for the Biolib user.

However, it does create an additional burden, and especially  
responsibility, for the Biolib maintainers. I'm not convinced that  
fulfilling that responsibility is one of the best ways Biolib  
developers and maintainers can spend their time.

> Especially over time this is a great concern. On the Perl mailing  
> list you encountered that this year with the staden_io_lib module -  
> the interface changed.

I know. But it's also a very common situation that we all have to  
learn how to deal with anyway. Bio::Graphics needs a certain version  
of GD. Most systems come pre-installed with GD but in a version that's  
too old, so most people end up having to upgrade their GD, or install  
a newer version in parallel and then make sure their environment is  
correct when compiling the GD perl bindings etc. The same is typically  
true for DBI and the various DBD drivers. There are numerous other  
examples.

> [...]
> With (2) is a particular concern since bio* developers are all over
> the place: different distros of Linux, OSX, Cygwin, Windows. Having
> the source tree in biolib kills those birds with one stone.

If there are no problems. As soon as there are (and there are bound to  
be if the library is under active development) there may be more birds  
to kill than you have stones (or time) for.

> [...]
> So in it goes, as far as I am concerned. If only for the fact the I
> only want the latest and greatest :-)

The other benefit that treating it as an external dependency has is  
tempering that desire for the bleeding edge. The bleeding edge cuts  
well, but it's full of blood too.

That all being said, having the GSL SWIG-mapped as a first class  
library in Biolib so that all Bio* projects can take advantage of it  
would be very cool in its own right.

	-hilmar
-- 
===========================================================
: Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :
===========================================================






More information about the BioLib-dev mailing list