Home Catalog CompChecker Select-A-License Message Board Blogs About Us Contact Us
   Opuntia Logo

Opuntia (pronounced as "up-un-chhia") is a software infrastructure for facilitating the assessment, discovery, dissemination, and reuse of publicly accessible software and data products. It consists of a catalog of software and data products, and tools named as iTracker, CompChecker, and Select-A-License.

The Opuntia project is under active research and development, and new features are added to the public release iteratively.


The catalog of products facilitates their discovery, dissemination, and reuse. A product can be added to the Opuntia catalog after logging in to this website and filling the form on the "Add Product" page. The login can be done either by using the credentials associated with an account created on the Opuntia website, or by clicking the link for "Login using CILogon" and choosing one of the existing accounts such as Google, GitHub, ORCID, or the home organization (if the organization is a part of the InCommon Federation). CILogon is integrated with the Opuntia project to support federated identity and access management. The information related to the cataloged products can be edited at any time by the product owners. The most recent information regarding metrics is captured using iTracker and is displayed on the cataloged products' pages.


iTracker helps in tracking the user-defined metrics for evaluating software and data products deployed and used on different platforms and computing environments. While some types of metrics are dynamically tracked and updated in iTracker's database, others are currently updated statically. For the statically updated metrics, at the time of editing their products' information in the catalog, the product owners can specify the name of the metric of interest, and the measured value. They can also provide the URL to a publicly accessible file that contains the metrics name and values, and update this file periodically such that the iTracker scripts can automatically read the updated values from the remote files and update it's database at a certain frequency. The statically tracked metrics should be updated as and when desired by the product owners. As an example of a dynamically tracked metrics, if a GitHub URL is provided for a product, iTracker dynamically gathers the publicly viewable metrics related to the GitHub repositories of the cataloged products and updates the catalog pages with the latest information. The GitHub related metrics are updated every hour. For web applications that have Google Analytics embedded, iTracker can be used for dynamically updating the catalog entries with the information such as the number of users and site visits. iTracker also supports a library and code reengineering approach for making the software products self-reportable. Recipes for tracking the use of web applications without using Google Analytics have also been developed in this project. Over the next few months, additional iTracker APIs will be provided for dynamically gathering the metrics such as the number of views of YouTube videos related to the products, and the number of social-media posts. Support for automatically exporting locally maintained database of metrics is also planned.


CompChecker is a tool that can assist with checking the legal and technical interoperability of the products. Currently, it can assist with comparing any two cataloged products or licenses directly and provide suggestions on whether the products or licenses being compared can be mixed with each other or not. Specific clauses of licenses, such as those around sublicensing, commercialization, warranties, modifications, and reuse are compared with each other to provide guidance. In the next phase of research and development, CompChecker will be extended to check the technical interoperability of the cataloged products. The tool supports comparing 65 licenses for open-source products with each other.


Select-A-License is a decision-support tool that can help in selecting appropriate licenses for software and data products. It is designed to help in selecting a license from amongst the 65 open-source licenses in the Opuntia database. The output of this tool is driven by the responses it receives to a set of questions it presents. For convenience, this tool also provides the text that can be used to prepare the license agreement for each license that it suggests.