
The USPTO Would Like to Partner with the Software Community - roqetman
http://www.groklaw.net/article.php?story=20130104012214868
======
jandrewrogers
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.

~~~
iskander
>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...)

~~~
jackowayed
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.

~~~
fghh45sdfhr3
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.

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

------
powertower
"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

~~~
rayiner
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.

~~~
dr_doom
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.

~~~
rayiner
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.

~~~
angersock
_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.

------
rayiner
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...

~~~
Silhouette
_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.

~~~
rayiner
> 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.

~~~
Silhouette
_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.

------
Barraketh
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.

~~~
danielweber
_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.

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

~~~
cwkoss
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.

------
robomartin
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...](http://www.electronista.com/articles/12/06/14/speech.application.removed.by.apple.pending.outcome.of.hearings/)

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.

~~~
jeremyarussell
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.

~~~
tracker1
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.

------
sutro
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.

------
prodigal_erik
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.

------
baseh
Here is the notice on Federal Register.

[https://www.federalregister.gov/articles/2013/01/03/2012-315...](https://www.federalregister.gov/articles/2013/01/03/2012-31594/request-
for-comments-and-notice-of-roundtable-events-for-partnership-for-enhancement-
of-quality-of)

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

------
powertower
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.

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

~~~
codygman
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?

------
mburshteyn
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...](http://ammsweb.scu.edu/webcasts/mmedia1/20111014-083613-1e_opening/index.htm#)

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

------
YokoZar
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.

------
tracker1
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.

------
politician
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.

------
gwillen
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.

~~~
Kim_Bruning
we have a chance to find out.

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

------
ajb
"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...](http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/BinaryTreeRotations.svg/300px-
BinaryTreeRotations.svg.png) 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?

~~~
coopdog
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

~~~
ajb
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.

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

------
wissler
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.

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

