This is a lightly revised version of a post from 2012.
*********
I've previously argued that 'ought' is a problem-relative and concerned with practical options, or, to put it on other words, that saying "I ought to do X," (or "I should do X") tells us that, given some practical problem for me, X is a solution. I think, however, that we can clarify this more by considering three major kinds of 'oughts'.
(1) Ought-at-least: As in "You ought at least to call your friend." This is a minimal solution ought. It says that X (calling your friend, in this case) is the least complicated, elaborate, or difficult option that solves the presupposed problem, or, to be more exact, that it is the solution that satisfies the bare essential requirements of the problem. Most uses of 'ought' are cases of ought-at-least.
(2) Ought-best: This is the optimal solution ought. It says that X is the solution that most completely fulfills what the problem requires.
Both of these are consistent with there being more than one possible 'ought'. Ought-at-least is consistent with there being better solutions; ought-best is consistent with there being less good solutions that are nonetheless adequate. We sometimes talk this way, taking there to be a spread of 'oughts', any of which are good enough. But sometimes, indeed, quite often, we do not. Then we need
(3) Ought-only: This is the unique solution ought. It says that X is the only solution that meets the problem requirements.
Of course, an ought-only occurs when there is no difference between ought-at-least and ought-best.
In reality, I think these are all, at the generic level, the same sort of ought, i.e., practical solution to a given problem. What actually distinguishes them is the particular problems to which they are solutions. Two problems can be broadly speaking of the same kind, but have precise details that narrow or broaden the practical options that can be considered. We often don't distinguish much among the three above merely because we often aren't identifying our problems very precisely. If I say, "I should go to the store," I may have only a hazy idea of the problem involved (e.g., I know that I need some things that would be helpful or necessary to have, but have no precise list, just a vague, 'milk, and tissues, and some other things probably', which will be filled out at the store itself). Kinds of solutions are categorizable according to the kinds of problems they solve; and some practical problems allow any number of courses of actions as solutions and some practical problems aren't solvable by any more than one course of action. But precisely because we are vague in specifying the problem it's useful to keep in mind that there are different kinds of solutions that could be meant by saying "You ought to do X" or "You should do Y".