Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The USPTO Would Like to Partner with the Software Community (groklaw.net)
123 points by roqetman on Jan 4, 2013 | hide | past | favorite | 128 comments


There are (at least) three valid perspectives on the patent situation within the software community but part of the reason so little constructive progress is made is that many people with strong opinions will often flat-out deny or reject the validity of the other perspectives because it is outside their experience.

Three perspectives of which most people ignore one or more:

- Computer technology is over-run with frivolous, vague, stupid, conflicting, and contradictory patents. Any pretense of quality control by the USPTO was lost in the 1990s. This imposes a non-trivial cost on the entire ecosystem and a complete absence of quality control is arguably worse than no patents at all.

- R&D into new computer algorithms is a non-trivial investment, frequently requiring years and millions of dollars. There is a tendency among programmers to discount the level of effort required to develop a new computer algorithm that materially extends the state-of-the-art even though most could not develop such algorithms themselves and have never been involved in such R&D. Organizations that make this investment do so looking for a return.

- Academia is already facing difficulties in computer science because much of the state-of-the-art research is being done by private companies. Much of this research is being treated as trade secrets because (ironically) patents offer flimsy practical protection. As a consequence, there are a number of areas in computer science where the leading academic papers are literally a good half decade behind the state-of-the-art that is buried in NDAs. Lack of publication means that a lot of smart people are wasting time duplicating work. Patents were originally invented precisely to avoid this outcome. One of the reasons that I stopped reading academic computer science in some areas that interest me is that I see computer science under NDA that is much more sophisticated, which is a shame.

Any practical policy will need to take into consideration all of these perspectives. It is not as convenient and simple as "all software patents are evil!" or "software patents FTW!" but it more closely reflects the real tradeoffs.


>R&D into new computer algorithms is a non-trivial investment, frequently requiring years and millions of dollars. There is a tendency among programmers to discount the level of effort required to develop a new computer algorithm that materially extends the state-of-the-art even though most could not develop such algorithms themselves and have never been involved in such R&D. Organizations that make this investment do so looking for a return.

I don't think critics of software patents are in the practice of claiming that software R&D is always quick or inexpensive. Rather, the claim is that the patent system is demonstrably incapable of improving that situation, and in the meantime has spawned enormously wasteful multi-billion dollar litigation between otherwise upstanding major companies and struck fear into the hearts of small developers who can no longer produce a successful innovative product without risking a shakedown by despicable parasites.

Companies expecting a return have numerous other, less innovation-damaging alternatives to software patents. First to market advantage, copyright and trade secrets cover the field pretty well on their own, and no one can accuse any of those things of causing the average software entrepreneur to lose sleep over the prospect of totally unpredictable ruinous litigation.


The litigation is very damaging, it's also true however that research is being doubled/tripled/etc as it's done in private by multiple organisations and kept as trade secrets, which is inefficient when you consider the world as a whole.

It's just that we can't presently see any regulation based solution for that.


I understand that duplication is inefficient, but how is the patent system doing anything productive whatsoever to address it in the software industry? If something with market value can be kept as a trade secret then the incentive will be to do so notwithstanding the patent system, and then to patent various other things for legal defensive purposes which are less valuable in the market but more valuable in the courtroom. And things which can't effectively be held as trade secrets won't be wastefully duplicated anyway because the first to produce such a product is by stipulation unable to keep the secret.

More than that, if we were at all concerned about the use of trade secrets causing wasteful duplication then we cannot consistently allow the law to protect them as something of value. If we are so keen on disclosure and reducing duplication then industrial espionage should be fully legal as an efficient means of distributing knowledge to other market participants, and holders of trade secrets should be directed to the Patent Office as their sole means of protection. But I think we are not so keen because the problem of duplication is not so large, and the incentive provided by the patent system would not compare well with the incentive provided by the alternative.


>Academia is already facing difficulties in computer science because much of the state-of-the-art research is being done by private companies...As a consequence, there are a number of areas in computer science where the leading academic papers are literally a good half decade behind the state-of-the-art that is buried in NDAs.

Can you elaborate on which areas of CS academia you think are more sophisticated in the corporate wilds? Other than systems work at Google, I haven't encountered any subtopics which aren't dominated by ideas from traditional research centers (either university labs or academic research units at MSR, IBM, etc...)


One area that's heavily under NDA (though perhaps not quite the situation described) is graphics drivers. NVidia and AMD both have high-performance graphics drivers, but the open-source alternatives (reverse-engineered for NVidia, but AMD sponsors their open-source Linux driver) are far behind. They're reluctant to even share hardware specs, let alone the code from their proprietary drivers.

Part of the reluctance is that they don't want to compromise the DRM systems that their products are complicit in, but most of it is patent related. They already have to pay royalties to many graphics has-beens for things like S3TC, and the fear is that if the details of what their hardware and software is doing were publicly available, they'd be painting targets all over themselves. The people AMD employs to help with their open-source Linux drivers are constantly citing "legal review" as the hold-up for releasing new specs or code, but never that they're concerned about making it easier for NVidia to reverse-engineer their stuff.


One area that's heavily under NDA (though perhaps not quite the situation described) is graphics drivers.

But that's not because the algorithms are new and awesome, it's mostly just because the exact specs of the hardware are not happily shared.

CS research is not about lack of hardware specs.

It is also not about protecting someones DRM.

It is also not about crappy patents.

And it is also not about how easy your published work is to reverse-engineer.

None of those are CS research problems.


> "But that's not because the algorithms are new and awesome, it's mostly just because the exact specs of the hardware are not happily shared."

No, that doesn't fully explain the situation. They're worried about far more than their competitor knowing how many ALUs are on their GPU. Graphics drivers have to solve several hard problems: optimizations for shader compilers, scheduling, and memory management, and that's before you even get into the graphics-specific stuff. In recent years, GPUs have been one of the most active areas of research into computer architectures. For you to suggest that a modern GPU and its drivers don's embody any hardcore CS research is just plain stupid - if GPUs were simple to build, then Intel would have shipped a good IGP by now.


I not disagreeing that they do include core CS problems, I just don't believe their solutions to the core of those problems are that far ahead of academia.

In terms of the vendor specific features, sure, neither academia, not anyone else knows much about them. But in the fundamentals of scheduling, binning, etc, I don't think anyone is very far ahead of all of academia.


Just because a grad student somewhere has discovered an algorithm doesn't mean their knowledge is on par with the company that knows when that algorithm is actually useful, and has shipped code using it. Writing a textbook on matrix decompositions and factorizations doesn't mean you would be able to create a Google-quality search engine given a large enough server farm and a few months to crawl the web. The state-of-the-art is far more than what's theoretically possible, and the really abstract stuff like proofs of bounds on the asymptotic running time of a solution to a problem have never been the kind of research that is patentable. Even if the equation is known in academia, if a company spent years and millions of dollars to find the right coefficients, then the company is ahead of academia in a non-trivial way. Reduction to practice matters.


But that's the opponents' point -- the values of such coefficients make excellent trade secrets, but the fact that you can, for instance, invert a matrix, is poor material for a patent.

Personally, I think the limits of software patents should be to precise algorithms. This ends up protecting the fruits of laborious research which have found optimal solutions (in an engineering sense) to things like cryptography, or graphics, or video compression. The disclosure of these algorithms would indeed advance research and the useful arts, and the disclosure would be advantageous. Most software patents, though, are "a system for clicking on a button, but INNA FONE!!!" type of nonsense where disclosure does absolutely nothing, anyway. So sure, such posers ought to be able to patent the exact algorithm they use to click their button, if they want, but NOT to patent the idea of clicking a button, which is in effect what we have now.

This separation goes pretty far towards the concerns the OP wrote down, and is, I think, pretty intuitive to most programmers. It is also the closest to copyright, but without requiring the legal jangle of "well, you used the variable i, but I used j, so therefore my code is different!!!1!one!!" kind of nonsense that pure copyright might result in. Patenting a precise series of disclosed algorithmic steps is helpful, and is a bright line for the patent office, and easy to adjudicate as well. Patenting the notion that you can transmit particular kinds of data over a network, or have certain programs talk to other programs, is where the PTO went off the rails.


I consider corporate research centers to be non-academic. I know for a fact they produce a considerable number of CS advances that are not published but which are used internally or quietly embedded into expensive products.

In all three areas where I have been involved in R&D -- distributed spatial indexing, parallel graph analysis, databases -- the state-of-the-art has been under NDA for years. Basically, any company where pushing the envelope on their advanced software systems is a significant competitive advantage.

The most obvious example is parallelizing graph analysis. Benchmarks like Graph500 are dominated by systems operating at a scale far, far beyond the reach of any algorithm in literature. There is ample evidence that vastly superior algorithms exist relative to what CS academia is producing. In fact, when I was active in this particular area almost four years ago, there were (at least) two different algorithms being used to achieve this kind of scale-out.

On the other hand, most people are not familiar with what is in the literature.


The premise of the patent system is that people wouldn't naturally document a secret process and so providing an external incentive to do so is a net benefit. This is a superficial presumption at best...

Since research must be peer-reviewed to be debunked or even understood, there is a limit to the benefits of trade-secrets and NDAs as a hedge against competition. You might be able to get a short-term advantage, but it's unsustainable because the knowledge cannot transfer. An employer ties his/her own hands by internalizing process knowledge (ironically, not what was intended): the increasingly small number of people with the specialized knowledge having increasing leverage; the profits are destroyed when your only choice is to pay a small number of in-house experts whatever they want, because noone else can do the job. This doesn't happen overnight mind you, but it would after at most a single generation (the point at which you have to train your successors or close shop).

IMHO, the case for patents is hollow.

> "On the other hand, most people are not familiar with what is in the literature."

This is the larger friction. We will continue to grasp at straws until people have thorough and integrative education and access to existing techniques without exorbitant costs or fear of prosecution. Even major (though more frequently minor) improvements over existing techniques are only temporary wins; research that never becomes widely disseminated and understood ultimately becomes a sunk cost.

To refer to your original 3-points:

1) I totally agree, "computer technology is over-run with frivolous, vague, stupid, conflicting, and contradictory patents."

2) I do not discount the level of investment required to push the boundaries of process knowledge, but I would say that it is part of normal competition and those costs are part fo being in the game. A trade-secret is only valuable for a few years, after which it can and should be disclosed to maintain a low cost of employment (unless you want your employees becoming your partners). My point is that patents don't provide any significant benefit toward this end and it has always been the case that if a company or person doesn't have to reveal it's process, it won't. (And the employment of patent lawyers and trolls is not itself a valuable end.)

3) "Academia is already facing difficulties..." Again, I would say this is a temporary situation at worst. We should not extrapolate from the first few points on this curve. We know more about the context: companies that don't publish (internalize all their knowledge) will eventually have no ground to stand on since no one will be able to contribute without an understanding of their internal processes. At most a company can keep only as much knowledge as they can afford to convey, at their expense, to a new hire. They would have to turn their back on a lot of our publicly standardized and centralized educational framework. Unless something were to fundamentally change, I don't see any way those costs can be justified.


Databases. Oracle, Microsoft, etc. have figured out a lot about how to make high-performance query execution engines and transactional storage systems and written about very little of it.

Research has caught up some, but it definitely lags.


You're confusing solid engineering with research.

SQL Server started as a fork of Sybase (Microsoft bought Sybase's source code and started hacking). Sybase, in turn, was based on Ingress and "Ingres was first created as a research project at the University of California, Berkeley, starting in the early 1970s and ending in the early 1980s" (http://en.wikipedia.org/wiki/Ingres_(database)).

SQL Server is literally based on technology for 70s.

Ingress was started by Michael Stonebraker, who then did PostgreSQL (which added novel, at the time, extensions to relational model), who then did Aurora, C-Store and Vertical (column-oriented databases), them Morpheus, then H-Store and then VoltDB.

Stonebreaker did more research (as in: creating novel things) than Microsoft as a whole in SQL Server.

SQL Server is a great database but it's a result of Microsoft paying an army of programmers for 24 years to work on improving a single product. It's a result of running a profiler often, not some unknown-to-the-world algorithms.


That has happened in the past too, in many areas. eg compiler research used to be like this. But many of the companies died, and stuff was reinvented again, probably wastefully (or differently, who knows).


I am sure they have a lot of tiny performance improvements. But since when is CS research about tiny performance improvements?

It's not like Oracle or anyone else has any secret algorithm which runs in linear time when all of academia only knows of exponential time solutions for the same class of problems.


If "CS research" includes "Software Engineering" then yes, query plan optimisers are definitely currently researched.


Do you think quicksort was an unimportant advance? After all, it's only O(n log n) in the average case, and is O(n^2) in the worst case. By your standards, it shouldn't have been seen as any kind of improvement over mergesort.


> there are a number of areas in computer science where the leading academic papers are literally a good half decade behind the state-of-the-art that is buried in NDAs.

At a former company, I learned of the existence of a code packaging technology that would apply arbitrary code changes to a running VM instance atomically. By 2002, it was possible to implement a web application server whose pages were JIT compiled to machine code yet still upload and apply a code change atomically. With some care, transactions in flight could even be stopped mid-way and continue execution on the new code base. On top of that, it was possible to debug page renderings and change and recompile code in the debugger. Not so fancy now, but this was pretty slick in 2002.


From what I understand, a lot of the FPGA and vector calculus stuff that financial-services companies are doing is leaps and bounds ahead of the published materials. But I'm not under NDA in any related projects, so that's just hearsay.


I'm pretty sure we have Wall street quants here, unless one of them offers a convincing argument that yes, they are well ahead of academia, I don't believe it.

In my anecdotal experience, the financial industry is light years behind most post-graduate level mathematicians and physicists. Finanical math is kind of scary for anyone who knows more math than the average banker.


But that's the thing, right? Most of the people working on this stuff are disincented from discussing it, both contractually and in terms of their own profit motives.


That's because you never hear about what's going on outside of the research centers- they're all under NDA.


...but doesn't this sort of argument reduce to "you can't disprove the existence of unicorns?". Eventually this cutting-edge stuff has to come out from under NDA, so we should at least know of major advances from the 90s which were only revealed later.


Do companies want to profit from this computer science research being done under a NDA? Don't they have to release these advances in the form of a product to earn a profit?

Then show me some products which demonstrate this "cutting-edge" computer science research.


They don't necessarily have to, and even if they did, it may not be obvious.

Consider a financial company working to improve prediction algorithms for their in-house use, hiring smartypants PhDs and giving them free reign and great pay. The result after ten years could be way ahead (or even just a little ahead) of the academic world's work and never release a product with a sticker for a big shiny new algorithm.

The firm wouldn't even have to stand out in its success; it could do reasonably well compared to others, and just attribute a lot of its modest success to its algorithmic insights.

Even in externally released products, really clever ways to get around things aren't necessarily visible. Just today I was reading about Jonathan Blow's work [1] on localised kriging [2] for his upcoming game The Witness. He's pulling from advanced geostatics academia for a little feature he wanted in a game, and if he didn't blog about it (and then discuss enhancements in the comments) no one would know it existed - even once the game is released. A small example to be sure, but I think it exemplifies the point.

[1] http://the-witness.net/news/2010/05/kriging-is-cool/ [2] http://en.wikipedia.org/wiki/Kriging


I don't see how this situation is an issue of patents, really. A company that is decidedly keeping its prediction technology secret to gain an edge in a market which is entirely about being better at prediction than the other guys is not going to patent and therefore open source their technology no matter what happens to the patent system.


Patents exist to encourage inventions to be published, in exchange for exclusive licensing rights of the invention. Their entire purpose is to be an alternative to trade secrets. So it is fair to say that effective patents are those that are best at convincing people that they should publish their work instead of keeping it secret, and that there will be no financial impact to them doing so.


Patents only offer you protection against detectable infringement. If it's possible for company A to keep their algorithm secret, it's possible for company B to keep their infringement secret.


I understand that, but in the examples given in this thread of CS areas that are lacking published research, it is pretty clear that companies develop technologies in secret because secrecy provides them with more value and serves as a better protection against competitors than patents would. You just can't make a financial firm share their trading recipes that have any sort of value. We're lucky they don't patent trading/financial versions of 1-click-to-buy.


A company could instead profit by trading using their results, and some results could belong to governments.

I'm reminded that my graph theory professor said that he could factor polynomials over finite fields in polynomial time, but that he could not tell me how to do it.


> R&D into new computer algorithms is a non-trivial investment, frequently requiring years and millions of dollars.

There is a strong opinion among computer researchers that pure algorithms are indistinguishable from math, and thus should be unpatentable. The math guy doing research on sound waves might be slightly annoyed when he gets denied a patent, but the guy working "on a computer" with the exact same math, doing the exact same research, gets a patent because he described the math "on a computer".

Of course, we could just start letting math also be patentable, because it too requires non-trivial investment, frequently requiring many many years and millions of dollars. That is, if the work behind something alone is enough to qualify for patentability.


I'm interested in a reply to iskander's question as well as some concrete examples of new "computer algorithms... frequently requiring years and millions of dollars".


Think of the algorithms sitting in the base band of your cell phone. They implement things like modulation, hand-offs, power control, etc. E.g. there is some algorithm that controls the transmit power of your device to maintain the minimal transmit power necessary to close the link to the base station while you move around, walk into buildings, etc. There's another algorithm that tries to optimize hand-offs as you go from one cell site to another. Etc. These algorithms are very expensive to develop because: 1) you need very expensive people (PhD's with decades of experience) to work on them; and 2) getting them right takes a ton of experimentation and tuning with real equipment in a variety of physical scenarios.


All of your examples sound like variations on fundamental CS problems, and most CS undergrads should have been exposed to them and to their solutions.

Are you saying industry is leaps and bounds ahead in the fundamentals of CS theory? Or just that there is a lot of vendor specific detail in the hardware and infrastructure? Because the latter is not CS.


They're not just variations on fundamental CS problems because the complexity of the problem is dominated by physics + hardware + infrastructure. E.g., while most CS undergraduates are exposed to control theory, a power control loop isn't a simple application of a controller. It has to deal with the physics of signal propagation, knowledge of the kinds of environments users encounter, the characteristics of the underlying radio, and the nature of the network infrastructure. All that insight and experimental validation is ultimately packaged as an algorithm (although a very specific and detailed one).

To analogize to another domain: a power control loop in a cell phone base band is as much "just a variation on fundamental CS problems" as is register allocation for a hairy architecture like x86. Yes, graph coloring gives you a conceptual framework to start with, but that gets you 10% of the way to a usable solution.


Sure, but that's not CS is it. It's physics and hardware engineering, which just happens to be codified in software.


You seem to be saying that it's "fundamental computer science" to be aware of a problem and the naive ways to solve it, but not fundamental CS to know what methods are actually usable in the real world. That definition may have its merits, but is certainly not appropriate to use in a patent law discussion.


Yep, examples would be interesting. There are counter examples - like the open Opus audio codec, which was developed by collaboration of various engineers and which is state of art precisely because they weren't burdened by stupid patenting issues, and could instead concentrate on creating a beautiful technology.


How is it a counter example? Open Opus is built on patented technologies that are licensed royalty free by the original inventors (Broadcom, Xiph.org, Microsoft, etc). It certainly wasn't cheap to develop--the development cost is just being subsidized so the end result can be given out freely.


"Patented" doesn't equal "was expensive to develop".

In the context of codecs we're actually seeing how it prohibits improvements of technology.

Broadly speaking (i.e. I'm sure there are counter-examples, but they are not significant in the big picture), people didn't patent compiler technology, and we had great progress in compiler technology.

People didn't patent database technology and we had great progress in database technologies, from both academic research and competition.

People didn't patent word processing technologies so that Google can re-implement Word functionality in the browser because none of the fundamental techniques have been patented. Again, lots of progress from competition.

For whatever reason, audio and video codecs are heavily patented and the technology is ludicrously outdated compared to what it could have been if we had progress from competition or academic work of free software implementations because the patents cover basic ideas in compression so no-one can build on them and patent holders have no incentive to improve the technology because it's much easier (and more profitable) to just collect royalty checks.

However, developing video codecs isn't any more expensive than developing databases or compilers or word processors.

See e.g. h264 encoder which is an open-source effort by few amateurs that is widely regarded as being of better quality than commercial offering costing thousands of dollars (because of patent monopolies, not because they were so expensive to develop).


I don't disagree with your premise per-say, but, I do think its pretty easy for me, personally, to dismiss some of these positions wholesale.

1) I agree with

2) Computer technology moves at such a breakneck pace and is generally so hard to reverse engineer that this point doesn't hold water for me. We know that google's search algorithm works, ok, but can we reverse engineer it from the outside? The answer seems to be no, so why protect it with patents? Even if we could, by the time we were done google would already be on to the 'next big improvement', there is no catching up in software short of a drastic stumbling in the incombent, should we really protect the incombant from messing up?

3) The entire concept of going to college for software related endeavors is in such peril straits that I don't think we should even consider the affects or impacts of academia on software development, it's well in past at this point regardless of the patent situation.


We know how Google's algorithm works in no small part because Larry and Sergey came up with it as part of their graduate studies at Stanford. Stanford owns the patent(s?) on it and made hundreds of millions licensing it to Google.


You know how it worked ten years ago. Do you really think that has much to do with how it works today?


As of four years ago (last time I had any meaningful contact with search quality people at Google), it was a very convoluted layer cake of diverse signals and carefully tuned heuristics.


I guess that's what they needed Go (golang) for.


Well said points!

It takes time and paying people so they can focus on solving hard problems for real innovation to happen. And its sad when it then has to become proprietary so that the operation can protect having any ROI

sharing is caring, and if that means you can have some revenue still, great!


"The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying." -- John Carmack


That's one possible narrative. Another would be:

The idea that I can be presented with a problem, hire a dozen experts and spend millions of dollars coming up with a solution to the problem, and have someone come along and just copy the solution and use it in their own product to compete with me is horrifying.


Looking at the roster of high-dollar patent lawsuits (both successful and unsuccessful) over the past few years, quite a lot of them are the Carmack type.

Bounce scrolling, emoticon keyboard input, unified search across multiple apps, "placing internet information on a tv screen", etc. These are totally obvious ideas, not the type of thing that you spend millions of dollars on researching for years.


I absolutely agree.


And here's another one:

The idea that someone can come up with a solution:

- prevent anyone else henceforth from using it without paying them,

- enforce that by force and using taxpayer money,

- stretching over political boundaries,

- not even giving the remotest fair chance to the unborn to ever come up with that solution,

- charge a price fixed by whatever whims tickle that person's fancy and deny others of a possibly cheaper solution

- just to protect a possibly overvalued idea

.. is extremely horrifying to me.

Please refer this earlier post: http://news.ycombinator.com/item?id=4591253


Can you give me an example of how this would happen? If google spent millions solving a problem how would I copy the solution and integrate it into my product, considering I will never see google's codebase?

Genuinely asking, a real world situation would be cool. It seems like this would happen most when ex-employees try to compete with the large company.


The fact that it's difficult to reverse-engineer Google's technology is an accident of the kind of products it makes: web services. You can access the product while the "secret sauce" remains safely tucked away in a data center.

At the opposite end of the spectrum think of a company like Intel investing into WiMAX. Developing that standard was not cheap, but almost by definition it was something that required disclosure of the end result. Intel can try to recoup the initial investment by selling chips implementing the standard, but competitors can always undercut them on price because they didn't have to spend any money coming up with the initial design.

There is a lot of technology that's much easier to reverse engineer than it is to develop. Especially with software, where it's often very easy to dig out a copy of the firmware from a competing product and decompile it.

You might think this kind of stuff doesn't actually happen, but in the 1990's American companies hated working with the Chinese precisely for this reason. They'd take an American product and copy it right down to the silk screening on the PCB's, and sell the result for cut-rate prices.


You might think this kind of stuff doesn't actually happen, but in the 1990's American companies hated working with the Chinese precisely for this reason. They'd take an American product and copy it right down to the silk screening on the PCB's, and sell the result for cut-rate prices.

And the world is arguably a better place now that the Chinese can make super-cheap parts and clones of American designs and sell them to people who couldn't afford them otherwise.


For software-as-a-service, trade secrets are easily kept. Not so much if google published a desktop version of their fancy product. And no, making saas the only viable platform is not a good outcome. (then we wouldn't have to worry about trusting the user, but we would have to worry about trusting the provider.)


'jandrewrogers makes a very cogent point above when he points out that the patent system was put into place precisely to stop all information from being hidden. Without any legal protection, you have to create all sorts of ugly things (like guilds) in order to protect the things you develop.

We may have lost some of Shakespeare's plays because he had to be so secretive with his work, since he had no other legal protection from people just copying the stuff and putting on their own plays.


I just read how Shakespeare borrowed/stole heavily from other artists of his time.[1] Today he would have been sued for this and you wouldn't have those plays at all perhaps.

[1] Last chapter of the recent book "Imagine" by Jonah Lehrer


That isn't horrifying at all; one person loses (you), but the consumer wins big time. On a utilitarian basis, this is great.

What would be more horrifying is a dearth of innovation for fear of other people copying it. Is that realistic? Is first-mover advantage enough? What about prize funds (e.g. Netflix prize, X prize, etc.)? Would the inefficiency costs of those mechanisms be larger than the coordination, government regulation, litigation etc. costs that patents cause?

Are there any kinds of innovation that definitely would not happen under alternate schemes, that we absolutely need patents for?


No, that's not another way to describe the same situation; it's an entirely different situation. Was this a honest mistake or deliberate sophistry?


When "what's appalling about patents existing" is the emotional argument, "what would be appalling about patents not existing" is a good counter-argument. On the gripping hand, not having patents would only threaten big solutions that work as non-disclosed competitive advantages, where having patents currently threatens all solutions no matter how straightforward.


When "what's appalling about patents existing" is the emotional argument,

I thought the argument is actually that they exist in the way they do, not in them existing at all.. ?

"what would be appalling about patents not existing" is a good counter-argument.

Then someone make that argument; the post I replied to didn't IMHO, and here is why: If patents didn't exist, you wouldn't do the same R&D in the same way as you would do in a world with patents. So that's just apples and oranges. "If this chair didn't exist, the person would fall on their butt!" No, actually in that case the person wouldn't even have gotten into a situation where they need a chair to not fall.

Which is of course something that is often claimed, that we need patents to "encourage innovation". But consider all the inventions that are made at more or less the same time by people who never heard of each other. To me it's obvious that (large chunks of) invention are more inherent in the laws of physics and human society than in individual inventors. "I made this" actually means "everything up to and including me made this"... sounds less grand, is so much more true. But I guess taking credit for pre-existing things and squeezing money and power out of them is something we actually got used to. Doesn't make it true though.

To me it's all bogus anyway, I don't even buy the claim that a bunch of molecules and the memories others have of them constitute an entity called "John Carmack", as if that was a real thing. But with that outlook it's very hard to influence the political process, or even to just make sense to the average person.


While we're demanding that the government give us artificial rents, why not just pay it directly to remove our competition, and skip all the bullshit.


You know what's also artificial? This whole idea that I can file a claim with the county clerk to a particular area of the Earth, and from thenceforth I don't have to defend my territory like every other animal on the planet--other people will do it for me with government sanction and at taxpayer expense.


In my state we cannot own land. We must rent it from a gang. I believe the rent is called "Property tax."


Better than the state of nature, where you don't "own" land, just control it until another animal kills and eats you.


Yes, if the solution takes "dozen experts and millions of dollars", it should be possibly patentable.

But if the solution is reproducible by an average or good programmer leading by logical steps, then it shouldn't be patentable at all.


The fallacy of this suggestion is in deciding where to draw the line.


"You can't patent obvious shit" is actually patent law, so that's not a suggestion at all... it's just not enforced very well, is it, and that's the whole "mystery".


"Obvious" in US patent law basically means you assembled pieces of prior art like Lego bricks. If you use something nobody ever wrote down, it doesn't matter how many of your peers would have immediately realized the same solution (i.e., whether your disclosure actually benefits anyone), you win the race just by having encountered the problem first.

http://en.wikipedia.org/wiki/Inventive_step_and_non-obviousn...


Sort of. That's really part of the Federal Circuit's ever-expanding scope of patentability, which the Supreme Court has made some moves to hem in (as noted in the third paragraph in the section you cite), and is a somewhat recent development. The Supreme Court in fact ruled exactly the opposite to the Federal Circuit's test that you paraphrase, ruling that "obvious to try" is a valid obviousness test. In other words, even if encountering a totally novel problem, if a person with ordinary skill in the art would have also tried the same solution as yours, it should not be patentable. See http://en.wikipedia.org/wiki/KSR_v._Teleflex

The fact that the decision was unanimous has a lot of us hopeful that the new patent cases that the supreme court is taking on will see more of the federal circuit's nonsense cut back. It won't be patent reform, but it will be progress.


The average programmer can't solve fizzbuzz.

Therefore anything more complicated than fizzbuzz passes the nonobviousness test and is patentable.


The hypothetical "person having ordinary skill in the art" is presumed to have some actual skill, to be more skilled than a layperson, to have have some actual creativity, and to have an educational background similar to that of active workers in the field. People who merely call themselves programmers without having any significant skill do not count toward determining what the level of "ordinary skill" is.


Average programmer definitely could. Average applicant, maybe not.


Maybe I'm misunderstanding you, but I wasn't suggesting that the "Is a solution reproducible via logical steps?" rule to be a validating rule... It only invalidates patentability if found to be true. Otherwise, nothing.


Well that is an aspect of the issue. But the issue that Carmack points out is that: if somebody has patented it does not matter that the competition does not copy, they hire their own dozen of experts and spend their own millions they still can violate the patent. Someone else can come in and rob them of their investment because they came to the same logical conclusion.


The actual technology is only one part of running a successful software business and not the most important from my experience. Just copying someone else's solution does not necessarily mean that you can be as successful as the originator.


The technology may not be the most important thing, but (excepting a few weird industries with significant legacy costs that newcomers can ignore) it's also the advantage the young start-up has against the established company.


This is how electricity was developed though, too, no?


Groklaw's editorializing has gone way downhill since the SCO days. E.g.

"I know the USPTO doesn't want to hear that software and patents totally need to get a divorce, but since most software developers believe that, maybe somebody should at least mention it to them, if only as a future topic for discussion. Most developers I know believe software is unpatentable subject matter."

Ask software developers who work in defense, aerospace, medical devices, telecommunications, video/audio processing, and other capital-intensive, R&D-intensive fields. I think you'll get a rather different answer. Indeed, as Google is finding out with the Motorola acquisition and the resulting patent situation, software engineering culture is far from uniform on this issue. The guys who write software that implements radio waveforms don't have the same views on patents as the guys who write software to optimize ad display, or for that matter the guys who write the search engines. Ironically, Google's PageRank is the subject of several patents, and Stanford's interest in the IP netted them $335 million in Google shares when they exclusively licensed it back to Google.

Although, I think this sort of round-table is a pretty good forum for figuring out more about the consensus view of software engineers...


Ask software developers who work in defense, aerospace, medical devices, telecommunications, video/audio processing, and other capital-intensive, R&D-intensive fields.

I've worked in several of those fields, and I have yet to meet these proponents of software patents you're talking about. Any advantage to having a patent on the results of your own R&D seems to be far outweighed by the persistent threat of being sued (with or without any actual merit) by someone else who claims you're infringing on the results of their R&D.

If something was useful enough and available enough for multiple parties to invent/discover/exploit it independently, it should be self-evident that patents are not a necessary incentive for that work to take place and can only be a barrier to further innovation for all-but-one of the inventing/discovering parties. This effect is magnified many times over if the patent is not for a specific piece of software but rather for something like a data format or communications mechanism. There is a reason you can't copyright the shape of a font in the US, and I think analogous arguments apply in these cases.

Fortunately, this is less of a problem for us here in the UK where the culture is not as litigious as in the US. Still, if nothing else, the repeated attempts by the US to export its onerous IP regime are a worry for small businesses here that using technologies potentially affected by software patents granted in other jurisdictions. The whole system is just one big barrier to competition for smaller organisations who can't play political/legal games to negate the whole technical issue as the big players do.


> If something was useful enough and available enough for multiple parties to invent/discover/exploit it independently

What makes you think the technologies in question are invented independently? Take the Motorola Mobility patents, for example. Most of the patent licensees aren't in a position to hire all the experts and do all the R&D it took Motorola to develop that technology. They just use the end result of all that R&D produced by Motorola. If there was no patent system, they would just use the end result without compensating Motorola for all the work of developing the technology.


What makes you think the technologies in question are invented independently?

What makes you think they aren't? That's the problem with a lot of software patents: people can just run into them (or be accused of running into them and subject to the resulting legal proceedings) without even knowing they were there. Then, suddenly, possibly after years of their own R&D, they get hit with paying royalties on something that had nothing to do with their own development work.

If there was no patent system, they would just use the end result without compensating Motorola for all the work of developing the technology.

Perhaps, but if they're really only trying to make carbon copies of what Motorola were doing, then Motorola have a huge first mover advantage anyway. Specifically, they have as long as it takes to commercialise their R&D work before they have to disclose it, because the work is a protected trade secret like any other up to that point. So as long as they keep innovating in significant ways that others couldn't, they will remain years ahead of their competitors in the market. That seems like a natural and compelling commercial incentive to me, without any need to add artificial benefits via patents.


There will always be some who want to keep a broken system around if they can earn revenue from it. If money can be extracted, you can never get an complete 100% unanimous vote in fixing the system.

For people who owns land, some do not like regulations that forbid dumping toxins into it. But most societies know that forbidding the dumping of toxins are preferable over allowing it because of the ecological damage the toxins causes to society.

Patents causes an ecological damage to the software community. It might be profitable for a few, but for society as a whole it is a net loss. So long the cost-benefit analyze shows that, patents should have no place in software. Considering that patents are granted monopolies given by the government and enforced by the state, if society can't get more from software patents than it cost, society should not be in the businesses of granting said patents.


I have worked in defense. Getting a patent was like "Oooh, that's cool". Finding out if there were patents in the way to do anything was weeks of supporting legal's searches.

I'm sure someone, somewhere, at some level, likes patents. I don't think it's engineers though.


I also worked in defense. The company was run by engineering PhD's and the end result of millions of dollars of R&D and man-years of labor was a set of patents.

Your line engineers aren't going to get super excited about patents, because they're not compensated for their innovation (that's a separate rant), but it wasn't my assertion that they'd come to a rousing defense of software patents. Rather, they're not going to come out to a rousing opposition to software patents like Groklaw claims.


As far as pure software development (not using at that point integrated custom hardware) as an idea to form, I haven't seen anything in over twenty years that deserves a patent. That includes audio, video and other compression systems that build on algorithms that are over two decades old. Those systems that tightly work with specialized hardware are a bit of a different story.

As far as any system that is defined only in software, and capable of running on a generic computer, with generic input/output devices of today are not, imho, patentable. Anything that involves an obvious idea implemented in an obvious way is not patentable, of which the incredible majority of software is. Again, exception to interfacing specialized hardware...


You mean "They won't publicly say they dislike something their company likes" That's true, for some of them. Others I can still see them saying "patents are more trouble than they're worth because they're outspoken types.


Ask them if they'd be OK with a patent that simply read "using a computer to transmit a radio wave" and see if they'd get behind trolls suing every texi-cab company that uses a dispatch radio tuned by a PLL and a microcontroller.

That might help them understand where this is headed (and already arrived in many cases).

They want to patent that brilliant little algo they spent months on to eek out that seemingly impossible spread spectrum noise piercing scheme that they finally got working. That's not how it happens at the patent office these days. Worse still, after all those months of creating something genuinely usefull, they're likely to be sued by someone who's never touched a radio, or made a product, and has a patent that reads more like "walky-talkies with teh interwebs inside".


> Ironically, Google's PageRank is the subject of several patents, and Stanford's interest in the IP netted them $335 million in Google shares when they exclusively licensed it back to Google.

That's not irony, as "should not be patentable" and "is patentable" are not mutually exclusive (I've also never heard of anyone being sued over the many, many pagerank-like implementations out there, so really the only thing going on there is University patent policies).

"should not be patentable" and "is patentable" is actually a large part of the problem, because you have to engage in the game to not be sued out of existence, but in doing so, you're making the environment even more toxic.

I always like to quote the Gosling story:

"In Sun's early history, we didn't think much of patents. While there's a kernel of good sense in the reasoning for patents, the system itself has gotten goofy. Sun didn't file many patents initially. But then we got sued by IBM for violating the "RISC patent" - a patent that essentially said "if you make something simpler, it'll go faster". Seemed like a blindingly obvious notion that shouldn't have been patentable, but we got sued, and lost. The penalty was huge. Nearly put us out of business. We survived, but to help protect us from future suits we went on a patenting binge. Even though we had a basic distaste for patents, the game is what it is, and patents are essential in modern corporations, if only as a defensive measure. There was even an unofficial competition to see who could get the goofiest patent through the system. My entry[1] wasn't nearly the goofiest."

You make market incentives to get companies to patent everything they can. Companies incentivize engineers to patent everything they can. Patent lawyers rewrite the software patent applications to take what is already an abstract set of instructions and turn it into the platonic form of that idea, to make sure they cover all implementations of that idea. The patent office accepts it after 7 resubmissions. You're not going to end up with a good result.

[1] http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sec...


> The guys who write software that implements radio waveforms don't have the same views on patents as the guys who write software to optimize ad display

Can you elaborate?

It seems bizarre to me that formulas can not be patented, but telling a general-purpose computer to execute that formula, can.


It depends on your definition of "general purpose computer." Technically, a signal processor buried in a radio may be a "general purpose computer," but as a practical matter it's no different than an ASIC that implements the same logic in hardware.


I'm sure some engineers like patents. It makes them feel important, it's something to show to their bosses (and parents) and keep a score for promotion purposes.

Managers also like patents to schmooze their bosses.

"See, I did a patent, that's like, very important"

Meanwhile the lawyers say "yeah, sure" while collecting heavy fees.

And 90% of R&D is on the finished products (incl. code/blueprints) not on the "invention".


I don't think that's an accurate statement of how patents function in these industries.

Patents provide a framework for companies to transact in technology while protecting their R&D investment. It enables companies like MIPS and ARM to specialize in producing designs without having to develop finished products, and it allows companies to invest in open standards like LTE or WiMAX without having some Chinese manufacturer just take the end result and produce cheap chips implementing the standard at low cost because they didn't have to undertake any R&D investment.


ARM/MIPS are not only about patents, but the actual logic design of the processor

It isn't hard to create an "ARM compatible" processor, but you can certainly not sell it as this without infringing a trademark (and copyright on the instruction set, etc).

With WiMax and similars, again it's not only patents, but also trademarks that are only licensed to companies that pay the fee and usually have to pass a compliance test as well.

Sure, patents are present but they're only part of the story.

Also, patents are not the only way to protect an invention, the two other common methods are secrecy and publishing it (which prevents anyone else from getting a patent on it)


MIPS and ARM are hardware, not software.


A large problem with software patents is that feature definition and implementation have been rolled into one. Patents were designed to protect implementation - that is, you can't patent having an engine in the car, but you can patent a specific design (implementation) of an engine. In the software world I feel like that distinction has been blurred.

Even if we assume that software is patentable, the bounce back effect should not be patentable. The reason is that all the novelty is in coming up with the feature itself. I don't know whether I could come up with the bounce back effect by myself. I know for a fact that I could implement it, and so could any sufficiently strong software engineer. There is no novelty in the implementation that is worthy of patent protection.

This is trade dress all over again hiding under a different name. It should be given a different status (just like business patents), and different time frames of protection. This way we still protect truly novel research in algorithms (pagerank for example), while eliminating 95% of the patents we as software engineers find so objectionable.


The reason is that all the novelty is in coming up with the feature itself.

This is a very good point. Often times knowing the feature you need to implement is the really hard thing. Once you've decided on that, it's trivial to implement, even if you're the first to do it.


I'm a software developer by trade, and here is my opinion: Software should be treated as language, and thus not be patentable.


This a thousand times. It totally makes sense that you should be able to copyright code. If someone uses your exact code without permission, you can ask them to pay you.

But deciding which ideas are non-obvious is clearly something the USPTO isn't capable of, and so they should just get out of it.


When I was younger and far more innocent I would do things because of the sheer love of doing, learning and discovery. I'd spend hours, no, days, wiring chips together, writing code, testing, soldering, dreaming, inventing. In college I even published a paper on some work I did in robotics when pushed my my prof's to publish. It was great. I'd like to think I "invented" a few things in the process too.

Then I was "born" into the real world: One where companies who do nothing (and some who do something) have patents for stuff I had been doing for ages. You know, stuff like using pulse-width-modulation to control LED intensity (ye'old Color Kinetics), clicking buttons (multiple companies) or putting a spring in series with a microprocessor-controlled motor to control force (MIT, series-elastic actuator).

That's when I realized that what I had been "sold" about engineering, entrepreneurship and research and invention was a huge pile of bullshit. The realization was that government incompetence in perhaps one of the most important human fields of endeavor --invention-- has all but ruined what I loved to do before this epiphany.

Now you had to study Sun Tzu. Now, without your own bullshit patent to act as a shield, you had live in fear of being sued for daring to make a screen area clickable or drag-able, attach a spring to a motor, dim an LED with PWM or the myriad of "obvious to someone skilled in the art" things that are patented. Or you had to hire lawyers to ride shotgun on everything you might want embark on.

The alternative is what most of us actually have to do: We use the tools we know and what we learned to create things and explore ideas. Unless you operate at Google/Apple/Samsung scale you have no choice but to stick your head in the sand and hope that someone doesn't come after you because you app sends an email (or whatever).

I don't know what the solution might be. I have done my share of heavy-duty hardware-intensive R&D spanning years. I get it. Sometimes the difference between something flying and not is found in a seemingly minor detail. The wheel was obvious to the second guy who so it, right?

At the same time, I think it is beyond-obvious to most in tech that the US Patent Office has done a dismal job of filtering that which is "obvious to someone skilled in the art" from true invention. I am not going to draw the demarcation line myself, the subject is too complex and each discipline has it's own boundaries.

That said, if you have ever invested any time in the process of patent search I would be surprised if you did not share my sentiment: the vast majority of patents I have seen should never have been issued.

I fully expect lawyer types to say something akin to: "You have to read the claims carefully. The differences can be subtle but important". I've heard this before. My answer has always been the same: As an engineer I don't have to dive into intricate lawyer-ese to know bullshit when I see it. A spring attached to a motor to control force, you know, "F=kx", is way beyond obvious to anyone who took first-semester Physics. Yet, you lawyers manage to craft convoluted language that takes "F=kx" in the form of a motor and a spring and turns it into a patent that I now have to worry about if I do robotics (which I have done in the past).

Perhaps one of the problems is that the USPTO (I can't speak for other countries) is like a self-feeding fire: The more patents they approve the more people and companies have to file protection patents, which brings in more and more money to support more and more bureaucrats. Every patent you approve is a patent that has "job security" written all over it. If, starting on Monday, they approved patents at a rate of 10% of what they did last year they would probably have to fire 75% of their staff (just guessing).

Maybe the way to fight nonsense patents isn't to make an intellectual claim at all. Maybe the only way is to act politically in order to funnel, say, 50% of USPTO revenue to the Department of Health, or Education or completely outside of government entities. The USPTO would cease to be a self-feeding fire and they might just be forced to only pass real patents.

What if there was a rule that everyone involved in a patent that is invalidated is fired and they loose their pension? Violent, yes, but it would sure raise the bar very, very quickly to a super-high level. Which is exactly where the bar should be.

The other aspect of this is that perhaps patents should cost a lot more money and be subject to a significantly more public process where prior art is defined far more liberally than it is today. If a patent application costs started at the lesser of a million dollars or some percentage of last year's revenue the bullshit patents would go away. In the case of organizations like Google/Apple/Samsung it might cost them ten million dollars to apply for one patent and dozens of millions of dollars to actually get one patent. If a patent costs fifty million dollars I suspect we are not going to see many "slide the button this way" patents filed. Yes, this is off-the-hip and not well thought out. I get it. Take it as more of a random though out of frustration than a coherent idea.

Sometimes you just want to cry when you learn about some of the consequences of the government-sponsored monopolies created through the USPTO. Here's a particularly touching example:

http://www.electronista.com/articles/12/06/14/speech.applica...

The teachers at my kid's school asked me if would collaborate with them to help create (free) iPad apps for their developmentally-challenged students. Of course, I will, but the above bullshit patent and the many more that must exist in the dark files at the USPTO sometimes jar your reality. It is a sad note that rather than sit down and start writing code one of the first things I have to do is a patent search.

Sometimes I wish things were like when I was younger and more innocent: I could choose to help someone with my knowledge of technology and we'd all benefit from what might result (commercial or not). That, sometimes, is a tough choice to make today.


If the price of patent filing was to increase it would increase the barrier for people that don't have a lot of money. Filing in the US starts at $390. http://www.uspto.gov/web/offices/ac/qs/ope/fee100512.htm. I picture a person without a job and lots of time on their hands coming up with something truly unique and amazing, only to be met with an even larger barrier to entry to make sure some big company can't rip off the idea and go to product with their budget. People already face daunting forms, making the process harder only negatively effects poor people that can't afford a team of lawyers and paralegals.

Other than that I found your points on how the current system doesn't incentivize creation but dissuades it instead good, I can say I've been put off from a few of my ideas because I find a patent that's a bit too close and I really don't want to have to face that. Maybe one day when I have billions I can be a renegade, not yet though.


Okay, how about the lesser of 10% of the patent owner's monthly income or $10,000 to file? From there, it would be another $10K for the first 5 years, and $50K for 3 5-year extensions? Then the filing can be modest.. and upon approval, will be about the same to cover 5 years, and have to re-up at a higher cost.. assuming the patent is actually worth keeping active by then.


If patents were very expensive and someone with no money invents a novel cure for cancer in their garage the next step is to go find money to both get a patent and make the thing happen. If they don't have money and come up with a real --useful, marketable-- invention they'd have to go get money to make it a reality anyway.

Again, as I said in my note, not well thought-out at all.


I thought I felt constrained by clauses in the "IP" section of my contract, but then I remembered: patents.


I'm disappointed by the number of software patent apologists on this thread. The effort or the cost required to accomplish something in software is not a good argument for being granted a government monopoly on your type of solution. Code itself can be copyrighted and does not have to be shared. Novelists spend years on novels, have their exact words copyrighted, but don't expect to be granted "patents" on the ability to tell certain types of stories. We need to free programming from these illegitimate shackles. We programmers deserve to have the same freedoms as writers when we sit down to tell our stories in code.


Disappointing that the first topic is writing style, not whether an invention would be trivially recreated by anyone who might need it and so shouldn't be claimed.


Here is the notice on Federal Register.

https://www.federalregister.gov/articles/2013/01/03/2012-315...

USPTO should go abolish itself, for the benefit of mankind.


Software patents are here to stay. Don't fight a battle you can't win, the Patent Office is not going to throw away the billions of dollars they make on this... But you can make it so they get to keep their revenues, but we get to add rules that help invalidate patents, or limits how much the troll gets.


I disagree. If we can reclaim that algorithms are mathematical and therefore unpatentable we can regain our ability to actually innovate without fear.


How would you propose we do that? Write mathematical equivalents that are equal to patented algorithms then claim we didn't infringe on a patent but instead implemented the mathematical formula we wrote?


The Patent Office makes billions of dollars?????

There are some five hundred thousand applications filed per year, about half of which (so same order of magnitude) are granted [1]. In order for them to make a single billion dollars, there needs to be a few thousand dollars _profit_ on the fees -- I assume, since you said "make", that we're talking about profit and not revenue.

If we're talking about revenue, then it is somewhat close to believable, but there's no reason for them to be reluctant to cut revenue if it also means that they get to cut expenses (on employing reviewers). The top patent holders for the last several years running [2] are all in the software industry, so it's reasonable to expect the USPTO's expenses to drop significantly if software patents were disallowed.

(Finally, the patent office is not a private corporation, but an entity of the government, so the battle is absolutely winnable by merely outlawing software patents.)

[1] http://www.uspto.gov/web/offices/ac/ido/oeip/taf/us_stat.htm [2] http://en.wikipedia.org/wiki/List_of_top_United_States_paten...


The patent office isn't the entity with either the most say or the most desire to keep things the way they are. Congress determines whether or not the patent office even gets the fees or they go straight into the treasury.


Santa Clara held a conference on potential solutions to the software patent problems a few months ago. The proposals ranged from abolishing "computational idea patents" (Stallman says even calling them software patents is flawed) to fee-shifting. It's pretty interesting if you have a few hours to spare.

The video feed is here: http://ammsweb.scu.edu/webcasts/mmedia1/20111014-083613-1e_o...

Wired op-ed series based on the conference presenters: http://www.reddit.com/r/IAmA/comments/14cb0c/im_snoop_lion_a...


If you would like to attend one of these meetings and make a point while making everybody laugh, I suggest telling a fictitious story about the time you wanted to learn how to implement a software technology by looking up an expired patent on it.

The fact that this idea is a literal joke should be quite revealing. Patents are supposed to be comprehensible. They're supposed to be the alternative of trade secrets. They're supposed to be a means by which the public learns how to do non-obvious things once they expire.


Personally if the implementation is simple given the task, and the idea is obvious, or combines two existing concepts in an obvious way... it shouldn't be patentable... Anything that is a virtual representation of something real, in terms of software is an obvious idea, and shouldn't be patentable. In fact, for the most part, I can't really think of anything in terms of software, that doesn't have corresponding unique hardware for the past 20 years that is worthy of a patent.


I'd be interested in seeing software patents come with source code and unit tests. The tests, in particular, would help delimit the breadth of the claims which seems to be what the USPTO feels it needs help with. Once they have executable unit tests, it seems like it would be possible to automate the search for prior art.


Unfortunately, I suspect they will not get nearly a proportionate amount of input saying 'software patents delenda est', because the people who feel that way also know that the USPTO is not likely to take their input seriously.


we have a chance to find out.


The fox once wanted to partner with hen, so it went to the farm.


"The first topic relates to how to improve clarity of claim boundaries that define the scope of patent protection for claims that use functional language."

Or to put it another way, the patent database is a broken datastructure, how do we fix it?

I think it's important to take their question seriously, because if we give them serious answers it will bring home why the patent system is more broken for software than for other things.

The problem with boundaries is that in ordinary property, the incentives are to make boundaries precise. Each property owner may not mind if it's not obverious that the other guy's property is on the other side, but he wants to be sure all of his property is on his side. This doesn't work in patents. The pushback comes from overstretched bureaucrats, not other property owners. So, an interesting question is, is there a way of changing this so each patent filer has the incentive to police the boundaries of other patents?

Imagine that at a given point in time, the patent database included not just the individual patents, but a '20 questions' style index, whereby any patent could be located. Crucially, no patent could be enforced against anything outside the 'bucket' in which it is indexed. (A patent could be indexed in more than one bucket, but only by paying the fee for each.)

That would give patent owners the incentive to police the boundaries of the 'buckets', and it would allow people to more easily find patents they might be infringing. It would also make clear which areas of patentable material have endemic fuzzy boundaries, so a case could be made for reform. There are large areas where the questions would be things like 'does it contain an aldehyde group?' where a tree would work well.

There is a problem with this as a datastructure, though. Any binary tree has to be rebalanced for searching it to be efficient. Even assuming that everyone can be given the incentive to make the rebalancing happen, it's not obvious how to do this. I need a diagram, I'll use this one: http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Bin... Suppose we want to do the tree rotation as in the diagram. The problem is, we only know that the the patents descended from 'alpha' have the 'left' answer to the question in the light green node. We don't know how they relate to the question in the darker green node. So after the tree is rotated, we may need to ask that question of all the patents under 'alpha', an O(N) operation (in legal fees!) and then we may need to move some of them under the branch 'gamma', possibly triggering more rebalancing, so it's not obvious that the operation would even terminate.

So, question: Can a suitable datastructure be devised?


I like the idea of a binary tree

Would it need to be balanced? It might be better to have to play 100 questions instead of 20 rather than pay O(n) in legal fees multiple times


Well, one purpose is that currently it's impossible for a small business to find what patents you might be infringing in the millions that exist. The tree doesn't need to be completely balanced, but if it degenerates to a linked list, the search problem is no better than it is now.


Imagine that at a given point in time, the patent database included not just the individual patents, but a '20 questions' style index, whereby any patent could be located.

Makes me think of the old computer game "Animal".

ARE YOU THINKING OF AN INVENTION? y

IS IT RED? n

DOES IT HAVE WHEELS? n

DOES IT RUN ON ELECTRICITY? y

etc.


I'm sorry but I can't come, because you are not opensource enough for me. It's not you. It's me.


Don't sanction the insanity. It would be better that the situation become so dire and painful that the populace wakes up than that software developers actually help make the software patent system appear as if it is reasonable and can "work" in the long run.


Well, imagine if patents included source code and were only valid for 5 years or so? Something like that?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: