3 ms·
I'd initially contested the idea of copyright protecting code in my above comment but decided to redact it to see which direction this conversation would take.
by eganist 9y ago
I'd initially contested the idea of copyright protecting code in my above comment but decided to redact it to see which direction this conversation would take.
(Tangent: Trade secrets protect knowledge implemented within my spheres of trust, i.e. "my systems.")
Copyright protects the literal documentation/expression of knowledge, such as an algorithm, not the knowledge itself. As an example, reimplementing a novel algorithm in a different language or over a different framework will likely be enough to subvert copyright protection over the code itself.
Copyright will ineffectively protect novel algorithms, whereas patents do a good job of protecting these algorithms in well-exposed contexts e.g. client-side from unauthorized imitation and usage day zero (or, more realistically, day 30). Barring a tactical or strategic error in the approved patent — a wonderful example of this, if I recall correctly, is the Swype patent¹ which prompts the user to pick a word rather than guess one for the user — the patent will effectively cover the algorithm in any implementation for the statutory duration.
A separate issue: "All a patent does is let you have a lot of time and money for an option to sue some types of companies trying to clone your idea. But companies are all about the execution."
That's the use case that garners the most press coverage. The sort that's more prevalent and far less noisy is licensing, and this happens far, far more often, and generally with not so much as a peep in the press. In fact, this is one survival strategy used by some startups as they pivot when they've created novel technologies but have devised ineffective business models around them. This moots the following statement: "For any startups here thinking patents are a good use of their time - think again." — it really depends on how the patents are acquired, such as through deferred equity compensation. I'd argue against doing so in cash, but doing so with equity could make sense especially if the startup's novel ideas are expected to be executed in untrusted (read: client, or "not my systems") environments.
My main argument is that software patent durations need to be cropped. Could be three years, could be five, but given the pace of software development, twenty is patently (ahem) anti-competitive in the software world. That's the argument I'll stand by unless anyone has a proposal to protect and incentivize the creation of novel algorithms without the use of patents.
Source: the numerous IP lawyers I've worked with during both my day job and consulting engagements. But I'm not an attorney, which means there's a nontrivial chance I got some of the nuances wrong, but I'm willing to attach my name to the overall message.
---
¹—http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=7,098,896.PN.&OS=PN/7,098,896&RS=PN/7,098,896 http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=H... "The present invention then generates a list of possible words associated with the entered part and presents it to user for selection."
- eloff 9y agoI agree that copyright won't be effective in protecting novel algorithms. That's what patents should be good for. But mostly they end up being a tool used by extortionists who produce nothing, parasites basically making the whole system sick. In their current implementation, whether the patent duration changes or not, they're horribly broken. I suspect we agree there. That's typically common ground in the software business. But I would go further and say that patents are largely a waste of time and money for startups. With some exceptions, the Swype patent being one. The things is unless you have a novel algorithm for which there is no substitutions, it grants you very little protection. For example, I have a novel database index algorithm that uses SIMD instructions to do more operations in parallel. But if I patented it, it would largely be a distraction from the insanely complex task of building a full database product and a successful business model and sales channel around it. Sure that algorithm might give me an enduring performance edge over the competition, in the best case scenario. But whether my competitors copy that innovation or not, it's such a small part of the whole, and one for which there are plenty of substitutes - even if somehow mine happens to be the best (the odds are against that!) it's still a minor contribution and likely a waste of resources to patent. You'd need something that's core to the business and which you can't substitute. If you have an invention like that, by all means patent it. By and large that's rare though. And the whole system is so terrible, so utterly broken, so abused by bad actors and corrupt courts (District of East Texas, I'm looking at you!) It's impossible to write any substantial amount of code that doesn't infringe patents. So basically everyone infringes, and some have the bad luck that others will use that to extort money from them. I wish the whole system would die in a fire. I've often wondered how I would react if that happened to me. I'd probably find the cheapest lawyer I could in the district hearing the case, and instruct him to draw the proceedings out to the maximum possible extent - run up the bill as high as possible for the bastards.