The Open Source Maturity model attempts to quantify the maturity of an open source product. This should help an enterprise decide whether to adopt the product for long-term use.
The IT department uses the results of these two steps to determine which product from the short list is suitable for adoption. It should be noted that this evaluation process might be too resource intensive for the short-term use of an open source product but is a very wise investment for medium to long-term use.
While useful, this numerical categorization should not be used as a categorical measure. You can ignore the difference of a single point in scoring. We provide the scoring as a suggestion, mostly for convenience and as a way to organize the analysis and comparison of many open source projects. Table 2-1 shows the Open Source Maturity model.
Table 2-1. The Open Source Maturity model
Maturity criteria | Score = 1 | Score = 2 | Score = 3 | Criteria description |
---|
Product criteria | | | | |
Age | < 6 months | 6 months- 2 years | > 2 years | OSS efforts that are just getting underway are risky for enterprises. |
Multiple supported platforms | One platform | Many related platforms | Multiple heterogeneous platforms | Products that work on both Windows and Unix are more desirable. |
Momentum | No release in last 6 months | < two releases in past year | Regular releases | This is key to helping separate vital products from ones that are withering. |
Popularity | Unknown product | Viable alternative | Category leader | Popular OSS products are well tested and therefore more mature. They are also likely to be interoperable with a large number of other products. |
Design quality | Monolithic application | Multiple components | Well-defined API | This criterion is key in determining the effort required to extend and adapt the product for enterprise use. |
Use criteria | | | | |
Setup cost | Poorly documented install process; poor documentation; help available from developers | Well- documented install process; reasonable documentation; help available from developers; help available in support forums | Well- documented install process; install wizards/scripts available; reasonable documentation; help available from developers; help available in support forums; third-party install services | Most products should require a setup effort of hours or days, not weeks or months. |
Usage cost | Poor or nonexistent documentation; help available only through direct contact with developers | User manuals available; help available in support forums | Third-party training services available | This criterion is often overlooked when evaluating a product. |
End-user support | No forums or mailing lists | Some forums or mailing lists | Well-run forums and mailing lists, with archives and search; third-party support options | User community (forums, mailing lists) and third-party support are vital to a product's success. |
Integration criteria | | | | |
Modularity | Monolithic structure; possible but hard to extend | Multiple modules; possible to extend | Multiple modules, well-defined API; possible and easy to extend | |
Collaboration with other products | Unknown | Known cases of integration | Lots of integration documented | |
Standards compliance | Unknown or proprietary | Outdated | Current industry standards | |
Developer support | No forums or mailing lists | Some forums or mailing lists | Well-run forums and mailing lists with archives and search; third-party support options | |
Armed with the information in this chapter, most IT departments will be able to do a first-rate job of evaluating open source projects. The next most important factor is whether an IT department properly understands its skills, which is the subject of the next chapter.