> IANAL, but as a developer I loathe every S/W patent that does not have source attached and therefore does not properly describe the patented thing.
All patent laws that I know require a proper description of the invention. It is part of the very foundation of the idea behind patents: the inventor/applicant discloses the invention in sufficient detail to make a person skilled in the art to work the invention and in return receives a time limited privilege. Some use sample source listing, others use diagrams (flow charts, UML diagrams, XML etc).
> Technical artifacts should only be allowed exactly one form of legal protection. Either patents OR copyright OR trade secrecy.
There are already many limitations in place. First of all a patent is published so that puts a limit on secrecy. Disclosure of preferred or best embodiment is required (I am simplifying a lot here). If you keep so much secret that the patent cannot be worked by a person skilled in the art the patent is invalid.
Also patenting an invention that has been a trade secret for a long time is in some places regarded as unreasonable and not allowed. Patent laws are territorial so there are many variations around the world.
However copyright on source code that is an embodiment of a patented invention is allowed and frequently considered as part of the IPR process since a copyright infringement litigation can be preferred to a patent litigation.