I'm working on a piece of software which i'd like to sell; however i'd like to keep the source 'open' in the sense that I see no reason why people should be not able to browse it for educational purposes. Most of my personal learning process involves looking at similar examples of other people's work. I'd like to protect my intellectual property, but also give something useful to the programming community (without which many of us wouldn't have gotten too far). I'm not super worried about theft of my 'algorithm' since what i'm doing isn't all that profound. I'd likely wait until the software was ready for release before publishing the source anywhere. Are there any licenses which are appropriate for this sort of thing? Alternatively, are there better resources than this site that I should direct my search toward?