In the wake of the IsNot patent brouhaha, aside from the “you are scum” comments, people have had several reasonable questions about my own feelings about the situation. So let me pause and talk about software patents for a moment. Lest there be any question about this, what follows are my own personal feelings about the matter and have nothing to do with official Micorosoft policy.
Personally, I don’t believe software patents are a good idea. I realize that algorithms lie in that grey area between a mechanical process (which is patentable) and an abstract idea (which is not), but at a purely practical level I think that software patents generally do much more harm than good. As such, I’d like to see them go away and the US patent office focus on more productive tasks. I have nothing but contempt for any company that tries to use patents to achieve what they could not through purely competitive means. This includes Microsoft, should they ever choose to do so or have they ever chosen to do so. (I’m not aware of any such situation, but I’m hardly omniscient.)
However, software patents do exist. So while the good fight goes on to get rid of them, I also believe that it would be dangerously naive to not play the game as best we can in the meantime in as principled a way as possible. There are a lot of people who would love nothing more than to just take a piece out of Microsoft either because they can or because they want to get rich and not for any better reason than that. I’ve been around long enough to see the kind of trouble that patents can cause us, and so I believe the best defense is a good offense. While I don’t believe in using patents in an unprovoked way, I do believe in having a robust patent arsenal with which to defend ourselves should someone get it in their head that they want to hold our products hostage for money or just to cause trouble.
One of the most unfortunate aspect of the software patent system is that there is a distinct advantage, should you have the money to do so, to try and patent everything under the sun in the hopes that something will stick. If someone has a patent on “a biological system used to aspirate oxygen gases to fuel biological processes” (i.e. lungs), I wouldn’t be surprised. (If there isn’t, no fair submitting the patent before me!) This is bad both because it jams up a system that’s not really equipped to handle software patents well in the first place and because it increases the likelihood of broad, random patents slipping through the system. Microsoft has been as much a victim of this as anyone else, and yet we’re right there in there with everyone else, playing the game. It’s become a Mexican standoff, and there’s no good way out at the moment short of a broad consensus to end the game at the legislative level.
So that’s how I feel about software patents in general. As far as the specific IsNot patent goes, I will say that at a personal level, I do not feel particularly proud of my involvement in the patent process in this case. Beyond that, there’s not much to say: many comments addressed legal questions which I am woefully unqualified to comment on and for which speculation would be very unwise on my part.
Well said, Paul. Thanks for responding.
<![CDATA[Up until last year I was completely happy that Microsoft had a large (and some may say questionable) patent portfolio that was there as a "last resort", nuclear-weapon style. My opinion shifted overnight when Microsoft hired Marshall Phelps and began the FAT licensing strike.
<![CDATA[I have sympathy for your perspective and I support the notion that while software patents are evil, it would be foolish for software companies not to pursue them. For example, I am in favor of Redhat's reluctant decision to apply for software patents as a defensive measure. However, the IsNot patent is particularly repugnant for several reasons: (1) Nobody skilled in the art would believe that IsNot is sufficiently innovative to be worthy of patent protection. Hopefully the USPTO examiner will agree. (2) There is plenty of evidence to suggest that forms of IsNot have been in use for decades. The patent application concedes that the Is operator is unprotected prior art. (3) You admit yourself that IsNot was not invented by you, but suggested by numerous users of your software. This alone should have prevented the MS IP laywers from even considering applying for a patent. Now, given that we are discussing Microsoft here, it is reasonable to question the underlying motives for filing patents like these in the first place. Software companies patent similar "inventions" for the purposes of preventing others from creating interoperable work-alikes. Adobe uses patents to force print companies to license their PostScript implementation rather than creating their own. However, as you pointed out, Microsoft does not (publicly) use their patent portfolio to prevent interoperation with competing products. Why is this? They have myriad patents on crucial "implementation details" for many popular technologies, such as CIFS, FAT, file browsers and OpenGL, and they claim to have hundreds of patents covering virtually every operating system and network protocol in existence. But they’re not enforcing them through patent litigation. Why not? This is the reason everyone worries about Microsoft’s patent portfolio. As a convicted monopolist, Microsoft is clearly not above using illegal and unethical business practices to improve their market share and dominate the industry. The assumption is that MS is biding its time as open standards and technologies become common, and at some point in the future will suddenly use the threat of patent litigation to take control of markets where its own products are poor compared to the competition, or simply demand exhorbitant licensing fees from other players. Now, we’re not talking about one or two key patents on a particular technology, such as the Eolas or TVI patents, but thousands and thousands of patents across multiple industries worth hundreds of billions of dollars. Abusing the patent system in this way is extremely anticompetitive and would be detrimental to virtually all tech-related businesses, but we’ve come to expect nothing less from Microsoft. If you are comfortable supporting Microsoft’s quest towards control of the IT and electronics industries though dirty legal tricks, then by all means, stand by your patent. Personally, I would find it unconscionable.]]>
<![CDATA[Paul, don't you think that if the pressure from "free" competition becomes much stronger than it already is at the moment (as I think it inevitably will be), anyone at the helm of Microsoft would hesitate a split second whether to (ab)use patents in a purely aggressive anti-competitive way? Isn’t management basically <i>forced</i> to do so alone to avoid ensuing shareholder class-action suits? Maybe it’s time to start ramping up your contempt level …]]>
Nice post, good of you to respond to the community. However, I wonder why, if you are not "proud of [your] involvement in the patent process in this case" you did not simply leave your name off the application?
<![CDATA[I hate to vulgarize this, but if there was a gang rape in a bar, would you feel comfortable in saying that you didn't approve of it in principle but joined in anyway because all your friends were doing it? I appreciate your honesty. You are working for an entity that has the sheer ability and the legally documented propensity to crush its oponents. Will you teach your children that something is wrong but as long as it’s lucrative and done by others it’s OK to do it?
<![CDATA[Late to the soap box on this issue, but here's my take: http://www.tallent.us/blog/CommentView.aspx?guid=87d40f3d-4c9e-4d6e-b4c1-3d7a1ee1f9da]]>
<![CDATA[Why not come live in the UK, patents on software are not legal here, least not yet! http://www.patent.gov.uk/about/consultations/conclusions.htm]]>
<![CDATA[> I believe the best defense is a good offense This is no longer true. We’re seeing the rise of "pure" IP companies such as Techsearch and Myrvold’s Interventures: companies that do not make products, but merely acquire or manufacture patents, and litigate them. You cannot countersue them for patent infringement because they are not infringing any of your patents. If the system does not change, these companies will destroy the software industry in the USA and anywhere else that’s foolish enough to make software patents legal.]]>
I’ve noticed that just about every non-lawyer involved in the production of software patents agrees that software patents are reprehensible but "the system" means they have to do these disgusting things. We all need to be diligent in shouting all the way up the management chain that "the system" needs to change and our companies need to be lobbying Congress to make that happen. Right now our the public faces of our companies continue to proclaim that patents are good, patents are a sign of innovation, and more and broader patents are better. We need to see shame and apologies instead.
BTW I work in IBM Research, and I have a couple of software patents to my name that I’m ashamed of, although both of them are far deeper than this IsNot patent. And for years I’ve been shouting at anyone in the company who will listen that software patents are madness.
<![CDATA[What good are software patents, when the ones who attack you might just be a IP Litigation company, an idiot just trying to strike it rich (ebay 'buy now'), or a declining company that has nothing to lose anyways... Instead of playing the game Microsoft has the clout to change it, yet they don't want to. The reason why they probably don't want to either is, to them losing a few billion in patents in nothing if it scares the jitters of others to encroach on their Windows empire... ]]>
<![CDATA[First off, you have proved what kind of moron you are for even being involved in patenting an operator in a programming language. Period. There is no defense for this type of patent. You sold out. Period. Try to rationalize it all you want. You just end up sounding pathetic and stupid. Face it, you patented an equality operator. Hopefully you wont try to patent breathing or typing next. Secondly, almost any other programming language has this and moreover I can think of one that had it in 1996. Here is a hint, the initials are JAVA. And here is another hint, in a real programming language it is called an equality operator. I honestly have to think that Microsoft must be paying you a shitload of money. Just think of how stupid most programmers really think you are for being involved in this type of patent. Really what in the hell were you thinking. I realize that patents are a sad part of our existence as programmers right now but really this type of patent is just absurd. There is prior art in other programming languages, I think that Python has an "is" operator that does EXACTLY the same thing and was done before VB ever even knew what an object really was. Anyway, good luck with your patent. Next time I check for object equality I will think of you and chuckle.]]>
Paul, if you have the same attitude with your life as you do with this then it really sad… Software patents (abstract ideas) are the kind of subject that don’t need to be discussed or even argued about. There’s no pride to be taken in defending them… No argument that can excuse them. So, go ahead, shoot everything you can. Nobody with a little self-respect (genuine, at least) would ever care. Sure you guys can have your way; the law can even protect you. Though in the end, it’s just a matter of how well one can sleep at night with his own consciousness. And if you can’t understand something as simple as this, then it’s also just a waste of time showing why…
!= is now patent pending? 😛 😛 😛
<![CDATA[Ugh. People who jump on here and slate the guy for posting his thoughts: Fuck off. Back to slashdot you go. Go back to preaching to the choir. I can hardly see an analogy between a software patent, and a gang-rape in a bar, and participation in each being on par. That is just ridiculous. Paul, thanks for commenting on the topic. I know I’ve had to do questionable things in my position.. However, I do believe software patents are detremental to the industry. Thankfully the UK took an informed approach.
<![CDATA[>> I can hardly see an analogy between a software patent, and a gang-rape in a bar, and participation in each being on par. That is just ridiculous. Ironically enough, several gang-rapists get away for far less than those sued by patent infrigments. How’s that for ridiculous?]]>
<![CDATA[>>Ironically enough, several gang-rapists get away for far less than those sued by patent infrigments. How's that for ridiculous? Or the hacker going to jail for 15 years while the murderer gets a reduced manslaughter sentence.. out in 5 years…. In my experience, anything to do with the technology and the law, is ridiculous.]]>
<![CDATA[I'm not a programmer and don't even play one on TV, but after being in IT Infrastructure for almost 20 years and being in various levels of management for 10, I know what it feels like to ride that fence about staying with what you think is right or selling out and moving onto something you can have more influence in. (And I hope all outsourcing companies die slow and horrible deaths, BTW.) Knowing Paul since his original technical iteration of Panopticon Central makes it obvious to me why he writes about it in his blog and leaves the right flank open to absorb the "you are scum" comments. Sometimes you just get in the position of being in a "damned if you do and damned if you don’t" situation and are forced to lean a direction. As I sit here forced to give an outsourcing company money to do yet another half-assed job of technical support from a third world country to appease yet another corrupt CFO so he can get his big bonus, I sit back and ponder on the time I decided to take a stand when I first came head to head with the evil beast. In doing so, I remember being unemployed for almost two years, the total devaluation of my financial portfolio, over 100 people who worked under me going through the same pain, and most of all my family impacted negatively because I decided to make a stand for "what was right". Welcome to hell, Paul.]]>
<![CDATA[I'm a software engineer who's been involved in litigating against a frivolous patent and as such have acquired a fair bit of information about patent law as applied to software patents. There is a principle called "laches" which says (warning: I'm not a patent lawyer, but I think I understand this) you can't get a patent, sit on it for years, and then suddenly decide to enforce it after an industry has grown up. Laches says that you have to defend you patent within a reasonable period of time or lose it. I don’t believe Microsoft can sit on a portfolio of patents which it chooses not to enforce and not come up against laches. Any patent attorneys out there with an opinion on this?]]>
<![CDATA[I can't believe everyone is missing such an obvious solution - start a patent application for the IsIsNot and IsNotNot functions. The first should return a value of either True or False on a random basis, or based on some external value - like wind speed or ground temperature. The second should return the logical not of the IsNot function. <VBG>]]>
Just how does this differ from the python "not a is b"?
<![CDATA[Software patent law is nearly completely unworkable when viewed in an international context. If you sue my company for using one of your software patents, I'll just move it to China. And I'm sure they'll be pleased to have me. Microsoft may have weight inside the US, but their arm doesn’t reach far enough to pursue patents outside the US. What is more, it is not in the interest of international governments to let them do so. I’m sure the Chinese (and others) will be thrilled to have software companies immigrating to avoid the heavy hand of the (patent) law]]>
<![CDATA[The isnot operator stems from greek philosophys, is some 2000 years old, and was always part of logical systems before computers were even invented. This is ridicolous!
Now, the BSA is lobbying to bring the same madness to Europe. No, its not that MS hast to play this game, it wants to, because the principle idea is to tag everything under the sun with a priceshield. Strange Days.
I think its pure perversion. Everything we have comes from many sources. There is no genuine invention in reality – for example: Without the arabs we wouldnt even have numbers. Hell, next step is they license the numeric system, and we all have to pay… ;)]]>
<![CDATA[Sorry, Microsoft isn't a victim here... If so, Microsoft would be trying to make software patents go away, and in the meanwhile, like you said, would just play the game, as a mean of defense... But as it is, Microsoft is obviously a very active player, trying to make software patents stick, not just in the USA, but also in the rest of the world…]]>
<![CDATA[Hold on, if Microsoft is just developing a patent arsenal in case someone else uses software patents against them, how come thay're pushing so hard for software patents in Europe? If this is just a matter of defense, Bill Gates should be asking European ministers to oppose the software patent process, not twisting their arms to push it through against the will of the European Parliament. What am I missing?
<![CDATA["Personally, I don't believe software patents are a good idea"... "but, hey, everyone is doing this" you are a total bullshiter ]]>
<![CDATA[GoranB has a good point. If Microsoft feels that software patents are invalid, they certainly have the resources to go after them, both in Congress and in the courts. But they’d have to be nuts to do this; the current system protects companies with large patent portfolios, and punishes independent developers and startups.]]>
<![CDATA[OK, all you noncorporate types should understand that under the terms of employment of pretty much any large corporation, an employee is required to give to the company any patentable ideas. So even if Paul wanted to opt out of the patent, he couldn't... at least not without being fired. And in this economy, that's the last thing you want to do. Also, for those of you who say "Oh, IsNot… isn’t that just !=?" No, IsNot is like this in C: #define IsNot(a,b) &(a) != &(b) except in operator form. Yes, it’s syntactic sugar. No, it shouldn’t be patentable. We know that 🙂
<![CDATA[I think stealing from people is wrong, but I'll do it anyway because
a) it pays well
b) big Tony told me I had to
c) everyone else seems to be doing it. Which moral position is it that you’re taking? -j]]>
"in as principled a way as possible" You have utterly failed this test. Claiming what amounts to the standard C++ idiom for testing if two references are to the same object as your own invention is simply plain dishonesty, without any qualification or ambiguity. You may be obliged to give your firm any patentable IP you have, but, being unoriginal, this is not in fact patentable IP, and therefore you weren’t obliged to tell your firm to take out a patent on it. You have effectively mislead both your employers AND the USPTO, and if you ever attempt to stand up and defend this patent claim in court, and you say it is your own invention, you will be committing perjury, won’t you? " I do not feel particularly proud of my involvement in the patent process in this case. Beyond that, there’s not much to say." How about "I resign"? I fully accept that you are opposed to software patents on principle, but principles are worth nothing if you don’t ever exercise them. There are other employers in the world than MS, you know, and ones that might not try and oblige you to act hypocritically. You won’t starve, so stand up for your beliefs. ]]>
<![CDATA[Is'nt it obvious ?
MS, like others big-corp, want to be able to crush any potential concurrent, including Open Source but not only…
The "Law" (existing, or requested…) is one of the numerous way to achieve it…
But why gov people have so much interest in money ?? Have they forgot that they work for the people, not for a bunch of big CEOs ??
—badly the answer is obvious too… Sad future…]]>
Re the "isnot" patent, I too find it repugnant that MS is trying to patent fundamental programming operations. However, in this case there is some clear prior art as well. The Algol 68 language had an operator called "isnt" for exactly the same purpose, 37 years ago!
<![CDATA[Microsoft has for several times beaten it's competitors in a dishonest and unethical way. In fact, it has been convicted for that. Do you really think they want to use patents defensively only, seen that they're lobbying for software patents in Europe? Microsoft hasn't been a victim as much as everyone else that's for sure. Smaller corporations that can't cross license and don't have the financial power to withhold litigation are much more victims. Corporations should have respect for the well being of society and people should work for more than money. Compromising on ethics because the "employment situation is bad", "my family would be sad" and "everyone else is doing it" are just excuses to justify unethical behavior and lack of courage. Yes, lack of courage to do what’s right! Stop the damn lies! And just because someone’s within the law doesn’t mean he’s acting ethically, that’s also another excuse for giving up on ethics. To whoever said the comparison between the raping thing and software patents was silly: it was point on, it just goes to show that some people only behave ethically when
a) they’re afraid of the consequences
b) the negative consequences of something are incredibly obvious Just because you have to think a little bit and realize the consequences aren’t as direct in one situation as the other doesn’t mean that it isn’t very unethical. It can have very real, negative consequences for a lot of people.]]>
<![CDATA[I have what I hope will be a constructive suggestion for all software engineers who work for large companies that try to patent their work, but are opposed to this in principle: When you’re asked to participate in writing up the patent application for some ‘invention’, be sure to supply your legal department with ALL the prior art you know or can find (in WRITING), and be sure to preserve copies of all this correspondence. I believe it would be fraudulent for any corporation to file a patent application without reporting ALL the prior art they are aware of. In most cases, patent lawyers are unfamiliar with all the prior art, and have a vested interest in NOT knowing about it! Nevertheless, if it is brought to their attention, they cannot ignore it (I’d imagine a lawyer could be disbarred for this). It would be legally very risky for a patent lawyer to knowingly fail to document all prior art in a patent application — I believe it is perjury to do so. The corporation would run the risk that engineers would ‘blow the whistle’ on this sort of fraud. By taking this approach, you will not only be protecting yourself, and other members of your profession from the worst excesses of the patent system, but you cannot be blamed by your employer — prior art is prior art, and it cannot be wrong to report it, since it is illegal to file patent applications without disclosing all relevant prior art. You are simply assisting your company with creating a *high-quality* patent, not directly obstructing their efforts to do so 😉 In this particular example, the ‘IsNot’ patent application could have easily been torpedoed by simply reporting to Microsoft legal that an identical feature already existed in Python, Algol 68, and several other languages. Had you done this, you could have avoided the shame of putting your name as an ‘inventor’ to this bogus patent application. If we, as a profession, all make painstaking efforts to document the ways in which our work is UNORIGINAL, we will be better able to protect our right to program freely in the future. Of course, none of this is meant to distract from the need to achieve a political solution as well — software patents must be abolished! It’s a useful stop-gap measure that we can ALL practice now, though.
<![CDATA[<a href="http://www.advogato.org/article/101.html">Microsoft patents ASF media file format, stops reverse engineering</a> Welcome to the club of people who have nothing but contempt for Microsoft.]]>
Microsoft is certainly not fighting the good fight against software patents. At this very moment they are lobying and campaigning *for* software patents in Europe, going so far as to bully certain member states with the threat of job cuts. There is no way this can be described as defence. As the co inventor of the innovative isNot operator, and an employee of Microsoft, you have to take personal responsibility for fucking up our industry. Thank you very much.
Blogs are great. You just admited in public that your employer Microsoft Corp makes you do work you’re ashamed of. Obviously the stock options are worth more than your principles. You’re not the only one, but hey, it’s still kinda funny to watch you squirm in public with your own concience.
Good luck! ]]>
<![CDATA[Can anyone else notice education levels of all the posters here? Paul, if you read this, do what you gotta do man. I went to highschool! Listen to my DnB]]>
Programming operators and constructs should never be patentable, they are the "palette" which allows people to easily explore in their creativity. Which as you well know, in turn provides us with software to aid us, entertain us or to allow our knowledge to proliferate. Such operators are akin to fundementals in language – like punctuation, or operators in Mathematics like "+". You should be ashamed in your attempt to "censor" the exposure of such an operator via a patent. I was interested in your comments, but they just beg the question what price your principles, Paul?
<![CDATA[So why does everyone cry so loudly when someone gets a patent that was clearly predated by prior art? 30 minutes of reading about patents could actually make someone knowledgable enough to know that getting a patent through the patent office is only half the battle. When a patent is asserted against someone, the game starts fresh. Any prior art NOT cited to the patent office becomes very valuable ammunition for proving the patent is invalid in court. The other objections that were raised, such as obviousness, would also destroy the patent in court.
If a patent does have clear prior art, or other validity issues, it would never be asserted because it wouldn’t be worth the money it would take to try when obvious defeat is the only possible outcome.
I make no comment on the IsNot operator patent, as I haven’t read the claims and can’t say how broad or narrow it is and I am not familiar with the prior art. Instead I speak generally about the mis-information about the patent system that is rampant. I agree with a previous poster that you should disclose all prior art to your patent agent/attorney but not because they don’t want to hear it. They do want to hear it. Why apply for a patent that won’t be worth anything because you can’t assert it? It would just waste the company’s money that could be spent on other projects. Last, but certainly not least, this is an APPLICATION for a patent. The patent office hasn’t even looked at it. Someone wrote the application, then paid some money, and now it sits there without any review for the 4 or 5 years it will take to work its way to the top. Why create so much fuss about something that is likely to change quite a bit before it issues? I recommend that anyone who really wants to understand the issues get at least a basic understanding of what a patent is and how they are granted and litigated. I suggest reading Patent Law Essentials by Alan Durham. A kind of expensive book, but the most readable introduction t the topic I have seen and very accessible to the non-lawyer. I even understood most of it.]]>
<![CDATA[David: because patent examiners are morons when it comes to software, they'll grant patents on ANYTHING. Paul: thanks for once again proving beyond any possibility of doubt that integrity is an unknown concept at Microsoft.]]>
<![CDATA[Prior Art - hmm - SimScript II.5 programming language (for simulations) has allowed 'is not' since way before 1989. But not for comparing 'objects'... Check the SimScript reference manual here:
http://www.simprocess.com/cust_center/ss3docs/simref.pdf specifically page 27. Code such as the following is valid if this FLIGHT is not in some WAITING.LINE don’t know if that would count as prior art
All that is necessary for evil to flourish, is that good men do nothing.
<![CDATA[" So why does everyone cry so loudly when someone gets a patent that was clearly predated by prior art? " Because we can’t all afford the millions of dollars in lawyers fees that it takes to challenge a patent in court. Particularly not when we are individuals and the patent is owned by a huge multinational corporation with billions of dollars and thousands of lawyers who can simply keep applying for adjournments until the legal fees bankrupt any private individual. In other words, the option of overturning it simply does not exist for individuals with less than 35 billion dollars in the bank.
"I suggest reading Patent Law Essentials by Alan Durham. A kind of expensive book, but the most readable introduction t the topic I have seen and very accessible to the non-lawyer. I even understood most of it." I’m very pleased for you. Then you will have understood, won’t you, that the patent *stands* until it is overturned in court; that the patent holder will be able to have anyone accused of infringement *injuncted* from carrying out their business until the case has been taken to court and resolved, and the patent either overturned or not. In short, the patent is pre-emptive, and it reverses the burden of proof: the defendant has to prove their innocence by showing that there is prior art or some other reason that invalidates the patent, rather than the plaintiff having to prove the defendant guilty beyond reasonable doubt by producing evidence. M$ takes out a patent that it knows is invalid, but it does so because it knows it can obstruct the course of justice with impunity. That’s why people kick up a fuss: because it’s an abuse of power that threatens our human rights. In a democracy, no corporation should be able to make up its own rules as it goes along and then abuse the state’s justice system to have those rules imposed on innocent citizens. ]]>
I hated this thing. No offense but it was long
As I see it – programming code is like lyrics & poetry;
patenting something is like ripping out code from a dictionary, you first patent a language and then from the language you patent (again) the modes and the happendings. Its certanly so that one shall be acknowleged as a conststructor for the work one have done with respect and joy for life and what fellows around like or not. But the code one does is like poetry; some how people shall be able to run the work one have done. At the same time as computer age change the abstraction on economy. The battle field is the following.. If I make a patent on a loop: (this is evil) then the rest of the population must pay ME and not the constructor of the LANGUAGE?! biljon box because i happend to write in computer language a sort rotine. as I see it the dession makers has to learn programming to understand what they rule on.
It would be like erasing woxxx out of this text because it would xxx to much xxx write