Eric S. Raymond on CC-NC licensing (which I use here):
[T]here is no bright-line legal test for ‘commercial activity’. This ill-definedness is reflected in community debates about whether commercial means ‘cash transactions’ or ‘for profit’, and it is the exact reason the Open Source Definition forbids open-source software licenses from having such restrictions.
Here is the Creative Commons FAQ entry on what Noncommercial means:
Does my use violate the Noncommercial clause of the licenses?
CC’s Noncommercial (NC) licenses prohibit uses that are “primarily intended for or directed toward commercial advantage or private monetary compensation.” Whether a use is commercial will depend on the specifics of the situation and the intentions of the user. In CC’s experience, whether a use is permitted is usually pretty clear, and known conflicts are relatively few considering the popularity of the NC licenses. However, there will always be uses that are challenging to categorize as commercial or noncommercial. CC cannot advise you on what is and is not commercial use. If you are unsure, you should either contact the creator or rightsholder for clarification, or search for works that permit commercial uses. Please note that CC’s definition does not turn on the type of user: if you are a non profit or charitable organization, your use of an NC-licensed work could run afoul of the NC restriction; and if you are a for-profit entity, your use of an NC-licensed work does not necessarily mean you have violated the term.
Creative Commons published results from a survey on meanings of commercial and noncommercial use generally. Note that the results of the study are not intended to serve as CC’s official interpretation of what is and is not commercial use under our licenses, and the results should not be relied upon as such.
I’ve thought on this topic before. It’s a problem with the US’s fair-use system, as well (non-commercial use is one of the hallmarks of fair use, but it is ill-defined). I personally use NC licensing for everything I post here (and my now-defunct creative blog), because I prefer to get a cut if anyone is directly profiting from my creative work. I personally define “commercial” fairly restrictively — I would be fine if someone had ads on a page where they showed my work (with proper attribution, of course), but I would require other licensing if they sold an item that included my work (like a book or coffee mug).
Could this be solved by more concretely defining “commercial activity” in a future version of Creative Commons? Or could it be parametrized in the same way CC itself is? How about this. Instead of my current license (CC BY-NC-SA), I could have this: CC BY-NC(DS)-SA. In this case, Noncommercial has a parameter of DirectSale — my work is restricted from appearing in anything that is itself for sale, but other hypothetical “commercial” uses are allowed. Others who want to also disallow ads could use NC(DS, AS), where AS is AdSupported. If a licensor desires to make their own definition, they can write it out longhand — custom parameters would be accepted. If a licensor wanted to define a restriction on using their work directly in advertising (such as in a Verizon commercial on TV), they might define their license like this: CC BY-NC(Advertising)-SA, and link “Advertising” to their long-form custom definition of the parameter: “Advertising: You may not use this work in advertising for any product or service.”