Roy just asked me to blog about a twitter-conversation on our Typemock patents.
It is true, we do have a patent. Its number is: PCT/IL2007/001152
It is natural for companies to file patents of their innovations and inventions.
We have no answers to the questions that where asked and we haven’t any policy about this as this is not important enough.
What is important and what we are focusing on is that less than 10% of the developers actually write unit tests! We are focusing on innovating to get the right tooling that will enable the majority of developers to unit test their code, becoming craftsmen and professional and take the whole software development community another step forward, not on delaying innovation.
I must still be missing the point. How will this patent make more developers write unit tests?
I haven’t really thought about that.
By that is besides the point. The problem that I am focusing is what can we innovate to make it easier for more developers to write unit test.
What can *you* do to help more developers unit test their code.
Well, to get more developers writing unit tests I could write free open source tools leveraging similar techniques to enable mocking of poorly designed systems…
Oh, wait, you guys patented that technique…
How do you plan to enforce the patent, against say http://research.microsoft.com/en-us/projects/moles/ ?
To be fair, I know the broken patent systems forces companies to protect them self (not innovate), and if you didn’t I’m sure Microsoft would have put some kind of patent on say Moles, which would be a threat to your business.
I guess my point is that most developers can’t stand software patents. They do no good.
Typemock has patents…? Whoa that is reason alone not to choose that software any time soon.
Could you try to explain how patenting typemock improves anything in the state of the world? You are actively trying (only trying) to ensure that technologic solutions you have achieved are not copied to open source projects, thus increasing the FUD of the unit testing world. That is a real bummer for anyone interested in seeing unit testing going forward. Sad.
After having read the patent application, I’m having a hard time seeing where “innovation” or “invention” is taking place. All I am seeing is implementation of existing ideas, which is worthy of copywrite for the source code, but hardly the kind of original thinking that should be required for a patent.
Sadly, this is an all too common distortion of the patent process, which was meant to promote invention and not to isolate incremental improvements from being widely adopted.
As someone on Twitter said (http://bit.ly/d625aJ): “Why are people suprised at Typemock having a patent? It’s a company… you know… a thing that tries to make money.”
It is customary for all companies to patent their innovation and IP, the patent is out there and you can read it (actually you should read it to understand how innovative it is).
Anyways, as I’ve stated, we are about innovation – features, magic, ease of use, not about spending time on legalese. If you haven’t tried Isolator yet, you should and if you feel you can build a better system, I encourage you to do that. That’s what innovation is about.
Huh? That is nuts. You are saying “you have a question – but I’m not going to answer it, because that is not the point”.
How about this:
“We patented a well-known practice. We did this because our business is based on this practice. If another company patents this, we would be screwed. We can’t tell you that we won’t enforce the patent, because then what is the point? But we are not going to enforce the patent. We are just covering our butts. Trust us.”
Does that work? Or is it something else?
What question did you answer?
My question: Why would Typemock have a patent for something like this? And, subsequently, since you do have a patent, why would you feel the need to patent something like this?
I am sincerely interested.
Jeff,
Thank you for trying to understand the reason behind this.
Some developers want to get all tools for free and it bugs them that a whole team of developers spent years creating tools to help them, while not giving them out for free.
But this is how the commercial world works. Companies spend a lot of money on R&D to create superior products and are expected to protect and patent their IP and innovations, just like Google, Apple and others do.
You must surly be astute enough, after reading the patent, to know that we patented a technology to assist the practice and not the practice itself.
Eli,
This patent is a double-edged sword for TypeMock. It protects your investment and lead in this area (mocking non-virtual things), but it also stifles innovation in the OSS area that TypeMock might benefit from.
OSS tools might use this technique that you have pioneered and go farther than you have. You could then incorporate the new technology back into your product.
Therefore, I suggest a solution that would benefit TypeMock while still protecting your investment:
1.) Post a pledge signed by TypeMock owners that says this patent will never be used to attack an OSS tool that delivers similar functionality and that TypeMock will instead seek to work with the OSS community to evolve TDD tooling beyond where it is today.
2.) Grant a free, irrevocable, and perpetual license to all OSS tools which may benefit from your patented technolgy on the condition that they grant you license/rights to re-integrate any innovations or patents that those OSS tools might innovate back into TypeMock products.
This sharing of ideas and improving techniques and tools between TypeMock and OSS will benefit everyone including TypeMock.
Eli,
What I find disturbing about this post, as I read it again, is the dismissive attitude coming from you about those asking questions. Your assertion that it’s “not important” only means it is not important to you. Clearly, it is important to those asking the questions of you.
I’m still trying to figure out what is innovative about TypeMock that justifies a patent and am coming up blank. Which doesn’t mean that a patent won’t be granted, the Patent Office would grant one for a ham sandwich these days.
I admit not having read the whole of the patent but what about ancient “prior art” that has existed in the Java world for a very long time. For example EasyMock has its Java 5 release in late 2005. IBM has articles about mocking in 2002.
The technique itself is as old as interfaces (at least)!
I mean where is the claim to no prior art being available that is a requirement for a patent?
lovely post on blog
Hank, you are uninformed and should really read the patent yourself. The patent is not for the practice of mocking, but rather for the specialized technique Typemock uses to perform totally flexible mocking in runtime.
After reading the patent, please try to answer these questions:
– Is this just patenting a general practice or is there something deeper?
– Can you honestly say this patent is not used to protect man years of innovative work put into implementing a clever idea?
– Wouldn’t these man years be totally lost if a large company with more resources than Typemock just decided they want to stomp the smaller competition by copying the idea to achieve the same, driving the innovators out of business?
However I will try to meet your points without still having read the patent:
1. Maybe your patent describes something unique and particularly innovative. Good for you if that is so.
2 & 3. There are other ways of protecting your investment. This can be done through an open source copyright for example GPL. There are numerous examples of where this works. An example is JBoss that was bought (not cheap mind you!) by RedHat. MySQL is another similar example. Admittedly these are large infrastructure projects so it may not be really relevant but take SoapUI being developed by two of guys here in Stockholm. They have a dual model where the extra sugar is in the Pro version. No patents anywhere in sight.
On a side note: I like competition and if several frameworks compete at being the best in the field, so much the better!
I’m rather surprised that people are against this Typemock patent.. You have clearly advanced the state of the art in TDD.
I also know that as a customer, I would expect you to patent your innovation so that I am protected, so that I know that I am purchased something that is yours sell, and that I won’t be sued for using someone else invention.
Xin and others. The problem with this kind of patent is that it is the company with the largets capital resource that wins in court. Why? Because this is not program code – it is legalese. Legalese is “bendable” – it is up to the interpretation of the reader. So the one company that can hire the most expensive lawyers will win in court.
Also, the implementation of the ideas in TypeMock is called source code – and the copyright for that expression belongs to TypeMock’ employees (or maybe TypeMock the company, depending on their employment contract). So Xin, it is already protected.
The result of the patent system is all lot of Fear, Uncertainty and Distrust (FUD) for all smaller companies – it brings a sledge hammer in the hands of the big companies.
@OlofB. You seem to know a lot about the patent system and copyright laws. I don’t really know how that system works, and I am not sure that you really do. I have talked to a lawyer and it is not so simple, if it was so, the OSS project would not really need to put GPL or any other licensing system up.
What I do know is that if Typemock doesn’t write the patent another company will, and put me, the end user, at risk, so I have a huge Fear, Uncertainty and Distrust (FUD) in any company that won’t protect me, and can’t prove that it is not selling someone elses work, and doesn’t have patents.
As for the smaller companies – who exactly are you talking about? What small companies are innovation in TDD?
@JohnD.
Being grown up with software development I have “built-in” anxiety regarding software patents, since it has put up road blocks at a number of times – the GIF-thing, Microsofts attack against the Linux world (which is all about FUD – they never filed IIRC).
I know some on patent systems and copyright law, yes, but it also a very complex system (intentionally complex in my mind – complexity favors big cats, see my previous comment). Also, the law on these topics differ in small but devious ways in EU/US/specific countries.
I don’t think OSS projects are generally at risc because of this patent, since they are not strictly commercial. However, the line between donation/support-based business models and “software as a product” is fuzzy and I cannot say at this moment if there is a risc for OSS TDD projects due to TypeMocks patents. (What OSS projects often have is “proof” of being out there for long enough – open source archives with time stamps back in time. So it is relatively easy to check whether a certain algorithm was implemented before this patent was filed.)
As to small TDD companies, for example, TypeMock might be at risc, since Microsoft are developing a competing piece of software (MSTest). I say TypeMock is at risc and not Microsoft, because I am guessing Microsoft is by far the bigger of the two, and “own” the rights to a whole plethora of patents – legalese documents that would need a horde of lawyers to read and interpret. How does TypeMock know Microsoft does _not_ have a patent that conflicts with this patent..?
So you are saying that Typemock is at risk, and that is sounds like a good idea to protect themselves, with a patent for example.
So why are you so surprised? wouldn’t you do the same?
@JohnD.
I’m saying patents are a tool foremostly for lawyers and big companies. TypeMock would not stand a chance in court if Microsoft wanted to put them down.
Without a patent system, the worst a big company can do is copy good ideas – and that would not be so bad for technological advance, would it?
Let me give an example. Say TypeMock does really well commercially. Microsoft notices them. How does TypeMock know they are not breaking any software patent Microsoft “owns”? Patent portfolios function as sledge hammers. But only big companies have the resources to wield such a heavy weapon.
@OlofB.
The reality is that the patent system exists, and cannot be ignored.
How does bashing a small kid in the block help close down the patent system?
It helps since it brings the discussion to the table. These things must be discussed openly in order to gain opinion and raise awareness of the big economic problems the world has to deal with because of patent systems.
Just imagine what would happen to the world of literature if certain authors were able to “patent intrigues” or “scenery” in their creations. And then other writers had to either pay a fee to that author, or risc prosecution! How’s that for slowing things down..?
@JohnD @Xin Name
Empirically and historically, OlofB is actually correct when it comes to the *fat cat* argument. In jurisdictions with common law, esp with regards to patent law and IP issues, the ones with the largest wallet has a tendency to win.
You both had one thing in common that you used aa a reason: It protects you as a customer.
The problem is that this can very well be a false sense of security, since the protection you invoke, that Typemock’s patent is providing, has yet to be upheld–or overturned–in any court against a larger corporation and thus tested visavi other, already existing patents.
That’s the second point of OlofB’s arguments, I think, which I have to agree with.
This is not about customer security, nor protection of unique concepts. It is all about–so far untried–legalese.
Perhaps this is what Eli meant, the patent discussion is not the point, or focus of Typemock or this blog.
Helping developers unit test and have less bugs is the point.
I think there are several issues here that get mixed up.
First of all, I am sure that Typemock has rational reasons to register for a patent. It gives them some sense of security and probably a sense of accomplishment as well. The patent system has examined their claims and found them innovative enough. They have probably spent a lot of money on the patent. Hardly anybody manages to get it done under $50,000. Most of that is patent lawyer fees to create the gibberish that is in the patent application.
Unfortunately the sense of security is false. Any large company can fabricate their own patent covering essentially the same “invention”, and can thus easily invade the space that Typemock thinks is theirs. As others have said, large companies have very big portfolios of patents, and in software, you are almost certain to infringe on some of them. The bigger portfolio wins.
There is some protection against a successful startup that wants to occupy the same niche in the market, but the patent doesn’t really offer much if you are already successful and ahead of the competition. It works best if you are failing on the market and your competitor is doing well. Then you can torpedo their success. Mmm, nice business model…
The fact of the matter is that software patents generally just increase the randomness of the outcome and small companies are generally much better off without them.
How stupid are you!?
That (PCT/IL2007/001152 ) is not a patent!
It’s a patent APPLICATION!!!!