3 ms·
While reading these comments, someone quoted well that: "The intent of patents is to get inventors to disclose their inventions to the public for the benefit of
by yason 17y ago
While reading these comments, someone quoted well that: "The intent of patents is to get inventors to disclose their inventions to the public for the benefit of all." This sounds like a good principle. Instead of applying the traditional patenting method to software, we should find the equivalent of that principle in software world.
So, patents apply to implementations, right? Also, code itself is the design, right? And yet, so far we try to describe the implementation with vague words of mostly English language, and to bend the boundaries by making it as broad as possible. Doesn't seem to work too well.
In real world, you can patent an implementation of a bridge -- effectively the design of its construction if it's novel. You can't patent the underlying, generic bridge-construction principles. Code is design.
I think the principle could apply analogously to software patents by opening the source of a proprietary implementation, and then licensing interoperability with the patented implementation. In other words, that spells like kind of a code-escrow for an exclusive licensing rights for limited time.
The patent would only apply to forks or third-party implementations that are compatible with the patented implementation. If you invent a clever protocol, you could require money for compatible implementations: this would hopefully incentivize opening proprietary implementations.
On the other hand, if someone takes your ideas and builds his own implementation, you would not be entitled to anything: that someone will be required to build his own market share, compete with your implementation and user base from the ground up, and effectively do the same work that you have already done -- just to get on par with you.
Complete codebases and unit tests could be required to make it easy to verify the compatibility or incompatibility of programs potentially based on the patented codebase.
Reviews for novelty would be much easier to arrange if expert programmers could study the working code and compare it to earlier implementations. That is, as opposed to lawyers trembling with the words and semantics of patent applications.