US Patent for the idea of using Haskell to implement UAX #9

Hi everyone, It's been a long time since I last posted to this list since I'm currently working on something that is not directly Haskell-related, but it still relates to functional programming in general. Anyway imagine my surprise when an innocent search for some keywords (I can't remember the exact ones but the following gives similar results) haskell unicode bidirectional revealed a link to a US Patent (7120900) for the idea of implementing the Unicode Bidirectional Algorithm (UAX #9 http://www.unicode.org/reports/tr9) in Haskell, making use, as far as I can tell, of nothing more than the normal approach any functional programmer would use, namely separation of concerns etc. The link is http://www.freepatentsonline.com/7120900.html though I think it would be better if they had just called the website "free handcuffs online" because that is what it amounts to when people succeed in preventing others from using ideas, especially ideas everyone would easily think up by themselves. Before going further I would like to explicitly state that I would not wish to cast any aspersions upon the people or companies involved in this patent, since it is all too clear to me that these people have acted in a perfectly legal way and are just doing their various jobs: in other words it's an "I'm a lumberjack and I'm ok..." kind of scenario: everyone probably thinks of themsevles as being a perfectly nice upstanding person, and if I met any of them face to face I'm sure I would find that they are *indeed* really nice friendly people who believe that they are doing absolutely the right and logical thing. In fact many nice people I myself have talked to about my own ideas immediately suggest that I should "obviously" patent them: it takes a long time to explain to them why this would not actually further my goals at all, and it is difficult for them to understand my explanation because the problem is rather too subtle for people who have not already been thinking along these lines for a while. However all this does not affect the problem that this patent acts as a brick in the general structural evil in our world today: anyone who is trying to create a programming language environment that is accessible to people who use right-to-left languages is now between a rock and a hard place when it comes to implementing UAX #9, the standard Unicode algorithm for implementing the Unicode semantics of bidirectional text. In this particular case, I expect (but I'm not a lawyer so please don't take this as solid advice: it's just a hope) that a workaround for Haskell programmers would be to discard their natural desire to use a functional approach and instead just implement UAX #9 verbatim using the ST monad. (The patent also tries to extend itself to other functional languages so caution is needed all round.) But although the above workaround *might* be legal in this particular instance it seems to me that as programmers we must not just let our craft be dominated by the psychopathic tendencies of certain elements in society that work hard to try to squash the ``normals'' into a life of brutal misery while they rampage ruthlessly about with a biological inability to experience empathy for other human beings. (www.ponerology.com) The memetic virus of psychopathy is rapidly spreading throughout human civilization and most people are not conscious enough of the elements that are contributing towards their own behaviour, thus ignoring the fact that the rice they eat for supper might have been picked by a tiny little girl in China with bleeding fingers or the carpet they walk on may have been made by a little 8 year old boy slave chained all day to a loom in a shed in India. To this end I humbly appeal to everyone here to please help in the fight against software patents, so that we can begin the huge task of reclaiming our world for real people who understand that true meaning in life comes from extending our feeling of self into the world beyond our own body: http://petition.stopsoftwarepatents.eu/ http://ffii.org Thanks a lot for reading this, Brian. [expecting to be crucified, but if it helps just one little girl or boy it will be worth it!] Disclaimer: this email is entirely my responsibility and I am not acting on behalf of any of the above web sites.

Am Freitag 16 April 2010 20:50:25 schrieb Brian Hulley:
revealed a link to a US Patent (7120900) for the idea of implementing the Unicode Bidirectional Algorithm (UAX #9 http://www.unicode.org/reports/tr9) in Haskell, making use, as far as I can tell, of nothing more than the normal approach any functional programmer would use, namely separation of concerns etc.
In which case the patent should be null and void since obvious ideas aren't patentable, AFAIK. But of course, IANAL, you never know what jurists think a law means, ...

Daniel Fischer wrote:
Am Freitag 16 April 2010 20:50:25 schrieb Brian Hulley:
revealed a link to a US Patent (7120900) for the idea of implementing the Unicode Bidirectional Algorithm (UAX #9 http://www.unicode.org/reports/tr9) in Haskell, making use, as far as I can tell, of nothing more than the normal approach any functional programmer would use, namely separation of concerns etc.
In which case the patent should be null and void since obvious ideas aren't patentable, AFAIK. But of course, IANAL, you never know what jurists think a law means, ...
Hi Daniel, Thanks for your reply. The main problem for me is just the fact that the legal system in itself is, as Charles Dickens wrote in "The Old Curiosity Shop" (Chapter 37): ... an edged tool of uncertain application, very expensive in the working, and rather remarkable for its properties of close shaving, than for its always shaving the right person. I just think somehow we should be free to write any programs we want just like composers can compose music, (as long as we don't just copy other people's actual copyrighted *code* without their permission of course). After all, there is no reason why people couldn't just keep their ideas a secret if they don't want others to use them: at least it wouldn't spoil things for everyone else. Companies could even charge for *access* to these secrets and people could sign NDAs, but this isn't the same as being allowed to actually own an idea itself. The current situation is a bit like a supermarket throwing oranges and apples at passers-by, then forcing people to pay if they were hit... In any case after signing the petition I'm going to just try and forget about the problem! ;-) Cheers, Brian.

Brian Hulley
The main problem for me is just the fact that the legal system in itself is, as Charles Dickens wrote in "The Old Curiosity Shop" (Chapter 37):
... an edged tool of uncertain application, very expensive in the working, and rather remarkable for its properties of close shaving, than for its always shaving the right person.
I like Humorix's take on the issue of patents (http://humorix.org/articles/2000/01/linux-history1/): Lawyers Unite ============= Humanity faced a tremendous setback ca. 1100 A.D., when the first law school was established in Bologna. Ironically, the free exchange of ideas at the law school spurred the law students to invent new ways (patents, trademarks, copyrights) to stifle the free exchange of ideas in other industries. If, at some point in the future, you happen upon a time machine, we here at Humorix (and, indeed, the whole world) implore you to travel back to 1100, track down a law teacher called Irnerius, and prevent him from founding his school using whatever means necessary. Your contribution to humanity will truly make the world (in an alternate timeline) a better place. -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com

Ivan Lazar Miljenovic wrote:
Brian Hulley
writes: The main problem for me is just the fact that the legal system in itself is, as Charles Dickens wrote in "The Old Curiosity Shop" (Chapter 37):
... an edged tool of uncertain application, very expensive in the working, and rather remarkable for its properties of close shaving, than for its always shaving the right person.
I like Humorix's take on the issue of patents (http://humorix.org/articles/2000/01/linux-history1/):
Lawyers Unite =============
Humanity faced a tremendous setback ca. 1100 A.D., when the first law school was established in Bologna. Ironically, the free exchange of ideas at the law school spurred the law students to invent new ways (patents, trademarks, copyrights) to stifle the free exchange of ideas in other industries.
Hi Ivan, Thanks for the humourous take on the unfairness of software patents. I have to admit however that I do own a trademark, namely "Xipal" (European Community Trade Mark No 007366693). (It is pronounced "ZeepAhl" with the "ee" as in "keep".) I just mention this because I want to make sure that anyone reading the archive in the future understands that I *do* see a positive role for the legal profession in our life today. My gripe is only about the unfairness of software patents and the way they serve only to stifle out hope for small businesses like the one I'm trying to create. (Metamilk Limited, registered in Scotland as SC270127) I'd like to hope that someone high enough up in the legal profession would eventually see that by stifling out small businesses in this way they are actually depriving their profession of all the work they would otherwise be getting by providing day-to-day legal services to those businesses, such as providing an address for the registered office and doing routine filing with relevant government departments. Cheers, Brian. -- www.xipal.eu www.metamilk.com

revealed a link to a US Patent (7120900) for the idea of implementing the Unicode Bidirectional Algorithm (UAX #9 http://www.unicode.org/reports/tr9) in Haskell, making use, as far as I can tell, of nothing more than the normal approach any functional programmer would use, namely separation of concerns etc. In which case the patent should be null and void since obvious ideas aren't patentable, AFAIK.
Doesn't matter: you'd need to pay lawyers to defend yourself to convince a court that it is null and void. So even if you may end up winning in the end (which is far from obvious), you'll have wasted a lot of time, effort, and money. Stefan

On 16/04/10 19:59, Daniel Fischer wrote:
Am Freitag 16 April 2010 20:50:25 schrieb Brian Hulley:
revealed a link to a US Patent (7120900) for the idea of implementing the Unicode Bidirectional Algorithm (UAX #9 http://www.unicode.org/reports/tr9) in Haskell, making use, as far as I can tell, of nothing more than the normal approach any functional programmer would use, namely separation of concerns etc.
In which case the patent should be null and void since obvious ideas aren't patentable, AFAIK. But of course, IANAL, you never know what jurists think a law means, ...
First, everyone in this thread needs to stop writing and read http://news.swpat.org/2010/03/transcript-tridgell-patents/ , which is a talk by Andrew Tridgell of Samba fame about patents and how to avoid/invalidate them. His main point is that avoidance is much much easier than invalidation. Now, about obviousness and prior art. The patent system has been shaped by lawsuits. Judges want nice clear dividing lines because otherwise the law becomes unclear and a trial becomes even more of a crapshoot than it already is. This search for bright dividing lines has forced judges to make some decisions that sound rather odd. The problem with the "obvious" bit is that almost everything is obvious after you've had it explained to you. Sherlock Holmes had this problem with Watson; every time Holmes explained his reasoning Watson realised that the puzzle was absurdly easy and couldn't understand why he hadn't understood it before. Its the same with inventions. So its no use having an engineer on the witness stand testify against a patent by saying "I'm skilled in the art and this looks obvious to me". You need something a bit less subjective. So to prove a patent "obvious" you have to locate some piece of prior art that almost does what is in the patent, then find another piece of prior art that fills the gap, and then find a "motivation" (such as a problem with the first piece of art) that would lead an engineer to logically put the two together. You can string several such steps together, and the bits of prior art can be as obscure as you want, as long as they actually were published. What you cannot do is assume even the tiniest inventive step in this process. In short the "person skilled in the art" of patent law isn't any real kind of person, its more like Google with an inference engine attached. (Actually thats a pretty cool idea). Paul.

Brian Hulley reports a search similar to :
haskell unicode bidirectional
revealed a link to a US Patent (7120900) for the idea of implementing the Unicode Bidirectional Algorithm (UAX #9 http://www.unicode.org/reports/tr9) in Haskell, making use, as far as I can tell, of nothing more than the normal approach any functional programmer would use, namely separation of concerns etc.
The link is http://www.freepatentsonline.com/7120900.html though I think it would be better if they had just called the website "free handcuffs online" because that is what it amounts to when people succeed in preventing others from using ideas, especially ideas everyone would easily think up by themselves.
Before going further I would like to explicitly state that I would not wish to cast any aspersions upon the people or companies involved in this patent, since it is all too clear to me that these people have acted in a perfectly legal way and are just doing their various jobs: /.../
Comment irrelevant to Haskell, sorry. Everybody does his/her various jobs. But I lost all respect due to people who work in the US Patent Office, when I saw the patent 6,025,810, a patent for an antenna which sends signals faster than light, using some mysterious new dimension. Or the U.S. Patent 6,960,975 for an anti-gravity device. It seems that although it is illegal to break some local regulations, the idea of breaking fundamental physical laws remains perfectly legal. (In some countries...) Somebody finally decided to ridiculise the system. If you want a good laugh, see the patent 6,368,227. The search site is here: http://patft.uspto.gov/netahtml/PTO/srchnum.htm Best regards. Jerzy Karczmarczuk PS. concerning the patent 7120900. The authors appropriate this bi-directional display in Haskell, Erlang, SML, Lisp, Scheme and Miranda. So, please, hurry up, and before they wake up, implement your stuff in Ocaml or Clean. Or better, get a relevant patent yourself.

jerzy.karczmarczuk@info.unicaen.fr wrote:
Brian Hulley reports a search similar to :
haskell unicode bidirectional ....
Comment irrelevant to Haskell, sorry. Everybody does his/her various jobs. But I lost all respect due to people who work in the US Patent Office, when I saw the patent 6,025,810, a patent for an antenna which sends signals faster than light, using some mysterious new dimension. Or the U.S. Patent 6,960,975 for an anti-gravity device. It seems that although it is illegal to break some local regulations, the idea of breaking fundamental physical laws remains perfectly legal. (In some countries...) Somebody finally decided to ridiculise the system. If you want a good laugh, see the patent 6,368,227. The search site is here: http://patft.uspto.gov/netahtml/PTO/srchnum.htm Best regards. Jerzy Karczmarczuk ...
Hi Jerzy, Yes that one is very funny. Also the existence of the other patents just show how ridiculous the system is. So thanks, that humour has helped me get back down to earth and away from all kinds of fruitless imaginations about the state of the world. I think my mind is best suited to functional programming *only*... ;-) Cheers, Brian.

On Sat, 17 Apr 2010, Brian Hulley wrote:
see the patent 6,368,227. The search site is here: http://patft.uspto.gov/netahtml/PTO/srchnum.htm Best regards. Jerzy Karczmarczuk ...
It's really almost not fair to cite that particular patent, since, if I recall the story correctly (I may be wrong in small detail, but I am sure of the general picture), that patent was filed by an attorney as a demonstration to his son how the system works. It was never filed as a serious patent. Yes, it may show how poorly the examiners are doing their job, but I think this particular patent really doesn't reflect on the poor service we are currently receiving from the entire patent system--I would like to think that the examiner knew perfectly well that this patent was not serious and was willing to play along. Murray Gross

Murray Gross wrote:
On Sat, 17 Apr 2010, Brian Hulley wrote:
see the patent 6,368,227. The search site is here: http://patft.uspto.gov/netahtml/PTO/srchnum.htm Best regards. Jerzy Karczmarczuk ...
It's really almost not fair to cite that particular patent, since, if I recall the story correctly (I may be wrong in small detail, but I am sure of the general picture), that patent was filed by an attorney as a demonstration to his son how the system works. It was never filed as a serious patent. Yes, it may show how poorly the examiners are doing their job, but I think this particular patent really doesn't reflect on the poor service we are currently receiving from the entire patent system--I would like to think that the examiner knew perfectly well that this patent was not serious and was willing to play along.
Hi Murray, Point taken about patent 6,368,227. I think in all fairness to examiners that in a way they have an impossible job due to the fact that what is a clever idea to one programmer will be a trivial idea to another: the field is so huge and people have such different experiences. Coming back to patent 6,368,227 one could perhaps look past the humour and see it as a kind of indication of what the patent system is trying to do to humanity. I just mean to see this dispassionately as an image, and by "trying to do" I'm just anthropomorphizing what I see as a purely structural phenomenon that in itself is like a force of nature, that emerges from the inevitable incompleteness of people's understandings even if each person individually is trying to do what they feel is right. In terms of a way forward for research companies I think there is a lot of well-paid work to be found in designing and implementing useful libraries of functionality, and then licensing them for inclusion in other programs. After all, end users want a real implementation not just an idea, and it is surely much easier to trade implementations rather than to try to trade the rather nebulous concept of ideas. This would allow programmers full freedom to implement whatever they like together with the clear advantage of being able to license well designed third-party libraries: we'd have total clarity and freedom. Anyway I've said enough about software patents so I'll leave the discussion here and reiterate that all I want is for people to be able to write programs without a Sword of Damocles hanging over their heads. Cheers, Brian.

On Sat, 17 Apr 2010 23:33:48 +0100, you wrote:
I think in all fairness to examiners that in a way they have an impossible job due to the fact that what is a clever idea to one programmer will be a trivial idea to another: the field is so huge and people have such different experiences.
In US patent law, algorithms themselves were deemed unpatentable quite some time ago (I believe that European patent law is more liberal in that regard, but I don't know all of the details). So a lot of the discussion concerning software patents in this country has been on whether or not software can be considered to be an "invention" separate from the underlying algorithms used in its construction. Since those of us who work with software realize that software is often little more than a restatement of an algorithm in a way that is suitable for a computing device to "understand," it's very difficult to draw a clear line between the two. People do occasionally come up with truly novel ideas about how to perform some software task, but it seems to me that unless the novelty involves some aspect that can be separated from the algorithmic approach used, it shouldn't be patentable. For example, quicksort, though certainly novel, is purely an algorithm, so it shouldn't be patentable--it is completely independent of any "tangible" implementation. But a sorting technique that is optimized for large datasets that can't be held entirely in volatile memory, and explicitly takes advantage of known characteristics of disk latency, etc., could very well be patentable. -Steve Schafer

When it comes to patents, there is less than meets the eye. A review of Intellectual Property in New Zealand a few years ago found that the NZ Intellectual Property Office quite deliberately do not review patent applications for originality. An IP law expert I spoke to about this felt that there was no problem, because patents that failed the originality criterion would fail in court. It didn't seem to bother him that defending yourself costs money. He was also untroubled that computer science professionals find most software patents incomprehensible; again, such patents fail a basic requirement so it should all be cleared up in court (and of course we can all afford that). The Australians recently conducted an experiment asking volunteers to check for prior art. The patent application I commented on claimed the invention of doing whole number arithmetic in a computer using "big digits" to base (10**max) where (10**max) just fits into a computer word. This of course goes back to _at least_ the 1960s. The people who claimed this particular patent may well have perfectly innocent intentions: they may not be trying to block anyone else doing obvious things, they may be trying to protect themselves against being blocked. The only way to tell, really, is to find out what they want for a licence to use "their" "invention". The current review of New Zealand IP protection may well scrap software patents entirely, in part on the grounds that we cannot afford to do a proper job of scrutiny.

On Fri, 16 Apr 2010, jerzy.karczmarczuk@info.unicaen.fr wrote:
Somebody finally decided to ridiculise the system. If you want a good laugh, see the patent 6,368,227. The search site is here:
As I recall some (patent?) laywer was simply teaching his kid how the patent process worked, so the worked through a real life example. -- Russell O'Connor http://r6.ca/ ``All talk about `theft,''' the general counsel of the American Graphophone Company wrote, ``is the merest claptrap, for there exists no property in ideas musical, literary or artistic, except as defined by statute.''

This patent has zero practical impact. When the patent was written there was no Unicode support, so the implementation translates the input into lists of integers instead of lists of characters. Crucially this step was also written into all three independent claims (which are the only bit of a patent that actually matters). So you are free to re-implement this algorithm provided that you manipulate lists of characters rather than lists of integers. Now that GHC has full unicode support this should not be a problem. Paul.
participants (10)
-
Brian Hulley
-
Daniel Fischer
-
Ivan Lazar Miljenovic
-
jerzy.karczmarczuk@info.unicaen.fr
-
Murray Gross
-
Paul Johnson
-
Richard O'Keefe
-
roconnor@theorem.ca
-
Stefan Monnier
-
Steve Schafer