It’s strange. Microsoft has been patent trolling the heck out of the Linux kernel for a long time now, and is still using these patents against Android today in its protection money scheme. However, as LWN.net illustrates, Microsoft makes quite a few contributions to the Linux kernel. Shouldn’t this invalidate their patent claims?
LWN.net regularly investigates and summarises the various contributions to the Linux kernel, making lists of who contributes the most. Now that version 3.0 of the Linux kernel is about to hit the big wide world, it was time for another one of these investigations.
Microsoft proposed a total of 361 changes to the Linux kernel, putting it in seventh place on the list of companies contributing the most to the kernel. To give you an idea – Red Hat provided 1000 changes, and Intel 839. Independent developers contributed 1085 change sets.
Now, this doesn’t say a whole lot, since it doesn’t take the size of the changes into account. As H-Online notes, Microsoft’s changes are small and touch only a few lines of code; Microsoft changed 11564 lines of code (1.3%), while Intel, for instance, changed a whopping 163232 lines (18.1%). Most of Microsoft’s code revolve around the driver for its HyperV virtualisation interface
Still, this got me thinking. In The Netherlands, there is this TV show called ‘De Rijdende Rechter’ (‘The Travelling Judge’), which revolves around a judge taking on all kinds of small and hilarious cases, like trees hanging over neighbour’s gardens, fences protruding 3 inches onto other people’s property, and so on. It’s hilarious.
Now, imagine Microsoft is bringing a case to the Rijdende Rechter. Microsoft claims that his neighbours (a family) are building a shed a few inches over the property line so that it actually covers a minutely small strip of Microsoft’s land. The shed is usable as it is, but the neighbours continuously improve it inside and out, painting it, replacing some of the wooden panelling, installing lights, and so on. Microsoft demands that the judge orders the neighbours to either pay rent for the small strip of land, or tear down the tiny sliver of the shed on Microsoft’s land.
How strong would Microsoft’s case be if the neighbours building the shed told the judge Microsoft had actually been helping in building the shed, even though it knew about the placement of the shed and the property line issue? I can assure you – it would make Microsoft’s case considerably weaker. Helping to build the shed while knowing it protrudes on his land would would constitute a form of approval.
But then, maybe I’m applying too much logic here.
The Linux kernel is licensed under GPLv2.
GPLv2 does contain a clause to ensure redistributors do not obtain a patent license that cannot be reapplied to every user receiving a copy.
It does not contain the GPLv3 patent license requirements (section 11) that are applied to contributors. Those provisions are attempting to give effect to what you describe, where a contributor must implicitly be granting a patent license to any applicable patents they hold that would cover their contribution.
Notwithstanding that, if a GPLv3-style patent license did exist covering the Linux kernel as a result of contributions, it does not mean that any patent claims over a larger work (eg. Android) would entirely be invalidated; only those relating to the kernel contributions. Many of the patents being argued about are much higher level than that.
I don’t think Thom was implying that their patent claims would be running afoul of GPL patent provisions.
Rather, it’s that they can’t seriously complain about patent infringement by the Linux project when they themselves are a major contributor to that project. Their contributions may not be related to the areas in question, but it’s still bad for the credibility of any patent claims they might make…
If credibility of patent was an issue, then the US patent system wouldn’t be in half the mess it is now.
* You wouldn’t have Apple suing over evolutionary patents which have stacks of prior art.
* You wouldn’t have HTC buying other companies for their patent portfolio.
* …and You wouldn’t have patent trolls trying to cash in on others successes.
The problem with the patent system -and to a lesser extend, laws in general- is it’s not about credibility and hasn’t been for some time. It’s about clever posturing of legal and technical jargon to manipulate a legal broken system into favoring yourself over your opponents.
Edited 2011-07-18 10:42 UTC
It’s a further tacit acceptance of the existence of Linux which is a farcry from the days of this kind of melodrama:
http://www.macobserver.com/tmo/article/Have_You_Longed_To_See_Bill_…
Thom also implied that logic should have something to do with the law – and of course it doesn’t. Lawyers and the legal system (at least in the US) are all about argument. Argument is all about who can best appeal to the confirmation bias of the Jury and Judge.
Logic has got absolutely nothing at all to do with it.
i’m all confused now.
almost like seeing Lex Luther helping an old lady cross the street.
This is really messing up my stereotypes.
That’s quite possibly the most awesome analogy I’ve read all week.
If it makes you feel better, imagine the old lady is a hostage. Because Microsoft *isn’t* doing this to be nice and community-minded – they’re doing it to ensure compatibility with their HyperV products. They obviously believe that even if people are going to run Linux servers, MS can still make money if those servers are VMs on top of a MS virtualisation infrastructure.
How is this any different than Redhat and Oracle contributing patches? Their motivations are selfish as well.
Edited 2011-07-17 22:45 UTC
For starters RedHat and Oracle patches tend to contribute to Linux itself and not act as a virtualization shim. Yeah, the motivations are similar but the end result is vastly different.
And it should be noted that RedHat also funds a lot of development of software that has no direct bearing on it’s business and as a result enriches the linux ecosystem.
Edited 2011-07-17 23:10 UTC
So you don’t think it is a good thing in general that any Linux distros can benefit from having HyperV support?
Apparently anything that microsoft does it bad …
Seriously ???
Like what?
Redhat sell both Desktop and Server versions so enriching the Linux ecosystem actually helps them to.
Anything that they help to develop goes directly towards Red Hat Enterprise Linux, even Fedora.
Oh and lets not forget redhat were obfuscating their patches not long ago, and probably still are …
http://lwn.net/Articles/430098/
From the same article in comments
HMM … Redhat are helping the linux ecosystem by making it difficult to decipher kernel patches … I see …
Edited 2011-07-18 00:21 UTC
Yes, because you overlook the fact that typically all Red Hat patches get send upstream by the developers and merged with the Linux kernel. What Red Hat does to its product only affects vendors like Oracle trying to rip off Red Hat. It doesn’t affect the community.
That is the inherit problem with the GPL.
Anti GPL FUD really considering Red Hat is edging towards a billion dollars a year on revenue with software primarily around GPL. GPL is by far the most popular free and open source software.
It is not Anti GPL FUD … it is a simple fact.
The same problem with more permissive licenses … there is nothing stopping a larger company pick up your work and support your current customers …
Which is exactly what Oracle are doing with Unbreakable Linux.
No. It is FUD because you singled out GPL earlier. If you merely said, any free and open source software can be supported by multiple vendors, this is true and the strength of it because there is no vendor lock-in. However Oracle isn’t merely supporting. They are engaging is under handed tactics which they have been doing to many others in the past and those were proprietary vendors. It has everything to do with the way it is running its business
How it is underhanded?? Not very nice maybe, however they haven’t violated the terms of the license. They have just found a (quite obvious loophole).
I think most people would consider “not very nice” to be underhanded. Also exploiting a loophole could also be considered underhanded.
One uses such terms against lawyers for navigating crooked paths through the law, why not this?
Don’t play semantics. Exploiting loopholes and not playing nice are just other ways of saying that it is underhanded. Btw, you are wrong to claim that patches have to be GPL. They can under be under any GPL compatible license. These include MIT, revised BSD and many other licenses. There are some modules which are under BSD merged in the Linux kernel so this is not even theoretical.
You can’t have it both ways … you can accuse Oracle of being underhanded while they are just making use of the copy left nature of the GPL … simple as.
Basically you are saying,
“Anyone is free to use the code, as long as we like them … then they are exploiting it.”
You are putting words in other people’s mouth. Don’t do that. People who play fair don’t just rip off. They put their weight behind it and increase the value of the ecosystem (Think Red Hat) or atleast add value in a different way (Think Wind River vs Red Hat). Oracle isn’t really doing that. This is why they are being singled out by the community. They were singled out when they were engaging in under handed tactics with PeopleSoft and BEA as well. So nothing to do with GPL, copyleft or whatever.
No I am not … That is the attitude of a lot of FLOSS people … “If you are one of the ‘nice’ tech giants … we will love you … if not we will hate you forever and be angry on internet forums”.
Yet the same people are slagging off Microsoft which has contributed to Open source projects such as jQuery, Joomla, Drupal and Contributed to the Linux kernel and probably a few others … this is conveniently forgotten.
Oracle does contribute back some things. But I think pretty much everyone whether from the Linux community or not can agree generally that Oracle often swims in a sea of scumbaggery.
I don’t think anyone is slagging Microsoft in this context. It is just that nobody is particularly impressed by the features being added by MS. The features MS generally adds are usually interoperability patches (I am however willing to be proven wrong if evidence contrary is provided).
Wrong again. Red Hat is not a tech giant. Neither is Wind River and talking about “FLOSS people” as if it is a single monolithic entity is ignorant.
Edited 2011-07-19 01:49 UTC
Well FLOSS zealots do seem to all sing from the same hymn sheet.
So do the trolls who don’t know what the heck they are talking about.
I wasn’t trolling … I had pointed out time and time again the hypocrisy … and you guys keep making up excuses why “it is alright if it is company X and not if it is company Y” …
Microsoft contributed code for the same reasons, IBM, Redhat etc do … because it benefits their own customers and is in their self interest.
Oracle do nothing wrong in terms of the GPL when they repackage RHEL …. which is exactly what Scientific Linux and CENTOS do … But I don’t hear you complaining about that … Another Hypocrisy … apparently it is alright to “rip off” if you are giving the result away for free.
This becomes tiresome …
Edited 2011-07-19 13:52 UTC
“Oracle do nothing wrong in terms of the GPL when they repackage RHEL”
You keep saying this but because it is allowed by a license doesn’t make it any less of a dick move. They not only repackage RHEL but actively trash talk what they repackage and push people to move over to Solaris. If they merely repackaged that is one thing but they break things in the process as well. Look up CentOS developers comments when they originally came up with their effort.
Just because you don’t see the obvious differences between Red Hat and MS contributors doesn’t mean they are the same.
Well I don’t expect businesses to play fair, I expect businesses to try to get money out of me while attempting to spend as little as possible.
Yes but not all company cultures are the same. If companies are scum bags, I will criticize them.
Maybe you should support co-operative businesses then … since their goal is to help their customers and the community … I don’t believe Redhat is one.
They are atleast not scum bags. That is a step up
I would have to say that yes, everything they do to help MICROSOFT and MICROSOFT’S PRODUCTS only, at the epxense of their competition is bad. Is there a Hyper-V for Linux yet? I bet not–but they sure do want to run on the bare metal of servers, and put everything else under them where they cannot control. They already are known as an abusive monopoly, are they not? They’re less of a monopoly, but I wouldn’t give the bastards a chance. They’ve proved time and time again that everything they do, no matter how nice it seems, always ends in backstabbing and bloodshed… to their competitors. And often unfairly, and even flat-out illegally… in their own f***ing home country.
Never said it was bad, just irrelevant for most people that care about linux itself (as opposed to what it can do for their business etc.)
Linux users will not be virtualising on top of windows. Only windows users that need something from linux will be using hyper-V.
I would however commend Microsoft if they improved something like say…the kinect driver.
I understand what you’re trying to say, but I think it’s a false dichotomy. Just because somebody is running Linux in a virtual machine doesn’t mean they’re not a “Linux user.”
Selfish ?:
1. Just as selfish as any contributor to any open source project. RedHat and Oracle don’t want to keep their own patches in a separate kernel that takes a lot of work to keep porting it.
2. Microsoft has contributed a bunch of drivers. That is what this is. They are just as selfish as any hardware vendor in trying to get their drivers accepted.
3. Major contribution ? Not really, yes there are a lot of changes. But that doesn’t mean it is a lot of code (it isn’t very little code either).
They changed pretty much every single line of the patches as Microsoft submitted them at first.
Because the style of the code in Windows as very different from the style in the Linux-kernel.
A lot of changes needed to be made and they all are separate commits and thus counted as changed.
Just read this blog-post on the first attempt by Microsoft to get their code accepted:
http://www.unixwiz.net/techtips/review-hv-patches.html
What is your problem with the comments exactly … You just supported what I had just said ???
I didn’t comment on that at all ???
There was one dev tasked with porting it … probably had a learning curve to progress through. This is how things work, you build something get feedback and change accordingly …
Development is an evolution process. You don’t get stuff any where near right the first time.
Edited 2011-07-18 00:55 UTC
Well, maybe my comment kinda sucked, but I wanted to let you folks see that the Microsoft code is drivers. Not features. With Redhad and Oracle atleast they contributed features.
99% of this was style, this isn’t about learning how to do it right. Othen than Microsoft just dumping their code out there and hoping it gets integrated.
Then when the Linux developers said no they had to give an other Micorosoft developer the task to change it all.
The microsoft patches only help lnux users that use Hyper VM a microsoft product.
The Redhat patches help anyone using Linux for a variety of purposes.
I think its good that Microsoft is working to make it easier to use linux when working with their software, but its not as good as just general purpose Linux work.
But, this is probably all the help one could expect Microsoft to give. And, how suspicious would developers be of Microsoft’s code if they moved to more mainline kernel development? Would they be doing it for the good of the kernel, or to sabotage development by introducing code that looks good but leads to a dead end path?
In a mixed environment this is not a bad thing. Would it be better if they helped out more and contributed to things that don’t specifically benefit their customers yes it would, it is not going to happen and at least they are trying to fix bugs that affect users of their products.
Linux is RedHat’s main product. Of course they’d contribute more code that affects more functionality than Microsoft would. Good grief.
Or a better analogy in this case: normal people contributing to the church of Scientology.
I prefer interoperability so it’s all good.
well, if that old lady would be vital for his plan… why not? same with microsoft and kernel contributions. those are meant to help them either selling their clients in virtual environments or their servers as hypervisors for linux.
what would be strange with that? i’d be surprised if contributions would be in form of some hardware driver. but it would be same kinda strange as if intel would publish optimization fixes for amd drivers
I bet it’s all about HyperV, so it’s not surprising.
The whole mantra of Microsoft is that if it helps to sell Windows licenses, then they are happy to help out. I mean, they were helping Firefox and I know for a fact that they helped bringing PostgreSQL Windows port into existence.
Well, that’s their mantra post Anti trust Case. If their profits start to sink, they may rethink their philosophy.
Wouldn’t those changes be made so that Linux would run competitively under MS Hyper-V? If this is the case, it would make sense to me since VMWare and Citrix are their main Competition in this area.
*** Update ***
Comments regarding Hyper-V were already mentioned.
Edited 2011-07-17 22:24 UTC
I have to say even though I am against software patents I don’t agree with your logic here.
Let’s use an analogy. A 3rd part group is set up that allows contribution of code by software companies into a sort of code commons – code that all contributors (or anyone else) can use freely. I’m Microsoft – I contribute some code. Someone else contributes code which I claim patent on, and another party (my competitor) uses that code.
I didn’t provide the code which my patent covers – someone else did. Just because I also provided code to the 3rd party group, that doesn’t invalidate my claims – whoever contributed that code did not have the right to do so (based on my patent)
This is hardly an analogy, it’s basically what happened here. If I were to claim patent rights to the code I DID contribute, that would be different (both legally and morally). But as a contributor I don’t give up any rights except what the license stipulates.
The best way to make this kind of thing go away is to eliminate software patents entirely, not trying to point out “bad” behavior. Bad!=Illegal, and patent law has no basis in morality. As long as software patents are legal, corporations will use them as leverage – they really don’t have much choice in the matter. It’s unfortunately a system set up so that it is very very difficult not to play without getting burned badly.
Edited 2011-07-17 22:32 UTC
Well, Microsoft is attacking handset makers for their use of Linux on smartphones. They are not attacking Linux developers over the contents of the kernel.
Also, their contributions are related to Hyper-V, and are completely unrelated to mobile phones.
However, if their Hyper-V related changes were adapted to make the Linux kernel run better on competing virtualization platforms, and they sued companies that distributed Linux for use on competing platforms, then, yes, their contributions should invalidate their patent claims.
Not that any claims on software patents should be valid in the first place.
Maybe morally, but not legally.
There are no patent indemnification requirements in GPL v.1 and v.2.
This makes me think that its simply a case of Microsoft getting their hooks into Linux.. i don’t like this, i think its time to make a BSD licensed fork of Linux…
Forgive me if that was a joke, but if it wasn’t, you apparently don’t understand licensing at all. The GPL has more restrictions[1] than the BSD/MIT/X license, restrictions which, presumably, those who contributed code to Linux want on their code. In order to fork Linux under a new license, you’d have to get permission from every single copyright holder who’s contributed even a one-line patch.[2] Good luck with that.
[1] Not trying to start a “BSD vs. GPL: Which Is More Free?” argument. By “restrictions,” I just mean that the GPL requires you to do more stuff if you redistribute the code, which is demonstrably factual.
[2] The reverse, of course, is not true. As I understand it, you could, for example, quite legally fork FreeBSD under the GPL (since the BSD license essentially says “You can do whatever you want with this except claim you wrote it”). Practically speaking, such an effort would probably fail, but there’d be no legal difficulty.
The authors of the code in Linux have not given anyone permission to do that.
The permission of the aithors of the code is required, under copyright law, for anyone to take the code, modify it and re-distribute it (under any license). The authors of Linux have only granted permission if their code is re-distributed as GPL.
If patent law had anything to do with logic, we would not have software patent in the first place.
– Software is already protected by copyright, patents are not needed.
– Software is algorithms and as such part of mathematics, and mathematics is discovered rather than invented and should thus not be patentable.
I always wonder who is promoting the idea that mathematics is discovered, not created. I’d love to ask that person to show me these places where abstract equations and functions that just happen to model things we are interested in modeling are lying about in the wild, just waiting on some intrepid mathematician to discover them.
You make this statement so matter-of-factly, as if it is obviously true that math is invented, when in fact many (perhaps most) think the opposite. It’s certainly not easy to argue one case or the other and AFAIK, the problem is unresolved.
They are probably to be found in a similar-in-some-ways place to that place where authors of books and stories discover sentences and paragraphs.
Did you realise that authors of books and stories cannot patent sentences and paragraphs?
Edited 2011-07-19 02:18 UTC
No, but neither do they need to, considering they have an automatic copyright. You know, ownership of your own creations being an innate human right and all.
Did you realise that original authors of works of software also have an automatic copyright?
Most software is more process than “math”. Where’d you get the ideat that “algorithms = math”? I have an algorithm for tying my shoes; that doesn’t mean that that algorithm is “math”.
As for invented vs discovered, who cares? Hell, I could argue that ALL inventions already exist in the abstract, just waiting to be “discovered”, whether those inventions are made out of bits or made out of atoms. Which would mean that no inventions could be patented, period, according to your theory (which you state with mere assertion, with no elaboration or explanation).
You guys are caught up too much in the “bits” thing, where things made of bits must be treated differently than things made of atoms.
————————-
P.S.
I maintain that if the universe had no intelligent beings, then math would not exist, for it takes such beings existing for the abstract realm to even exist. Things like Math, Music (not particular songs, but the very concept of Music), etc aren’t just sitting out there waiting to be discovered; it takes intelligent beings to ponder on those concepts. I add this as a P.S. because it’s not pertinent to my main points, above.
You have an algorithm for tying your shoes?
The fact that software is math is actually a whole topic of study, called computational theory.
http://en.wikipedia.org/wiki/Theory_of_computation
There is even a corresponding (and far less well-founded) theory that a mind is actually a computer:
http://en.wikipedia.org/wiki/Computational_theory_of_mind
Anyway, it is an ovious truism that computers manipualte bits of information stored in their memory and/or digitised measurements of real-world signals (aka input/output). It is also true to say that these bits are only numerals (aka digits … which is the very root of the word digital). It is also true that the central component of any computer is the CPU, and the functional core of a CPU is its APU (aka Arithmetic Processing Unit). Arithmetic is the manipulation of numerals.
Therefore, the way that a digital computer is built means that all it can do is transform real-world signals into numbers (made up of binary digits) and them manipulate them using … math. The results of these math calculations are then often turned back into real-world signals.
Ergo, all that a computer can do is math.
Ergo, software is math.
PS: It does take an intelligent mind to write mathematics processes to follow, just as it does take an intelligent mind to write a book to tell a story. Authors should enjoy the fruits of their creations, no argument. The most suitable form of IP protection for both of these types of original works of authorship is copyright.
Edited 2011-07-19 02:04 UTC
To say that software is math doesn’t really tell the whole story, though. In this sense, the word “Math” is being used in two different ways. The “Math” that is discovered (and thus not patentable) is the kind that tells us things about orders of infinity, and the countability of natural numbers.
The math that is used for software construction isn’t discovering anything, it’s constructing something. I think no one would argue that anyone “discovered” Linux, or Office. These things were built to fulfill a purpose, and serve a useful function. This also separates them from a story-book. That’s why the patent question for software is so interesting, I think.
I don’t see how making a software program is essentially different from writing a book or composing a musical piece. Each activity is remarkably similar in that the author takes small “building block” components, being words & rules of grammar, notes & chords, or maths operations and computing language syntax, and one builds up a “work” from there.
In the case of a book, the work tells a story or conveys a message. In the case of a musical composition, likewise. In the case of a software program, signals or information are trasnformed from one form to another. Then there are other creative works of authorship such as making a statue, painting, artistic photography, poetry, film-making, playwright, songwriting and so on. Even things like carpentry and furniture polishing can be considered as a work of authorship.
There are very, very strong parallels here. I can see no reason at all why computer software, just because its working medium is mathematics operations and not words or musical notes, should be the only type of work of authorship that is patentable. Everything else of similar creative ilk is protectable by copyright only.
It makes no sense at all.
What is worse, having patents on software is arguably ruining the entire IT industry in America.
http://www.groklaw.net/article.php?story=20110717140031881
http://www.youtube.com/watch?v=XvOHEA_xd2A
Seven ways to ruin a Technological Revolution indeed.
Edited 2011-07-19 05:21 UTC
What you say holds for anything that is constructed out smaller parts. I can construct a new car engine out of parts, but the difference is that it actually does something. A new engine would also be patentable. Computer programs “do” things, a story doesn’t “do” anything.
In terms of the machine or transformation test, software transforms input into output.
Being a software engineer, I think most software patents are bad because they are obvious, trivially extending on prior work. However, I could be persuaded of their utility if I saw one that represented significant ingenuity on the author’s part.
A new engine isn’t patentable unless it is innovative, and uses entirely new methods.
A new model of a gasoline-burning internal combustion engine isn’t patentable. Because it uses entirely different principles, a fundamentally new engine design like this might, however, be patentable:
http://www.cyclonepower.com/
http://www.motorauthority.com/news/1023924_cyclone-waste-heat-engin…
http://www.cyclonepower.com/comparison.html
“Cyclone engines do not require a transmission, starter motor, catalytic converter, muffler, radiator or oil pump.”
Fundamentally different. Innovative. Arguably, a new invention (even though it is essentially a steam engine!).
Android is a touchscreen-based mobile phone OS, as is Android. Palm OS beat them both to it:
http://en.wikipedia.org/wiki/Treo_650
Neither Android nor iOS are fundamentally new designs. Hence Microsoft should be free to write WP7 if they want to.
Virtually ALL software written today is just “new models” … a re-telling of a old story using different words, a new arrangement of an old song, a re-make of an old movie.
There is no real innovation here, there are no new inventions, just new bells and whistles. Software should NOT be patentable.
Copyrights … OK, no problem, people should do their own work. Software patents? no way. Just say no.
Edited 2011-07-19 06:20 UTC
I agree that most software written isn’t new content, just small extensions. However, I wouldn’t let that stand in the way of a patent being filed for a real innovation in software.
I can’t imagine one. The original maths is cooked up in universities, that is the innovation, and it isn’t software.
Example: The concept of something like “modelling” is many decades old (e.g. watch the movie “Apollo 13” to see an early simulator in action). The maths involved is simply orbital mechanics, and is even older. Making the simulator is simply applied mathematics, it isn’t “inventing” anything.
Another example: turn-based strategy games, such as Age Of Empires, are pre-dated by this:
http://en.wikipedia.org/wiki/Wargaming
Maths is ancient.
http://en.wikipedia.org/wiki/History_of_mathematics
Mathematics is REALLY ancient.
saynte,
“I agree that most software written isn’t new content, just small extensions. However, I wouldn’t let that stand in the way of a patent being filed for a real innovation in software.”
Can you provide an example?
If not, you can borrow mine:
Quantum computing. A practical quantum computer would be innovative/novel in countless ways, with far reaching implications. The hardware for such a machine is no doubt innovative by just about everyone’s standards.
Now we turn our attention to quantum computer software, and again we end up resorting to mathematics to lead the way. One of us developers will *happen* to be the first to write a quantum algorithm to do X. The act of being the first is “novel”, but this is no indication that the algorithm isn’t “obvious” to typical quantum developers, it’s merely an indication that no one has ever tried before. It could very well be an inevitable algorithm which any quantum developer will be able to derive once practical quantum computers become relevant.
Why wait until there is practical quantum computing hardware available?
http://en.wikipedia.org/wiki/Shor%27s_algorithm
http://www.springer.com/birkhauser/computer+science/book/978-0-8176…
“The purpose of this monograph is to provide the mathematically literate reader with an accessible introduction to the theory of quantum computing algorithms, one component of a fascinating and rapidly developing area which involves topics from physics, mathematics, and computer science. The author briefly describes the historical context of quantum computing and provides the motivation, notation, and assumptions appropriate for quantum statics, a non-dynamical, finite dimensional model of quantum mechanics. This model is then used to define and illustrate quantum logic gates and representative subroutines required for quantum algorithms. A discussion of the basic algorithms of Simon and of Deutsch and Jozsa sets the stage for the presentation of Grover’s search algorithm and Shor’s factoring algorithm, key algorithms which crystallized interest in the practicality of quantum computers.”
Maths is maths, it doesn’t require hardware to work out the maths.
When the first algorithms are run on practical quantum computers, they won’t be original.
lemur2,
“Maths is maths, it doesn’t require hardware to work out the maths.”
I agree, I know there are already emulators today.
“When the first algorithms are run on practical quantum computers, they won’t be original.”
Yes there’s theoretical work being done today, but once the hardware exists in commercial form, then there will suddenly be much more interest from developers. Many of them will in fact be the first to implement many original algorithms. My point was that while it is inherently true that someone has to be the first to do it, it’s not inherently true that their work will be non-obvious.
Quantum software developers will find themselves in the same sad software patent predicament as today’s developers. They’ll be forced to use sub-optimal/obfuscated algorithms, or they’ll just continue ignoring software patents which is probably the best we can hope for.
I’ve had a re-think. Perhaps new, original algorithms are in fact useful in a patent context, and are “invented” by people from time to time.
http://www.phoronix.com/scan.php?page=article&item=s2tc_s3tc_fix&nu…
“In the past, there have been individuals that have chimed in with their own thoughts on how to workaround the S3TC patent situation for open-source drivers, but none of them have been viable in legal terms. This new possible “solution” is a brand new texture compression algorithm that is simpler than S3TC and should not be infringing upon the S3 Texture Compression intellectual property.”
http://www.phoronix.com/image-viewer.php?id=s2tc_s3tc_fix&image=s3t…
In a “way to avoid someone’s silly, harmful software patent” context that is.
https://github.com/divVerent/s2tc/wiki/WhyS2TC
“The compressor and decompressor here are licensed under a license that gives you all freedoms you will ever need (namely, the MIT license). In particular, the MIT license allows you to use, copy, modify, merge, publish, distribute, sublicense or sell the software, provided you keep copyright notices intact.
In the unlikely case you need freedoms not covered by the MIT license, feel free to send me a message, and we can negotiate something.
Furthermore, you are free to reimplement S2TC on your own, and can use the format specification on this site as a guide.”
Edited 2011-07-19 10:47 UTC
Computer Science 101: software is just multiple binaries (0 and 1) i.e. abstract in this case therefore part of math. For example, show a word processor, a music, a movie in palpable form without any medium.
Edited 2011-07-19 05:26 UTC
Software is an arrangement of 0s and 1s; a car is just an arrangement of metal and rubber. I think the question should be: was the arrangement found, or built?
Proper mathematics is found, but software is most definitely built.
Anything which requires an author or other type of artisan is “built”. Why on earth should software alone be patentable, just because it uses math as its working medium?
Software is NOT alone in being patentable, many things are patentable.
I could argue the same way in the opposite direction: why should software NOT be patentable just because it uses math as its working medium, not metal and rubber?
My point here is that it should be on some property other than the “material” with which something is built that the decision of patentability is made.
OK, I have got your argument. Stepping away from this issue just a moment, how about we consider the actual purpose of patents?
http://www.danablankenhorn.com/2006/07/the_purpose_of_.html
“The Congress shall have Power…To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;
Let’s look at that again. The purpose of patents and copyrights is ‘to promote the progress of science and useful arts,’ and to secure ‘for limited times to authors and inventors the exclusive right’ to writing and discoveries. “
Software is a commodity with near-zero setup costs and near-zero cost of reproduction.
Because of the low, low barriers to entry, it simply doesn’t need any help to ‘promote its progress’. People will jump in and create software with no encouragement at all, encouragement simply isn’t required. Very similar to writing a book or a song.
Because of the low economic barriers to entry, it is not at all similar to making a new drug, or even a new engine design.
Indeed, from the time modern computers were first being built right up to the 90’s there were no software patents. Copyright law was applicable, and eminently sufficient to protect investments in software development.
In these respects, software is entirely similar to writing a book or a song. It is arguably less capital intensive than making a movie. The only difference is the medium of expression, maths rather than words or notes or moving pictures.
So, once again, why should software be patentable?
Patenting software does nothing to achieve the purpose which patents are meant to achieve. Software patents are simply not necessary, they achieve no purpose, just like patents for books are not necessary.
Edited 2011-07-19 06:50 UTC
Actually I really dig the argument of the low barrier to entry. I’ve thought in these terms before as well: it is almost as easy to implement a program as it is to think it up (well enough to patent).
However, to construct software well, it is *incredibly* expensive in terms of man-power.
What would be great is if we could have someone that could understand what is and is not a trivial extension to prior work (or just prior work itself) for software.
saynte,
“However, to construct software well, it is *incredibly* expensive in terms of man-power.”
If that were genuinely the case, then why isn’t copyright sufficient?
Because much of that man-power is not in churning out many lines of code, it’s churning out a relatively small number of *correct* lines of code. But once you have these lines, it’s fairly trivial to translate them into any other language. It’s not the verbatim-copy that matters, but the overall process.
Generally it seems that this translation tolerates enough loose-ness to get around copyright, where-as I feel that patents may protect better the original creator’s ingenuity (if they wanted it).
However, the patents I see today seem to be pretty obvious, so I also have a bad taste over software patents.
It is incredibly expensive to construct a blockbuster mainstream movie well.
http://en.wikipedia.org/wiki/Avatar_%282009_film%29
“Avatar was officially budgeted at $237 million. Other estimates put the cost between $280 million and $310 million for production and at $150 million for promotion.”
It is enough for movies that the only IP protection is copyright.
Intellectual man-power, I agree I didn’t state that clearly.
However, theatres don’t achieve different tasks depending on the movie that’s showing, so that’s a key difference in result.
saynte,
I think the implication was that different production studios would not be at risk of loosing the rights to their own movie, which they funded themselves, because someone else already did it. This is exactly what patents do. Why should code be patentable (not my opinion), and film not be?
Arguably, filmmakers should be all for movie patents.
By patenting all their movie ideas (with hundreds of variations) and then having others license their intellectual property, they could turn a profit. When other new filmmakers are caught stealing ideas, they can be sued for infringement. After all, the original author deserves compensation whenever others use his idea. Otherwise we end up with writers having no incentives to come up with new movie ideas, and everyone just waiting to copy the movie ideas of others once they’ve been proven.
Dan Brown is the famous author of The Davinci Code, which became a blockbuster movie, but he ripped off his entire novel from another author who never got any credit (different characters, same plot). If the original author could have patented the ideas which made up the novel, he would have been entitled to royalties from Dan Brown.
Copyrights are clearly not sufficient, so why doesn’t hollywood have patent protection? It would seem they need/deserve it just as much as software developers do.
Edited 2011-07-20 17:28 UTC
Because the benefit of art is less tangible than the benefit of a machine. Software has a utility beyond it’s reading, it is, somehow, both a machine, and a machine’s description. At least that’s my feeling.
saynte,
“Because the benefit of art is less tangible than the benefit of a machine. Software has a utility beyond it’s reading, it is, somehow, both a machine, and a machine’s description. At least that’s my feeling.”
The precise+tangible implementation is protected by copyright in either case.
The unimplemented algorithms and story ideas are intangible in either case.
What makes them tangible is their implementation. What makes an unimplemented algorithm idea any more tangible than an unimplemented movie idea?
Edit: Speaking to the “benefit” of tangible implementations in either case, isn’t that completely subjective? Is an educational national geographic television program somehow inherently less beneficial than a national geographic software program?
Edited 2011-07-20 20:04 UTC
When I said the benefit was tangible, I meant that a piece of pure art does not solve any problem. The most it can do is present some facts, but no more.
To me, this makes the book and software incomparable in this regard.
In any case, finding an implementable description of an algorithm “idea” is practically an implementation itself. A proper description of the idea should be the full algorithm anyway, or at least close enough that rounding it out is trivial.
Perhaps another way of stating it; the national geographic television program is an expression of facts: which birds mate where. A computer program is not primarily an expression of fact, it is the application of facts to a problem, to suite some purpose.
saynte,
“When I said the benefit was tangible, I meant that a piece of pure art does not solve any problem. The most it can do is present some facts, but no more.”
Movie producers fill market demand every bit as much as software producers fill market demand. If movies don’t solve a problem for consumers, then why do people pay for them?
If a customer purchases an ipad strictly to play games on it, does that “solve a problem”? If not, does software that does not solve a problem still get to be patented?
For reference, here’s a software game patent:
http://www.patentstorm.us/patents/6561811/claims.html
“In any case, finding an implementable description of an algorithm ‘idea’ is practically an implementation itself. A proper description of the idea should be the full algorithm anyway, or at least close enough that rounding it out is trivial.”
I’d go further, even requiring software patents to have a working implementation. But being what they are today, I really cannot give you that point, patents really are abstracted from the implementations which they cover. A developer reading the patent still has to go through all the work of actually implementing working code, this is a lot of work. The patent itself is quite useless to us.
“Perhaps another way of stating it; the national geographic television program is an expression of facts: which birds mate where. A computer program is not primarily an expression of fact, it is the application of facts to a problem, to suite some purpose.”
You probably want to reword that since facts are generally accepted as non-patentable.
However that would be an interesting approach to invalidating software patents:
“It’s a *fact* that applying these steps solves our problem, and since facts are not patentable we should have the right to use said steps to solve our problem.”
Whether or not a movie fulfills the “function” you state is totally unverifiable before release of the movie. One could also argue that there are thousands of years of prior work on using art to “satisfy market demand”. Given these two facts, it’s no surprise that pure art rejected as patentable material.
I would agree that the patent system in the US isn’t working now for software, but what I’m arguing is that there is room to incorporate software into the system, somehow.
Actually my wording was as I intended: facts are non-patentable, true. But what is the design of an engine other than the application of facts to a problem? A certain shape and thickness of metal gives properties X,Y,Z which allow for greater efficiency of W. These should be provable facts under the right mathematical axioms and model. Why should software’s arrangement of facts and properties to perform a task be any less patentable than an engine design’s?
saynte,
“Whether or not a movie fulfills the “function” you state is totally unverifiable before release of the movie.”
The USPTO does not investigate the validity of patent claims either. Until the patent is actually implemented and verified (US patent law has never required an implementation), the claims of the patent are totally unverified.
Perhaps this could be addressed in patent reforms we keep hearing about. However the USPTO clearly does not have the expertise or resources required to conduct R&D necessary to verify claims, I don’t think that’s a feasible reality.
“But what is the design of an engine other than the application of facts to a problem? A certain shape and thickness of metal gives properties X,Y,Z which allow for greater efficiency of W. These should be provable facts under the right mathematical axioms and model. Why should software’s arrangement of facts and properties to perform a task be any less patentable than an engine design’s?”
I have alot of faith in math when it comes to software because software algorithms are an exact science, short of hardware failure, they are 100% deterministic.
I have less faith in math when it comes to real world due to material imperfections, quantum probabilities, turbulence, chaotic amplification, etc. Product manufactures today need to create million dollar prototypes, or wind turbines, or safety testing, or crash test dummies, or drug testing trials…you get the idea. These tasks are all very expensive. It is precisely these kinds of expenses which warrant patent protection.
When software developers working on cheap commodity PCs with commodity software are able to inadvertently infringe software patents during the routine course of their job, it is an indication that either these developers are astonishingly brilliant, or that the expenses and effort incurred by the patent holder are highly exaggerated. Given my experience with the industry, I can tell you that the later is true.
However I do agree with you in one aspect, once physical product R&D can be reduced to mathematical models without the need for actual R&D facilities, then virtual product R&D expenses should approach levels closer to software R&D expenses. Once this is the case, and just about anyone can afford to do it using commodity hardware/software, then the rational for patent on physical products will become exceedingly difficult to accept (since patent holders will be receiving a monopoly to recoup what amounts to trivial R&D expenses in the grand scheme of things).
Virtual product R&D is quite a fun topic to ponder, but one major issue is that eventually the virtual design will have to be physically manufactured (unlike software), which still requires a major initial investment. Although I suppose a small company could always outsource this phase, don’t we do that today anyways?
Well, if there’s a claim that I have a method of time-travel, but what I propose doesn’t actually achieve that, won’t such a patent application be rejected?
I admit I’m not well informed on the US’ patent application process.
Real software is often harder to construct than physical things. If I have a material that may have imperfections, I can reinforce it physically. If there’s software with imperfections, there is no reinforcement, you have to fix the fundamental design. As you’re probably aware, software failure modes can be arcane. You don’t even get commutativity or associativity of many operations in floating point math! Proving such programs is definitely non-trivial (if we’re discussing reducing programs to mathematics).
So if you’re discussing cost to get something that ‘works’ reliable software has a high-cost as well. Of course I admit crappy software that doesn’t work is well… cheap. My only point is that the expense can be high in both cases it just occurs at different stages.
Aside from that, there are problems which we do not know of any good solution to, that mathematics has not given us the “one true answer” to. Take SAT solvers: these tools try to explore vast state spaces as efficiently as they can, but in the end it’s an NP-complete problem. There are relatively few people in the world that can write efficient SAT-solvers. So let’s say you spend your life constructing the most efficient SAT-solver you can, you release the software then someone quickly copies your overall method (but not verbatim, avoiding copyright). What’s the incentive to work in such a difficult area of software?
“Well, if there’s a claim that I have a method of time-travel, but what I propose doesn’t actually achieve that, won’t such a patent application be rejected?”
No one really knows how many there are, but some impossible patents have been known to make it through.
http://gailly.net/05533051.html
“Real software is often harder to construct than physical things….As you’re probably aware, software failure modes can be arcane. You don’t even get commutativity or associativity of many operations in floating point math! Proving such programs is definitely non-trivial (if we’re discussing reducing programs to mathematics).”
I disagree. If an algorithm can be mathematically proven mentally using a calculator and paper, I see no reason it couldn’t be implemented on a computer as well. Granted floating point rounding errors can be troublesome. But to an experienced developer solving them is rather obvious. Either use higher precision data types, or arbitrary precision variables. Rational numbers can be represented without floating point error by keeping them in fractional form.
For me obviousness is not that a good developer needs to know the solution off the top of one’s head, but rather that he’d be able to visualize a path through the trees to get to the solution. Unfortunately for devs everywhere, the USPTO doesn’t apply this interpretation of obviousness.
When we arrive to the solution, we discover that our work was in vein because it is already owned by someone else. So even though we knew how to get there, some damned patent holder has a government granted monopoly. What’s worse – they don’t even have an implementation, they just described what they saw through the trees. Patents deny us the benefits of our own labor. I keep bringing this up repeatedly, but maybe I am mistaken in thinking that everyone would see this as a problem? Is this a problem to you? How can reform help?
“So if you’re discussing cost to get something that ‘works’ reliable software has a high-cost as well. Of course I admit crappy software that doesn’t work is well… cheap. My only point is that the expense can be high in both cases it just occurs at different stages.”
Well the cost is relative. Even a basic product R&D facility will cost millions of dollars (around here $1M would just pay for the lot with not much else). That could be equivalent to 10 software developer years. You have to admit that very few software patents really require that kind of investment. Those that do are already protected in that it will take competitors many years to implement themselves.
In reality most software patents represent a few weeks at most. It is often the case that applicants spent more resources in legally writing and filing the patent than in R&D work.
If a skilled developer can produce the same invention within a few hundred hours time, the software patent should be invalidated on the spot since there is very little justification in rewarding applicants who’ve spent more resources in their patent effort than in R&D – that makes no sense at all.
“Aside from that, there are problems which we do not know of any good solution to. Take SAT solvers: these tools try to explore vast state spaces as efficiently as they can, but in the end it’s an NP-complete problem… What’s the incentive to work in such a difficult area of software?”
It’s true those problems are open questions. But I do feel it’s more in the domain of mathematicians. I suspect they’d be pretty ticked if they heard anyone mention that they need patents too.
Edited 2011-07-21 08:42 UTC
Not all patentable methods require a vast R&D facility and millions of dollars to produce, so the fact that software may not require millions to produce is also not a reason to totally reject the idea of software patents. Look at the case from the 60s about the intermittent wiper idea for cars. It was built using off the shelf components, but still, totally patentable.
The people constructing SAT solvers are not pure mathematicians, though people trying to prove things about P ?= NP tend to be. In any case, the SAT solver question is really advanced by of heuristics. These advances are for example: if you discover a new implied fact, prefer that one over old facts, but after a while decrease its importance.
There is absolutely no known mathematical reason for why this leads to better search performance.
My point is basically that software patents have some big problems right now: its the evaluation of the patents that has to be addressed to have a successful system for everyone.
I would like it if the patent offices started rejecting all software patent applications until a proper system can be constructed, because I agree it’s getting stupid.
sanynte,
“Not all patentable methods require a vast R&D facility and millions of dollars to produce, so the fact that software may not require millions to produce is also not a reason to totally reject the idea of software patents.”
You *could* argue that trivial software should be patentable because trivial physical inventions have been. But I really think that’s contorted. It’s like saying police should enforce a walking speed limit because they enforce a vehicle speed limit. The merit of a speed limit ought to be considered in the context for which it’s applied. It makes no sense to me to say that software/math need patents because other disciplines have them.
“Look at the case from the 60s about the intermittent wiper idea for cars. It was built using off the shelf components, but still, totally patentable.”
Enormous upfront investment is the most often cited justification of patents. Presuming it was so trivial as you say it is, and there were no expenses to recoup, then it’s probably not a good poster child for the patent system since it contradicts one of the strongest arguments for the patent system.
“The people constructing SAT solvers are not pure mathematicians, though people trying to prove things about P ?= NP tend to be. In any case, the SAT solver question is really advanced by of heuristics.”
Most CS students will have studied this in passing only. Mathematicians (who may be advanced programmers too) would be the main group working out these problems. You can try to convince them their field needs patents too, but you’ll face still opposition just as with software.
“There is absolutely no known mathematical reason for why this leads to better search performance.”
???
“My point is basically that software patents have some big problems right now: its the evaluation of the patents that has to be addressed to have a successful system for everyone.”
Ok, but do you have examples which are not math? The free market will naturally invest more in solving unsolved problems as the need arises. We’re perfectly happy without software patents, where is the problem that needs solving? If software developers in general are content with no software patents, then why do others feel the need to fix it?
“I would like it if the patent offices started rejecting all software patent applications until a proper system can be constructed, because I agree it’s getting stupid.”
Well, that seems like a great idea to me. Now if only the lawyers had an incentive to do that…they are a burden on us all.
There are good and bad patents, I would only want a system that tries to fulfill the purpose of patents. To mandate that software patents are never suitable seems hasty, because in the future the “software climate” may change. Patents should be argued on principle, not on the domain.
For examples of other things I would think are non-trivial patents: garbage collectors. You find some really awesome ingenuity in a lot of the new publications and implementations of new GC methods that reduce latency or are able to do parallel collections. I could understand wanting to recoup some of the costs of development.
I’ve heard most of the implementers of the currently developed SAT-solvers speak recently, and I can’t really say that they are any more mathematicians than electrical engineers are. They’re all very smart, mathematically capable people, but they’re not all sitting around trying to directly puzzle out P ?= NP.
I would stress again that just because you can implement something in software, that doesn’t mean it’s somehow more easily provable than what can be done in real life via simple circuits. The question is entirely about what assumptions you make of your model. You do an inductive proof of your recursive function: did you account for stack depth? Many do not prove this part of correctness (although some companies do pay this much attention, see Praxis).
You do an analysis of your circuit diagram, you can “ignore” similar aspects of the low-level physical properties.
Software is easy because we view it as a closed system. Software is hard because it is in a discrete domain (see integral vs continuous linear programming). Physical engineering fields are hard because their inputs are more open-ended. But, their task is easier at the same time because they can often do very simple things to increase the properties of their inventions, ie, physical reinforcement.
saynte,
“Patents should be argued on principle, not on the domain.”
That’s just an opinion though. If mechanical engineers want patents, and software engineers/mathematicians do not, then there’s really no reason in principal to force the system onto all groups.
Besides, you’ve already eliminated some creative domains from patentability in this thread. A programmer will take pride in his work just as a composer would, we both feel entitled to tweak our respective works how we see fit. There’s a moment after a long through provoking session when our work clicks together, that’s the moment we look forward to. We both feel that government and patent holders have no business controlling our creative works.
You keep speaking as though this entitlement were wrong for software developers, but… I really do feel that telling a programmer that certain code combinations are prohibited is analogous to telling a painter or musician that certain methods are prohibited to them. It’s the same physicological reaction: despair at the thought of loosing our intellectual freedom.
“For examples of other things I would think are non-trivial patents: garbage collectors….”
You’re underestimating the number of people who are working on these things either out of personal interest, degree, or as part of their job. I created my own memory allocators that do some pretty novel things compared to malloc. Mine easily beat GCC’s malloc performance (others have too). I would much rather have the right to incorporate my own code into my own projects than have the right to sue others who tried to do the same thing after me. I’m not interested in going into business to sue other developers, which is all patents can do for me.
“I would stress again that just because you can implement something in software, that doesn’t mean it’s somehow more easily provable than what can be done in real life via simple circuits….”
Of course there’s a lot of things developers can do to write unmanageable code that is impossible to test easily. But assuming the software is designed to be unit tested from the ground up, then I do think software is far easier (and cheaper) to test since the tests themselves can be automated. I can even include regression tests in the build process.
Edited 2011-07-22 12:06 UTC
It’s not like software engineers form such a group, they’re a bunch of individuals. Again, this is why I advocate arguing from principles. If the purpose of patents is economic incentive, then the current state of the economy doesn’t bear on the future state. The rules for patent review should not say “no software!” they should say “no patents on methods which have a healthy economic status”, I’d be happy with that.
Are software patents more onerous than other kinds? I hate the idea of getting smacked with a patent lawsuit, but is this different than in other industries? (Truthfully I don’t know).
saynte,
“It’s not like software engineers form such a group, they’re a bunch of individuals.”
We don’t collectively form a group? Of course well-organized groups with lobbyists will usually get their way, but it would set a terrible precedent to say that individuals collectively don’t matter.
“Again, this is why I advocate arguing from principles.”
With respect, I think you are assuming from the get go that patents are the answer, and are trying to find ways to make them appealing in domains where the practitioners mostly don’t want them.
I am also arguing from principals, namely that my freedom to write whatever software I can trumps someone else’s entitlement to preclude me from doing it.
You clearly don’t share this principal, which is why you have a differing conclusion. But even so I have been arguing against software patents on the basis that software has exceptionally low barriers to entry. Very few people do not have the resources to write software (obviously what they lack is skill and, to the extent that TV is more interesting, time). With software, there’s no need to take huge monetary risk. Software patents necessarily raise the bar to entry by locking the market with monopolies and pushing developer overhead through the roof.
“If the purpose of patents is economic incentive, then the current state of the economy doesn’t bear on the future state. The rules for patent review should not say ‘no software!’ they should say ‘no patents on methods which have a healthy economic status’, I’d be happy with that.”
“Healthy economic status”? So in an IT market bust, software parents are permissible? I don’t see why.
“Are software patents more onerous than other kinds? I hate the idea of getting smacked with a patent lawsuit, but is this different than in other industries? (Truthfully I don’t know).”
To the extent that mathematically derivable algorithms should not be patentable, I’d say yes they are more onerous. However given that you’ve already indicated that math should be patentable, I doubt this will sway you.
I’m not comfortable making claims about other industries (golden rule and all), but I am inclined to believe patents are more onerous for all domains where the market already has low barriers to entry.
Edited 2011-07-22 20:19 UTC
No, what I’m saying is that individuals collectively *disagree*. Case in point: this conversation . In any case, even if the current software culture hates patents, who is to say what they could feel like tomorrow?
I’m sure that some mechanical engineers would also just like to design what they want and not have that ability restricted. However, I don’t think this was ever a consideration for the basis of patents.
Indeed, what I’m arguing is that if patents are a suitable mechanism to drive invention, then software doesn’t seem to be unique to me, except for the incredibly easy translation from a description of software to working software. What I’m unsure of is if that matters, given that one is already able to file a patent with no implementation of the design.
Perhaps it is the existing culture of software producers to open their inventions willingly, to show people how they accomplished what they did, that makes software patents seem so unpalatable.
saynte,
“No, what I’m saying is that individuals collectively *disagree*.”
There will always be exceptions, but do you disagree that the consensus is that software patents do more harm that good?
“In any case, even if the current software culture hates patents, who is to say what they could feel like tomorrow?”
Why shouldn’t people in the future be entitled to make decisions for themselves? Once something becomes a real problem, then we can regulate it, until then we should opt for the least intervention possible.
“I’m sure that some mechanical engineers would also just like to design what they want and not have that ability restricted. However, I don’t think this was ever a consideration for the basis of patents.”
Yes, but again, the barriers to entry are much higher. They need expensive facilities, fabrication equipment, raw materials, etc. I’d like to build robots, but I cannot afford to, maybe patents would help me there. I like to build software, and I CAN afford to with consumer equipment that most people already own, I don’t need software patents.
I still say software patents are trying to solve a problem which doesn’t exist.
“Indeed, what I’m arguing is that if patents are a suitable mechanism to drive invention, then software doesn’t seem to be unique to me, except for the incredibly easy translation from a description of software to working software.”
They’ll only provide incentive in domains where the barriers are high (drug trials is an often cited example), but otherwise the monopolies can be a disincentive too.
I believe that if the US steps up patent enforcement on software, that software developers in the US would become severely disadvantaged with the rest of the world, not unlike when the US government regulated encryption algorithms.
“Perhaps it is the existing culture of software producers to open their inventions willingly, to show people how they accomplished what they did, that makes software patents seem so unpalatable.”
Of course, if you are pro GPL, then then you are almost certainly anti-patent. But I work on far more proprietary code than open source code and I still disapprove software patents. I would be miserable if I needed to cross check all of my work with a software patent database.
How do I justify the added expenses to my clients? If I knowingly infringe patents, do I share the liability with my clients? If I cannot reasonably code around the patents, then do I have to turn down the job if they’re unwilling to buy a license (assuming that option is even available)? If I add the patent license fee to the license costs of my own software, then it becomes even more difficult to compete with low cost offshore developers who don’t risk any liability for infringment.
Currently, most developers ignore software patents entirely so these issues don’t crop up.
Edited 2011-07-22 22:36 UTC
saynte,
“Software is an arrangement of 0s and 1s; a car is just an arrangement of metal and rubber. I think the question should be: was the arrangement found, or built? Proper mathematics is found, but software is most definitely built.”
I don’t agree with your distinction.
You may not be aware of this, but in computer science discrete mathematics courses, we do study how to apply mathematical concepts like induction towards computer algorithms.
If an algorithm is patented, and a developer can prove that the algorithm is mathematically derivable, then would you say the algorithm patent should be invalidated? It is sort of a trick question, since every algorithm is mathematically derivable, given adequate specification.
I’d go as far as to say a genuine distinction between mathematical and computer algorithms is blurred to the point of non-existence seeing as one can clearly be translated to the other (within physical constraints of the machine).
Could you elaborate on a fundamental difference?
Given the same problem, many developers will come up with overlapping algorithms. You may say “oh just use a different algorithm”, but now developers are wasting their time in search for algorithms with less desirable properties in order to satisfy a patent holder’s monopoly. Considering that many patent holders deliberately file dozens of variations on the same idea to deliberately block other implementations, it’s no wonder honest developers are pissed off with software patents.
Edited 2011-07-19 06:24 UTC
A trick question indeed I’m aware that programs can be proven with techniques like induction, axiomatic semantics, etc. Then again, I can also prove properties of physics using mathematics, and physics are at the heart of many “solid” inventions.
I will dodge your question slightly with my motivation for such an underlying “feeling”: I have some discomfort with the notion that if I write down an algorithm in software it’s not patentable, but if I write it down in VHDL and drop it onto a circuit, it is.
An analogue filter using resistors and wires may be patented (let’s assume), but a software based one cannot? To me, this would seem to be a rather arbitrary distinction, the key innovations are in the clever arrangements!
I don’t have an answer for you about the fundamental difference, unfortunately, but maybe if I thought on it a while longer
saynte,
“I’m aware that programs can be proven with techniques like induction, axiomatic semantics, etc. Then again, I can also prove properties of physics using mathematics…”
Really? I’m still under the impression that no single mathematical model has ever addressed all observable phenomena. A hypothesis on the properties of physics lives or dies by whether or not it stands up to physical evidence, not whether or not it’s mathematically correct.
For example, newtonian physics is mathematically sound, but it doesn’t fit the physical world at the extremes.
But maybe I’m wrong and I missed some big new developments in the theory of everything, in which case I’d certainly appreciate a link to more information.
Let me know if I misinterpreted what you were trying to say.
“I have some discomfort with the notion that if I write down an algorithm in software it’s not patentable, but if I write it down in VHDL and drop it onto a circuit, it is.”
I can understand that.
“An analogue filter using resistors and wires may be patented (let’s assume), but a software based one cannot? To me, this would seem to be a rather arbitrary distinction, the key innovations are in the clever arrangements!”
I would have expected that any R/C network patents have long passed their expiration dates, but it is not really my domain at all. I don’t know how much work it is to establish a fabrication plant, or the effort required to minimize interference and leakage between components, etc… I’m just not comfortable making claims about electronic patents.
The reason I focus on software patents is because that’s my expertise. People sometimes read into it too much.
Well, I would say it depends on what model of physics you need. If you know you will not encounter extreme cases, then you can apply it as required. A Hoare-logic proof of a program doesn’t cover me pulling out the power on the computer, but we make the assumption that this case is far enough out-of-bounds that it doesn’t matter.
As in my previous post, I try to come at this from the point of view that much of the ingenuity that goes into software, is the same “effort” that goes into many other types of patents.
I would also be happy for now if all software patents were thrown out until reasonable standards could be put in place to make it not such a haven for crap.
http://www.mustap.com/media/msLinux.gif
You mean http://www.mslinux.org/ already available since November 2003? 🙂
This is why I love Microsoft – they care about consumer – me. And they must care because their http servers run Linux. Because if they didn’t – they would lose money. And they care about the money very much..
While bullshit open source community monkeys just go “well, we don’t sell anything so we don’t effin care – heres NO collaboration in GNOME 2 with other similar projects and here’s GNOME 3!”.
Yeah, 2xxx will be the year of Linux when pigs fly.
Edited 2011-07-18 11:01 UTC
If we like lawncare analogies, it’s more like Microsoft is receiving runoff of rainwater on a neighbors property. That neighbor doesn’t care where the water goes as long as it’s not on their property. Microsoft installed a ditch and some drains to keep their property dry instead of continuously getting flooded out.
Now, without the silly analogies…
MS does software. It’s in their best interest to make their systems inter-operate with others. I really don’t understand why everyone has their panties in a bunch, this is win-win for all involved.
K. Y. Srinivasan, the man in question, made the contributions on his spare time.
I wonder, assuming he is own by Microsoft… if his children are Microsoft contribution to the population.
Who’s daddy then?
Anyway, since he is a regular Linux contributer, and real person what Microsoft is not (just a virtual entity)… It would be more sense to state that Linux community helps Microsoft. (and in other ways).
Why the present view of Microsoft owing everything?
Including one who’s payed for “giving” his merits, so Microsoft may patent them as his own (slavery again)
But maybe this is all wrong, and “right” is what is the modal view because modal and “accepted”.
This might be a chance to be requested a long desire of many:
– The reduction of Pi to 3.0 (to ease calculations)…
– And lowering the value of gravity “g” value to maybe half.
—
Make your vote by calling…
3321 for Pi=3.0
3325 for G= 4.9
(Each call is 60 cents)
Edited 2011-07-19 17:28 UTC
In all the huff and puff and FUD over whether or not this can be used to yank Microsoft’s property away from them, something important seems to be overlooked:
This was Microsoft making the submissions, not Microsoft hiring a third party to do it. That’s distinctly different from even a few years ago, where Microsoft did all their Windows and Mac development in-house but hired third parties to do their *Nix work.
It’s not a cataclysmic change … but it’s a sign that we may want to be alert to further developments in this diection.