On Jun 8, 2010, at 9:04 AM, Geoffrey Hutchison wrote:
> Our version number policy is that plugins (e.g., new fingerprints, formats, 
> etc.) can be added along with "point releases" since they only affect one 
> minor section of the code. In other words, adding MACCS fingerprints doesn't 
> make any other part of the code more or less stable.

I know the Python policy best, which is

x level releases are backwards incompatible
x.y level releases add new features
x.y.z level releases are bug and security fixes only

The difference seems to be in this: 

> The point release reflects improved bug-fixing and added plugins. The 
> "plugin" nature is critical, since we (or others) can add code modules 
> without affecting anyone. We could add a dozen fingerprints, descriptors, 
> formats, and they're all accessed the same way. Users and code can test for 
> the presence of different plugins and fail gracefully.

This means that OB's versions depends on the architecture, which seems to be an 
unexpected coupling. Take for example Eclipse, which is massively built on a 
plug-in architecture. I don't think their version scheme is dependent only on 
changes to the core plug-in framework.

In any case, I understand the scheme now.

> our version numbering also emphasizes stability. We don't break other 
> people's programs lightly, and in turn, we're used by over 30 open source 
> projects and uncounted others.

To point out, stability doesn't depend on version numbers, it's a process 
thing. Python is used by a lot more projects than OpenBabel, and with more 
developers, while having larger steps in their version numbers.

> The code is already production-quality, but we obviously like to clean up bug 
> reports and ensure our API enhancements are enough to support users for 
> another year.

> Since the wiki covers released versions (to prevent confusion), there are no 
> pages on the 2.3 release. The OB code will not support a bitmap format, as 
> that would require an additional dependency. I suspect Pybel will integrate 
> the internal depiction routines for v2.3.

How do you get people to try out the new features, in order to see if it's 
production-quality  and get bug reports, without having access to documentation 
about what's available?

Historically speaking, the wiki has had references to development versions. You 
can see traces of that at

  http://openbabel.org/wiki/Developer:API

   Development Snapshots

    -  2.1.x beta API Documentation (Updated monthly)
     - This is intended for developers working with the bleeding-edge
         development code from the SVN repository trunk.


> The easiest way to develop a new fingerprint is to copy an existing one as 
> model. You raise a good point that there is not yet an example fingerprint 
> code. For testing, the new .so can be in a user-specified location using the 
> environment variable BABEL_LIBDIR. This is how I do *my* development.

Where is the documentation for BABEL_LIBDIR ? I looked at all 28 hits for 
"BABEL_LIBDIR" from Google, but didn't find any description of this.

I found a few mentions in the changelog, including this from 2005-09-11

        * src/dlhandler_unix.cpp: Add support for multiple search paths
        for shared format modules. Uses environmental variable
        BABEL_LIBDIR which can be a colon separated list of paths
        (e.g. /usr/lib/openbabel:/usr/local/lib/openbabel ...)

Note that the code also allows "\n" and "\r" as separators, though I can't 
figure out why. It also looks like at some point " " was allowed as a 
separator, but that was removed a few months ago in the dev version because it 
broke when people had paths with a space in the name. 

Cheers!


                                Andrew
                                da...@dalkescientific.com



------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to