In my youth I learned a great many programming tricks by studying other people's code, including object code when source was not available. While this more legal and perhaps more moral than stealing code, it's not really any more ethical. You have not paid to be taught, even if only by studying the internals that you were not meant to see. This is essentially the difference between patent, copyright, and trade secret, right? If my device contains an algorithm that can't be patented or copyright due to the funny ways that those laws work (ie can't patent algorithms!), then my only alternative is to make the algorithm a trade secret and protect it by the means available - any facility for getting around "standard means of protection" is a threat to my business, requiring cost increases and such if I want to start potting everything in epoxy or something. That said, I think perhaps "most" programmers won't mind people learning from their code, as long as you stay short of assorted forms of theft. But also I doubt that many people will spend $1000+ just to "learn some programming tricks." I've always felt that this is the differenece between artists and craftsmen. A true artist will happilly try to tell you how he creates his art, in hopes that you will be able to do so as well. A great artist will be saddened when no matter how much he helps, you just can't do it (since after all, you're not a great artist.) A craftsman, on the other hand, jealously guards rather petty techniques he regards as his, and a base craftsman will get pissed off when you manage to duplicate his feats, even if you did it on your own... BillW