Hacker News new | ask | show | jobs
by philwelch 5256 days ago
> After ten years all code should be made open-source.

Long digression. Which may not even be totally true, but close enough to make the point.

This isn't actually that far from the original intention of patents. It used to be that things were kept as trade secrets and hence lost to the ages, which is why no one knows how to make Damascus steel anymore. On the other hand, if someone leaked your trade secret, you could sue them for breach of contract or something, but once the secret itself was out, it was just free speech and free enterprise for people who didn't sign an NDA with you to go ahead and use it. So trade secrets were both ineffective for the secret-holder (unless they kept them very, very well) and bad for society as a whole (since none of us could use any of the secrets that didn't leak out.)

So the patent was invented. Now you had a choice: either your trade secret could remain secret or it could become a patent. If you patented, for instance, your revolutionary manufacturing process for steel, no one in the entire country could legally use that process themselves--at least not until the patent term was up. On the other hand, the process itself was published, and once your patent expired, everyone gained your knowledge.

Copyright enters the picture with software in a funny way. If you documented the process of, say, manufacturing steel, the document itself would be copyrighted. Anyone could read that document and then implement the process with no problem. The same is true for, say, the plans to some machine or appliance--the plans themselves would be copyrighted, but that wouldn't prevent you from assembling an actual device. Obviously with software this is different.

I actually think that with software, both traditional patents and the copyright process don't really work. Rather, I think software should be subject to the same kind of social contract patents successfully imposed on pre-software inventions: no copyright protection on source or executable code (copyright on documentation or string or graphic resources are acceptable), source and executable code can be "patented", which entails a limited-term (5-10 year) monopoly on the use of that source code, but after 5-10 years the code is effectively public domain, and published in perpetuity by the government.