About sharing Intellectual Property, USP's and Patents
Robert McLaws wrote : Now that I've reduced my codebase for GenX.NET 3.0, I just figured out how to reduce the size of the output file by 50%-90% in some cases. Here's the part where I'm at a loss... Do I talk about how I do it? Or do I make you buy the source code to find out? The problem is, I've seen how my competitors output their files, and they don't use this method. This gives me a competitive advantage, and another reason why my customers would want to buy my product. So do I talk about it?
Yes, you should talk about it. People who discover something should share that with others so those other people can use that discovery to enrich their own knowledge about a given topic. This is the basis of research. If everyone would keep discoveries for themselves, we would never be able to make any progress in any field.
Robert argues that his discovery would give him an edge over his competitors, in other words, would give him a Unique Selling Proposition (USP). This is a term used by marketeers to get more insight in which unique aspects the product has and thus which aspects to focus on when the product is positioned in the market.
My wife studied Economics and Marketing and told me years ago that USP's should really be unique to take advantage of them. A USP is thus never related to a discovery, since the discovery can be found by competitors as well and you suddenly loose a USP, which can hurt your market position. USP's which are hard to compete with, like the total user experience, the completeness of documentation, the full support of standards etc, are the true USP's which a product manager should be focussed on.
When a discovery is really an invention, you can achieve an edge over the competition by trying to get the invention patented. By definition the patent is shared to the world via the patent databases over the world, so every competitor can learn about your invention but can't reproduce it in the same manner as you did. A competitor can however enhance the invention, which in fact is a way to work around a patent, and create an even better product, the patent can be seen as a start of a whole set of new inventions, related to the patented invention but which are not a 1:1 copy. Is a patent then a true advantage over competitors? I tend to disagree. A patent can limit the competition in a given way, but is never a way to get rid of the competition due to the fact that they can't use a technique you have patented (or they have to pay you so you earn money from them anyway): the competition can always work around it, invent other things based on the knowledge you provided.
It's far more wise to invest in true USP's, which can be copied but never enhanced, because you are the best in that area, like userfriendlyness, documentation, customer support, support of open standards, support of a wide range of technologies used by the customer. In other words: the most complete product for the best price gets the most customers, since it has USP's which are easy to market because they are easy to understand by customers and are also hard to compete with, since it costs the competition perhaps years to come up with the same level of userfriendlyness, documentation, support etc. etc.
This is also the reason why some Open Source / free (as in beer) software (OSS) is popular, more popular than closed source / not free software: it probably doesn't have the cutting edge new inventions on board, but it does what it has to do in a darn good way for a price that is well worth it. Although most OSS don't have a marketing department behind them, they use another pillar of todays pallet of marketing tools: Public Relations (PR). PR is forgotten by a lot of people but it is very important, and has a very nice feature marketing doesn't have: it's free. PR is easy to consume when the PR is about things most people understand: "easy to use" "works without a crash" "does what you want" etc. It's the trick to make your USP's show up into the PR you spread or the PR which is spread by others, like articles and mouth-to-mouth talk between f.e. developers or IT-managers.
This is also the reason why I think software patents are a bad thing: they do not help to get an advantage over a competitor, but they do give a false feeling of having that advantage, which makes patent holders to focus on their patent instead of their USP's which really matter. In the end the customer, the end user, is the one who really looses: he has to wait till the competition has worked around the patent, and till then he probably won't have the product he wants, because the patent holder is not forced to focus on USP's which will bring that product. Intellectual Property should be shared, so the end-user, the customer, wins, which in the end is better, because believe it or not, we all are customers and end-users one way or the other.
PS: a good example of a person who truely understands the power of PR is Eric Smith, who wrote on practically every board on the internet where a thread was going on about a competing product that his product, CodeSmith, had better USPs. No marketing, just participating in discussions with the USPs of the product. Excellent way of promoting your product.