<p><strong>Motivation</strong></p>

<p>I'd like to find a way to take an arbitrary color and lighten it a few shades, so that I can programatically create a nice gradient from the one color to a lighter version. The gradient will be used as a background in a UI.</p>

<p><strong>Possibility 1</strong></p>

<p>Obviously I can just split out the RGB values and increase them individually by a certain amount. Is this actually what I want?</p>

<p><strong>Possibility 2</strong></p>

<p>My second thought was to convert the RGB to HSV/HSB/HSL (Hue, Saturation, Value/Brightness/Lightness), increase the brightness a bit, decrease the saturation a bit, and then convert it back to RGB. Will this have the desired effect in general?</p>

I would go for the second option. Generally speaking the RGB space is not really good for doing color manipulation (creating transition from one color to an other, lightening / darkening a color, etc). Below are two sites I've found with a quick search to convert from/to RGB to/from HSL:
from the "Fundamentals of Computer Graphics"
some sourcecode in C#
- should be easy to adapt to other programming languages.