Recently a message was posted to the GWT developers forum seeking advise on distributing commercial GWT components. The poster explained that his commercial product included an advanced GWT component along with a sophisticated server-side piece to it. His concern was protecting his intellectual property by obfuscating or otherwise hiding his code from his users. I have a few thoughts on that.
Is this a good business plan?
In my day-to-day work I do a lot of Java development, and sometimes I will be working with a commercial Java library for which the source is not provided. Often this causes delays in development because it makes it harder to work with the library. To combat this I simply installed a JAD (Java decompiler) plug-in into Eclipse, and now it only takes a single key stroke to see the source of the compiled classes.
From a customer service point of view it is frustrating to me, the customer, that I need to go out of my way to see the source. I own the product, so why can't I use it? Also note that not distributing the source didn't stop me from looking at it.
This is similar to what the record industry is doing. They want to add DRM to all of their music so that you can't "steal" it. In reality it gets stolen anyway, so all the DRM really does is stop the paying customers from using the music they bought in the manner that they want.
Personally, I feel that if you need to hide the source code from your customers, you are likely taking the wrong route. You will end up making your customers unhappy, and the code will be stolen anyway.
Is piracy good for business?
Did you know that in China it is a good thing to have your music pirated? If it is pirated, then it means that people like it, and the free marketing of piracy is what gets you to the top.
It has been said that Adobe Photoshop at one time wasn't the only product out there for professional image manipulation, but it was the easiest to pirate. I have heard it said that piracy is what made Photoshop the standard.
Microsoft Windows is perhaps the most pirated application that I know of. The part that is interesting about it is that it hasn't stopped them from becoming the most successful software company in the world. The question is, are they as successful because their operating system was pirated, or in spite of it?
The bottom line
In my opinion, if your business plan requires that you protect your intellectual property through the use of DRM or obfuscation, then I think that it is a bad plan.
If you take a look around you will find that many companies have become successful by purposely following a different route. Magnatune sells their music without DRM, and has the tagline "we are not evil". eMusic, also DRM free, it the second largest (I believe) music seller on the Internet. JBoss provides the source of their application server for free, and still makes money. OpenNMS, a monitoring tool, does the same. Add to this Interface 21 (think Spring), and many others.
The bottom line is that you should provide value to your customers, and don't inhibit their use of the product they bought.
I look forward to hearing any thoughts on this.