Free / open source software projects may be very different from each other. Evaluating them either to compare them, or just to understand better how to deal with them is currently a kind of black art. This book intends to compile some information that helps towards providing background, methodologies and procedures for converting it into predictable engineering. Time will tell if we succeeded in our effort.

The book is structured in three main blocks:

  • The first includes the chapters "Before evaluating" and "Sources of information". It provides the basic background for understanding what the evaluation of free, open source software (FOSS) projects is; how it can be done; and what can be expected from it.
  • The second deals with the specifics of the different aspects of evaluating FOSS projects. It includes three chapters: "Evaluating the community", "Evaluating development processes", and "Evaluation models".
  • The third block is the practical one, presenting some tools for assisting in the evaluation. It also includes three chapters: "Evaluation dashboards", "Quantitative evaluation with Grimoire", and "Using Grimoire". The last two show how the Grimoire technology as an example of how tools can assist in evaluation -especially quantitative evaluation- of FOSS development projects.

This book is a collaborative effort. The original authors like to see ourselves as the facilitators of a large endeavor: the evolution, improvement and maintenance of the book over time. This can be done only with the collaboration of readers, experts in the field, and in general, anyone interested in the book. To make it easier to contribute, we decided to explore the GitBook technology, which is a FOSS project itself.

Therefore, this book is available from GitBook, which mirrors it from a GitHub repository. Different versions of the book (for reading online, for downloading in several formats) can be obtained from GitBook, while the "source code" (based on Markdown files) can be obtained in the GitHub repository. Contributions are accepted in several ways, the most convenient being using GitHub pull requests to that repository. You are encouraged to fork that repository and submit your pull requests suggesting improvements, if you want to collaborate. You can also use GitHub issues in the same repository to report any problem or make any suggestion.

We, the authors, hope that you find this book useful, and that it contributes to make your life easier and happier.