As an ISV, we get installs into both Production systems and Sandbox systems. After Summer 14, we will begin to get License records from Sandbox systems too. Sandbox systems are tricky because a license may come to us for 2 different reasons:
Sandbox was refereshed from Production with our app already in it
Our app was installed directly into a Sandbox org
For #1 above, this is not
likely a new Opportunity for us because we should know about the production org the Sandbox came from.
For #2 above, this is
likely a new Opportunity for us because it's a new install to a Sandbox system. (Larger organizations tend to test first in Sandbox)
The bottom line is that we should be able to know the difference between #1 and #2 above. One way to do that would be to provide the Production Org ID a Sandbox came from. I could see this occurring in 1 or 2 ways:
Add a new field to the Organization table (or somewhere) that would allow anyone to know, for certain, this is a Sandbox AND the Org ID it came from (preferred solution because it'd benefit more than just ISVs)
Add this information to the License Manager. Again, one of two ways, but the first would be good enough because ISVs could implement the 2nd ourselve.
Add a field for Production Org ID to the license.
Add logic to License Manager that would link a Sandbox License to its Production license via a recursive lookup field
There you have it.