What are the differences between plug-ins, features, and products in Eclipse RCP?

Solution 1:

As the RCP tutorial details

Plugins are the smallest deployable and installable software components of Eclipse.

Each plugin can define extension-points which define possibilities for functionality contributions (code and non-code) by other plugins. Non-code functionality contributions can, for example, provide help content.

The basis for this architecture is the runtime environment Equinox of Eclipse which is the reference implementation of OSGI. See OSGi development - Tutorial for details.
The Plugin concept of Eclipse is the same as the bundle concept of OSGI. Generally speaking a OSGI bundle equals a Plugin and vice-versa.

first rcp


The Feature Tutorial mentions

A feature project is basically a list of plugins and other features which can be understood as a logical separate unit.

Eclipse uses feature projects for the updates manager and for the build process. You can also supply a software license with a feature

new feature


Finally, a product is a stand-alone program built with the Eclipse platform. A product may optionally be packaged and delivered as one or more features, which are simply groupings of plug-ins that are managed as a single entity by the Eclipse update mechanisms.

Product definition file show the overview tab


So:

plugins can be grouped into features which can be packaged as one executable unit called product.