While a patent is often regarded as the 'gold standard'
of protection for inventions, patents are not always the best
option when it comes to software.
Firstly, software patents are notoriously tricky to obtain. You
can of course patent the right type of software, but your invention
needs to meet strict criteria. Secondly, the patenting process
involves disclosing your invention and disclosure may not be in
your best commercial interests.
With this in mind, trade secrets often offer software developers
a viable alternative to patents.
At the top-level trade secrets can of course protect subject
matter that would not be eligible for a patent. These can be
protected by trade secrets because any piece of knowhow (and
'knowhow' covers formulae, algorithms, practices and code,
all of which are fundamental to software) can be protected as a
trade secret as long as it can be shown the secret will retain its
commercial value as long as it is kept secret.