Introduction

You probably want to know...

Whether Bio++ is a C++ port of BioPerl, BioJava or BioPython?
No! The main goal of Bio++ is to provide reusable code in order to help the development of new methods for Bioinformatics. Such methods usually deal with sequence alignments, phylogenetic trees and evolutionary models, are computer expensive, and hence generally written in C. The Bio* family of libraries does not provide code for such analyses, and rely on the parsing of the output of existing programs. None of the original developers of Bio++ were actually C++ developers (We were, and still are to some extent, C, Delphi and Java programmers!), so Bio++ is not a port of existing Bioinformatic libraries to our favorite language. Moreover, our current bioinformatic work also makes extensive use of BioPerl and R, just to mention a few. Each language has its own specificity, which are an advantage or a handicap, depending on the goal to achieve. One very possible perspective is to provide Perl, Python, TCL, R, ... bindings for Bio++, as it the case for many C++ libraries (graphical libraries, for instance GTK or wxWidgets).

The C++ language associates the efficiency and low-level programming of the C language, with the user-friendship and extensibility of the Object Oriented Programming. This is hence a natural choice for ones who want to develop reusable and efficient code. Last but not least, a lot of commercial and libre tools are available for the C++ language.

What are the legal limitations when using Bio++?
Bio++ is distributed under the CeCILL license. This is a port of the Gnu General Public License according to French law. The CeCILL license has all the properties of the Gnu GPL license: this means that you can use it, modify it and copy it as long as you cite the original work. Basically, the only thing that you CANNOT do is to patent Bio++ code, nor you can prevent other persons to use and modify it.

How you can participate in Bio++ development?
By using Bio++, reporting bugs and making suggestions, you can really help the development (and the developers) of Bio++. If you wrote some code that you think may be useful to others, you can send it to the authors. Only published algorithm can be added to the libraries. If your code contains more than a few methods and/or is of specific usage, you may consider writing a new library, with dependencies against Bio++ libraries.

Whether Bio++ is highly maintained and enhanced?
Bio++ main releases are made roughly twice a year. These releases intend to freeze the code at some particularly stable points, to facilitate the distribution of software. On these occasions, dynamic libraries can be built, and executable linking to these libraries distributed. These release are hence mostly dedicated to final users, who need to run a program depending on Bio++.

Developers should favor the use of the CVS repository, in order to have the most recent update of the code. As a result, bug corrections will be facilitated.