Hacker News new | comments | show | ask | jobs | submit login
Microsoft's 2003 patent application for the "Is Not" operator (uspto.gov)
92 points by grellas 1955 days ago | hide | past | web | 51 comments | favorite

Paul Vick, whose name appears on the patent, had a great blog post about this. Had to dig it out of archive.org: https://gist.github.com/1846067

FWIW, as much as I hate[d] VB.NET, Paul Vick was (is?) clearly a superstar - both in terms of coding and writing.

Disclaimer: ex-MSFT, have several patents pending from during my time there.

His blog post reminds me why I get so mad at Microsoft using patents against Android OEMs. During all my years at MSFT, employees were always told that patents were necessary for the reasons Paul Vick stated - you had people like Eolas and zillions of other trolls trying to get you and you needed a portfolio to play defence.

With the Android issue, that changed. MSFT suddenly started using patents offensively as a strategic tool. While I totally get why this is smart ( and I'm stunned at how effective it has been), I feel they violated an implicit social contract with a lot of people who worked to get them those patents.

It's going to be interesting to see whether Google does the same swerve down the line and not just stick to using patents in defence.

> During all my years at MSFT, employees were always told that patents were necessary for the reasons Paul Vick stated - you had people like Eolas and zillions of other trolls trying to get you and you needed a portfolio to play defence.

No, that can't be right. I hope you're just misremembering that, but the whole problem with patent trolls is that you can't use your own portfolio for defense.

A large patent portfolio is a good weapon against other giants in your industry: IBM, Apple, Oracle, Google, (and once upon a time) Sun. Those people basically can't sue you for violating one of their patents if you have several thousand of your own: they're bound to be in violation of at least one of yours, and it's a mutually-assured-destruction scenario.

A patent troll, on the other hand, doesn't do anything. They can sue you with relative impunity, since there's almost no chance that they're doing anything that you can use against them. The size of your own patent portfolio doesn't even enter the picture.

There's two ways you can use patents for defense:

1) patent it before the other guy does, so the troll has nothing to sue you with, and

2) patent everything and hope that one of your patents overlaps with the troll's.

There is another strategy - just publish your invention for all to see rendering it un-patentable.

IBM of all people used to do this for ideas they did not think were worth patenting. By publishing them they stopped anyone else from getting a patent on those ideas. IBM published a magazine for 40 years that is a treasure trove of prior art: http://en.wikipedia.org/wiki/IBM_Technical_Disclosure_Bullet...

Now anyone can do defensive publication on this site



I used this strategy with some GPS cell phone ideas I had in 2003 and I "published" them myself


Unfortunately, that (rather noble) act is untenable in a world where everyone's suing everyone in the big boy department. If Apple and Microsoft weren't trying to kill Android with lawsuits, I could see a gentleman's agreement between the lot of them making this a fairly effective strategy. With the current state of affairs, everyone needs all the linked list patents they can get.

I see it less as being noble and more of a practical strategy for a small business. You can't afford to apply for a patent on everything you think up so why not publish it so at least you will not be locked out of using your own idea by someone who comes along later and does apply for a patent.

"It's going to be interesting to see whether Google does the same swerve down the line and not just stick to using patents in defence."

Google is already swerving. They're interested in utilizing the Moto patent portfolio to implement 2.25% of total device cost fees on FRAND patents.

In fact, they're already moving forward with that against Apple, which would net them (based on Q42011 sales) over $500,000,000 a quarter, or in the $1.5-2.0B per year on the iPhone alone.

It's no wonder Google is moving forward: That's likely as much or more money than they make on their own Android OS!

Apple and Motorola is suing each other. The 2.25% claim against Apple is from Motorola. Google has stated that they do not intend to drop it. Even if Google were unselfish angels, dropping their claim without getting a cross license agreement first would be plain silly.

Doesn't matter. Google signed off on it, Google supports it. Don't try to let Google dodge the bullet.

When presented with a portfolio of patents, Google behaved not like it has spent years telling everyone they should behave, but instead exactly like they have long since fought against.

"...I feel they violated an implicit social contract..."

Violated what? LOL...Patents are for protecting you from infringement, so you retort/attack when you're patents are abused...What the hell is Apple doing when Samsung/Google got "inspiration" from the iPhone?

MS is built on selling Software and protecting it is their responsibility to their Shareholders!

Paul Vick made a new blog post about this today http://panopticoncentral.net/2012/02/16/software-patents-rev...

Totally agree; I went to Microsoft and joined the VB.NET team in no small part because he worked there.

(Didn't work out so well: he left a couple of months later, and that job turned into a nightmare for other reasons.)

Just wondering if you can elaborate on what made your job a nightmare.

A question for anyone who quit their career as a patent lawyer to work on formal methods (or vice versa):

Since mathematics isn't patentable, can you invalidate a patent claim by showing that it is equivalent to a mathematical formula? And if so, by the Church-Turing thesis, wouldn't any Turing-complete program be representable in lambda calculus, and therefore be unpatentable?

True, you can not patent a mathematical formula but you can patent a machine that uses a mathematical formula to do something and the machine can be a computer.

So I can't patent 'x=x+1', but I can patent a "system, method, and computer-readable medium for incrementing the value of a variable by one"?

A more concrete example: You discover that the formula for making a beam that will have equal stress all along it's length is t = (.923)Xe/L^2 (made-up formula)

You can not patent that formula, but you can get a patent on beams made using that formula. With that patent in hand you can stop anyone from making, selling, or using those beams.

Sounds like a distinction without a difference. If you can stop people from using a formula with your patent, you've effectively patented that formula.

Okay, but we're not talking about the machine - we're talking about the formula/algorithm/program here. Thus, does the defence still work?

If you read the independent claims, they have not patented the formula by itself.

Claim 1: A system for determining if two operands point to different locations in memory, the ... Claim 15: A method for producing executable code for performing ... Claim 21: A computer-readable medium comprising computer-executable instructions for ...

Dependent claims by definition include at least one of the above.

PS: I am not a lawyer. Never have been.

Reading the title, I immediately thought of Python's "is not" operator as "prior art". However, it seems to me that the patent is specifically about an operator called "IsNot" (one word) used in a BASIC compiler. So that might not be the same at all (but then again, IANAL etc).

Still, it seems a pretty silly patent... :-/

According to PAIR, this has been abandoned for quite some time (4.5 years). In the first action, the Examiner noted "!=" in Java and MS elected not to respond.

> it seems a pretty silly patent

In software, most of them are.

In software, all of them are. It's like patenting a mathematical formula.

It's bad enough that the USPTO will rubberstamp everything with the right fees, but that they can issue patents on concepts that are far outside the original intent what patents are for.

Yes, developing software involves "invention" in every sense of the word, but if you can patent algorithms, why can't you patent mathematical formulae or proofs?

" It's like patenting a mathematical formula." More like an Mathematical Algorithm but even then, most devices are physical representation of a algorithm in some way. I don't see how this is a valid attack on software patent or patents in general.

I don't support software patents but I have a problem with the whole "it's patenting a mathematical formula" argument.

The US courts do place weight on the "it's patenting a mathematical formula" argument. There's some nuance and murk, but an application will probably have to pass the "Machine or Transformation Test" to be patentable: http://en.wikipedia.org/wiki/Machine-or-transformation_test

Essentially, software implementations of algorithms cannot generally be patented either because they are simply an expression of the algorithm in a particular language. The fact that this language can be interpreted by a particular hardware device does not change the situation. The hardware is a pre-existing piece of general-purpose commodity hardware that is easily interchangeable with any number of other pre-existing pieces of general-purpose commodity hardware, up to and including a human being equipped with a pen and paper, and therefore cannot really be claimed as part of the patent.

A physical device which implements the algorithm can, of course, be patented. And a hardware/software combination where the computer is an integral part of the mechanism (e.g., it cannot in principle be replicated by a human with a pen and paper) can also be patented, so Amazon's 'One-Click' patent is safe. However, simply tacking on the phrase, "Written in a programming language," does not take an unpatentable idea and make it patentable.

> It's bad enough that the USPTO will rubberstamp everything with the right fees

Clearly you have never prosecuted a patent application. Yes, examiners make mistakes sometimes, and patents issue that shouldn't. But your statement is just nowhere near being true.

I agree that GP overstated the problem, but I think you understate it. The USPTO systematically and recklessly grants patents that should not be issued.

I think most patent grants are reasonable enough... the problem is that HN only ever hears about the really egregious cases.

Do you not need to actively defend patents like you do with trademarks?

There is a defense against patent infringement called "laches", but it's not very broad. It only applies to specific cases where the patent holder knew of the alleged infringement and did nothing for a long time. It doesn't lead to a general invalidation of the patent.

You need to claim damages withing 6 years of the infringement:

35 U.S.C. § 286 Time limitation on damages

Except as otherwise provided by law, no recovery shall be had for any infringement committed more than six years prior to the filing of the complaint or counterclaim for infringement in the action.

In the case of claims against the United States Government for use of a patented invention, the period before bringing suit, up to six years, between the date of receipt of a written claim for compensation by the department or agency of the Government having authority to settle such claim, and the date of mailing by the Government of a notice to the claimant that his claim has been denied shall not be counted as a part of the period referred to in the preceding paragraph.

Let's say I create an innovative, software based, method of doing something faster/better (like the ALEKS method of education say). Without a software patent to protect my creation, why would I ever release it to the world?

Ridiculous patents like this for "ifnot" are one thing, but patents for very useful software functionality and features are another. Don't be so quick to dismiss their usefulness in encouraging innovation.

Wait... why wouldn't you release it to the world?

Because there's no gain in doing so.

Look, as soon as it's released, it will be copied by those who already have market penetration in that space, leaving the big USP of "cool software feature" as something useless, and no longer a USP.

Instead of releasing them out, which is what I'd like to do, I just keep them to myself. Something which I would rather not do, but I see no other way of gaining value from them.

Except the software industry is full of stories opposite of your expectations--startups with better ideas who unseat or out maneuver giants. Do you think Mint would have been better off keeping their ideas to themselves? How about Facebook? There are tons of these: Dropbox, Square, Heroku, Twilio, etc etc.

Good software is rewarded (even more so in today when there's instant distribution), don't worry about your competitors.

It might be instructive to ask yourself why the software industry is full of stories opposite brador's expectations. For example, consider that by definition, there can be no stories about technologies that have been kept secret.

(I dislike software patents myself and agree with you, though, that, for a variety of reasons, we'd still see plenty of innovation without them.)

Those are innovative products yes, but in new/weak competition spaces. It's a different situation entirely when going head on against a huge competitive with an innovative product.

For example, a new, innovative, OS going against Windows. In this case and without software patents, Microsoft would just copy the features that make it special, leaving the R&D investment as a waste, unless software patents are available of course.

Edit: Looks like I'm getting downvoted for no reason. Good luck with your collective circlejerk HN. I'm out.

I'm not one of the downvoters, but I can speculate as to the reason:

Perhaps it's because you're using most likely a non-patented browser that fetches a non-patented hypertext format (HTML) via a non-patented application protocol (HTTP) built on a non-patented network stack (TCP) by connecting to a non-patented web server (HN) written in a non-patented programming language (Arc), and you're using this stack to argue that people have no motivation to innovate in software if patent protection is unavailable.

Or perhaps it's because you're trotting out that old argument that software patents can help the little guy compete against big players. But so far the only "little guy" success anyone can point to was Stac Electronics, a publicly traded company for whom a $9.7 million sales quarter was evidence of declining business. That's not little: http://articles.latimes.com/1994-06-22/business/fi-7159_1_pa...

>"Looks like I'm getting downvoted for no reason. "

Yeah, there seems to be a lot of that these days. People down-vote for disagreement, as opposed to just spammy posts. It's really kinda sad for a community that should be open to discussion and critical thought.

This underscores an oft-ignored important part of the patent system, which is that it encourages people to make their discoveries known to others by patenting them in exchange for temporary monopoly. If the patent were completely unavailable as an option, many would be tempted to hide or obscure their discoveries and methodology for as long as possible to make a profit, so there is at least an argument to be made for patents serving the public interest in the long term.

Unfortunately, temporary often ends up being effectively forever when it comes to software, and the system has been gamed by lawyers. Sigh.

Not only in software: http://en.m.wikipedia.org/wiki/Method_of_exercising_a_cat

The documentary by This American Life about patents had an IP researcher claiming that over 1/3 of all patents ignore prior art, just by comparing identical text between them: http://www.thisamericanlife.org/android-app?destination=radi...

I'm curious how many patents there are for devices that are impossible to actually build. You know, fun stuff like warp drives and time machines.

Presumably zero. Patents are only permitted for "useful" subject matter. Useful is a term of art: you can still patent silly things like Slinkies: http://www.google.com/patents/US2415012?printsec=drawing – but whatever you patent has to actually function as advertised. So while the Slinky is objectively useless, it does what the patent says it does. A warp drive would be objectively useful, but when you build it, it won't do what the patent says it does; therefore, it's not patentable.

Though not quite in practice of course. I cannot substantiate my claim with data, but have come across several (approved) patents which are actually not even correct -- the described does not function as advertized.

Is it specific to a compiler? I wonder if Perl's "unless" is prior art. It's not surprising that this was from back in the day when people at the USPTO couldn't use the internet to research patents.

Better link, includes figures and proper formatting: http://www.google.com/patents?id=m52fAAAAEBAJ&zoom=4&...

What's really annoying about the IsNot operator is that it's not consistent with TypeOf ... Is. In other words, you can't do this:

    If TypeOf obj IsNot MyClass Then
        ' ...
Instead you have to do:

    If Not TypeOf obj Is MyClass Then
        ' ...

I wonder who has patentent exception. That would be pretty great money machine.

uhh... "20. The method of claim 15 wherein the source code is BASIC code. "

Really? They patented something for BASIC? Also, I'm pretty sure patents do serve a useful purpose, because first nobody cares about whether something is protected by patent or not, they'll find a way to rip it off. What patents do is put these technologies and developments into the public record.

I think the propriety of patents is problematic, but without them we would potentially be in the dark about how certain new inventions work. It's important for things like medicine, but software patents are a bad idea because they lead to patent trolling and lawsuits over things that are obvious solutions to common problems.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact