The problem, at root, is that the courts are confused about the nature of software. The courts have repeatedly said that mathematical algorithms can’t be patented. But many judges also seem to believe that some software is worthy of patent protection. The problem is that “software” and “mathematical algorithm” are two terms for the same thing. Until the courts understand that, the laws regarding software patents are going to be incoherent.
If you ever find yourself arguing with someone who supports software patents – just link to this article by Timothy B. Lee. An excellent and concise look at where software patents come from, the inability of courts to understand software, and why the Supreme Court of the United States seems so hesitant to reaffirm its own rulings about the intrinsic inability to patent software. Key passage:
One reason the courts might hesitate to do this [put an end to software patents] is that it would be a big blow to the bottom lines of some of the biggest companies in America. Such a ruling would have invalidated thousands of dubious software patents held by trolls, but it also would have invalidated Amazon.com’s infamous 1-click patent, the “data detectors” patent Apple used to sue Samsung, and Google’s patent on its search ranking algorithm. Invalidating software patents would have wiped billions of dollars off the balance sheets of some of America’s largest technology companies. The Supreme Court generally tries to avoid making waves, and those would have been some very big waves.
And there you have it. Large American technology companies want to have their cake and eat too – they supposedly support patent reform, but only reform that weakens the position of small players (which happens to include non-practicing entities) while strengthening their own positions.
Lee ends with the simile that I have used on numerous occasions in the past – one that perfectly sums up the inherent ridiculousness of patenting software:
The mathematical ideas in software, like the literary ideas in novels, are part of society’s common intellectual heritage. Neither should be eligible for patent protection.
Aren’t patents on physical objects just patents on the same atoms rearranged in different ways and aren’t they just as illogical as patents on mathematical algorithms?
Would it be ok if anybody could copy any software with redress?
Why would anybody, or any company, invest any effort in coming up with some innovative new piece of software if anybody could copy it without legal restraint?
Innovation (and I mean not just the mere act of creativity or invention but the actual deployment of creation and invention in the real world) happens because it brings some advantage, ultimately some commercial advantage. A new way to do things, such as searching for stuff on internet, brings advantages, advantages that vanish when everybody else can exactly and shamelessly copy what you doing. Why bother to go to the efforts of invention if it brings no advantage?
As is pointed out in the article destroying the worth of innovation in software would wipe billions from the balance sheets of numerous tech companies. Is that a good thing?
Sure – some software patents are a bit silly (although there is no consensus as to which ones), but the rate of innovation in the tech world remains fearsomely fast, I see no area of technology being actually held back by software patents. At worst they seem just an irritant. Getting rid of all protection for writers and inventors of software would stop the silly patents claims and but also kill a huge area of commercial investment in software innovation. That does not seem a reasonable or sensible remedy to me.
Edited 2014-06-20 20:02 UTC
No. Patents on physical objects are much more akin to software COPYRIGHT. You can have a patented design for a can opener, but that doesn’t stop people making can openers that work differently but do the same basic job.
I do happen to think that software should be freely copyable and redistributable, as long as the source code remains available.
Edited 2014-06-20 20:08 UTC
So it’s wrong to copy a uniquely configured can opener but not wrong to copy a uniquely configured piece of software? I can’t see the logical difference.
I just think it is reasonable that if someone comes up with a new way to do things they should be able to reap some financial reward without people being able to rip off their ideas with no legal restraint. How much and for how long new ways of doing things should be legally protected and what counts as a new way of doing things seems to me to be up for debate on a case by case basis (which more or less is what the legal process involves) but the idea that new ways of doing things should have no legal protection just because those new ways involves rearranging bits of information rather than rearranging atoms seems to me to make no sense. Why should software have no protection? What so special about software that it warrants a special removal of legal protection?
A software patent is akin to a patent on “opening a can” – thereby making it impossible for anyone else to produce any kind of can opener.
Take Apple’s lock screen patent. Not a single lock screen Samsung ever put in its devices even remotely looks or works like Apple’s lock screen. Yet – the patent still covers it, according to Apple and its followers.
And that is exactly the issue with software patents. Unlike what you seem to think, software patents do NOT, I repeat, do NOT cover a specific implementation of an idea. Software patents cover THE IDEA ITSELF, thereby making it impossible for anyone else to implement the idea, even if the implementation is completely and utterly different.
The implementation of an idea in software is its code. That code is protected by copyright. It does not need any kind of additional protection. Books do not need it, movies do not need it – why should software be any different?
And? Why do you care about what “Apple and its followers” think? Only what judges think does matter.
And are you seriously thinking that this not even remotely looks or works like Apple’s slide-to-unlock?
https://www.youtube.com/watch?v=CYacMHBf_Z0
I won’t argue about software patents or even the specific slide-to-unlock patent (because I have no definitive opinion on that subject), but your obsession with Apple makes you choose the worst possible example because slide-to-unlock patent actually cover a specific implementation of an idea (unlocking a phone) and it doesn’t prevent anyone else to implement the idea another way (which is exactly what many OEM do).
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d…
“What is claimed is:
“1. A method of unlocking a hand-held electronic device, the device including a touch-sensitive display, the method comprising: detecting a contact with the touch-sensitive display at a first predefined location corresponding to an unlock image; continuously moving the unlock image on the touch-sensitive display in accordance with movement of the contact while continuous contact with the touch screen is maintained, wherein the unlock image is a graphical, interactive user-interface object with which a user interacts in order to unlock the device; and unlocking the hand-held electronic device if the moving the unlock image on the touch-sensitive display results in movement of the unlock image from the first predefined location to a predefined unlock region on the touch-sensitive display. ”
This is definitely a specific implementation of an idea which is patented here.
Your Apple-centric examples do not make your position stronger, only more biased and thus weaker.
majipoor,
So the reason you object to Thom’s point is because he used an apple example? All major corporations are guilty, but I think apple is noteworthy since it was Jobs who decided to go “Thermonuclear” with patents.
It’s the generic steps, not the specific implementation that’s patentable. You could create another specific implementation of the same idea on a different platform in an different language but despite the fact that’s it’s clearly a new implementation, it would still infringe.
In this case the patent is easy enough to work around, but in principal it’s still very bad to grant monopolies on software steps. Think beyond apple in isolation and consider the aggregate effect when all major corporation start doing the same thing. When we have a scenario where more and more software steps are “owned” by corporations, a software developer looses the freedom to implement them himself. The more patents there are, the exponentially more difficult it becomes to find software steps that are free to use. Not only is all this a complete waste of time, it can even be detrimental when developers are forced to implement subpar code and even remove features all together.
You’re confusing patents and copyright.
It’s currently wrong, under copyright rules, to obtain a piece of code, which is licensed to prevent this, and copy-paste it and then sell it as your own. aka: making an exact look-alike replica of the can opener / Prada handbag knock-offs / etc… that works exactly like the original.
However, if I write, from the ground up, a tool that just sort of acts the same and accomplishes the same goal then I really see no problem with this. It will probably look similar, due to the GUI toolset, and might even act similar, but mine might have bugs / stability / other issues. It might be miles better and more stable.
The problem is that a lot of these patents in the software realm are patenting really basic ideas and concepts.
Personally, software should be free and companies should make their money selling services / support / quality not locking down some vague idea with lawyers and selling a shit product.
Please note, this does NOT mean I think I should be allowed access to all sorts of closed source codebases or anything. However, if I see some cool feature in an app and want to re-code it into mine I should be free to try.
Edited 2014-06-20 22:30 UTC
That is because you don’t understand the difference between physics and mathematics.
I disagree. For instance, the BSD license essentially says
1) Credit us as the source.
2) Use the code for any purpose as you see fit.
3) There is no warranty.
The GPL is about 7 pages long. If a piece of software is really useful, someone will write a free version that does the same thing. It may play catch-up on features, but there is your open source.
Always know the difference between copyright and patents.
If software patents were outlawed tomorrow, that would NOT remove copyright, nor should it. Think of writing, you can’t copy the text of books, magazines, etc. without either obtaining the author’s permission, or else risk copyright infringement. This issue still holds for software.
The difference is, if books were handled like software, I could patent the idea of a love triangle that leads to a murder. That is essentially what they are doing with software patents, and why it is “patently” ridiculous.
Edited 2014-06-20 20:52 UTC
That is an excellent way to phrase that. Hopefully, you haven’t patented that phrasing and will let me reuse that argument
He might not have been able to patent the book, but it was certainly possible to patent the idea since he typed it on a computer and transmitted it over the internet to others; thereby transforming the Internet and all the attached computers with the idea and making them into something they were not before because a few transistors in everyone’s RAM flipped due to his typing…
You can’t copyright the idea. You can copyright the expression. So, I could come up with my own story about a kid who learns he is magic, and follow him through seven years as he hones his skills.
But don’t get me started on copyright. It was originally intended to FORCE works into the public domain, so that the creator didn’t own them indefinitely. It allowed a time period (I think not more than 34 years, including renewal) to profit from your work. If you wanted a continuing income stream, you needed to produce new works.
Copyright has now been turned on its head. When copyrights go life plus 50 years (or whatever ridiculous number Sonny Bono got it up to), that’s like having NO copyright law at all. It really should be no more than 70 years, period. Full stop. It shouldn’t last longer than the lifetime of 95% of the population. Corporate copyright should probably be 35 years.
How does copyright force a creative work in to the public domain? Without copyright, it would automatically be public domain, as there would be no restrictions on copying.
Can’t this reasoning be used to oppose all patents, though?
Good read: http://copyfight.corante.com/archives/2012/07/02/effs_latest_patent…
That’s an excellent point. The patent system was designed for another age, when making “something” was obvious. However, there was a clear exception for biological life and mathematical concepts. Now that we allow drug companies and Monsanto to patent living things, and software companies to patent algorithms, the lines are very fuzzy indeed. If you add in 3D printing, they could get even fuzzier. Perhaps the day of limited monopolies is done. We’ll see!
That is what a copyright is for
Im ignoring the rest of your post because others have more that adequately addressed it. but…
I don’t buy that at all. I mean the article isn’t wrong – the fear of that happening is real. I just don’t think it would actually happen… If all software patents were nullified today, would it:
1. Affect Apple much? Nope. Barely at all actually. Reason being is that Apple licenses almost nothing to other companies, and their track record with using patents to block competition is pretty damn horrible. A world without patents in fact, imo, is a better world for Apple – as they could stop wasting time and energy on unsuccessfully litigation and focus more on what they actually do well – execute on good ideas (something they do extremely well).
2. Affect Microsoft much? Maybe, but Microsoft first and foremost is a software/hardware company, not a patent licensing entity. It would hurt them because they derive a fair amount of revenue from patent licensing, but they also pay quite a bit to others in return… In the end it would probably be a wash.
3. Google? Nope, not even a little bit.
4. Amazon? You really think the invalidation of the 1-click patent would affect them AT ALL? Really, what difference does it make to Amazon? That patent is nothing more than a holstered gun – it is meant to scare others, nothing more.
5. IBM, Intel, etc? Most of their valuable patents are not on software.
Regardless at the higher levels of the industry patent portfolios are about protection, not revenue. If everyone’s software patents where nullified no one would care much because the whole reason they have the patents in the first place is simply to protect themselves in the event of litigation. They are insurance policies. They keep the smaller players out of the big boy pool. Some push back against this form of defacto cartel would be A Good Thing.
What about smaller players. Maybe a few would bite the dust, but most would probably dance for joy. If you are a small software company and the only reason you can stay in business is because your software is patented well enough to keep anyone from competing with you, then you don’t deserve to survive. In a world without software patents flawless execution is what matters, not ideas – the biggest problem with the software industry now is there are way to many ideas being executed poorly…
Seriously, who would really be negatively affected by patents disappearing? It isn’t technology companies that actually make things – they would be fine. The only real victims would be:
NPEs (non-practicing entities) – i.e. trolls
Lawyers
Thats it. There would certainly be a few unfortunate casualties, but for most technology companies, it would be a huge win.
Ending patents doesn’t end copyright, trademark, or the ability to keep trade secrets. All of those things are useful – I don’t want to see any of them go. But software patents? Good riddance – they are a plague on the industry.
galvanash,
I agree with you that it would be for the best, but there would obviously be lots of contracts to “reinterpret”, and I think there would be money at stake in many cases.
http://www.androidauthority.com/percent-smartphones-price-comes-pat…
etc.
I don’t have much sympathy for companies that taxed the industry through patent royalties without really having done anything at all to earn that income. At the very least the USPTO should stop issuing these damned software patents so that eventually they’ll all expire.
Sentencing us to another 20 years of software patents truly sucks, but I don’t think anyone in government is going to have the gall to invalidate currently issued software patents. Does anyone think that’s politically achievable?
“Innovation (and I mean not just the mere act of creativity or invention but the actual deployment of creation and invention in the real world) happens because it brings some advantage, ultimately some commercial advantage.”
Its rather sad that humanity has reached the point where people are only motivated by “commercial advantage”. In fact, in medicine for example most innovation happens in Universities funded by the tax payer. Big pharm then goes to town and patents countless variations – blocking further developments. This is no more desirable than in software. Note also their attempts to patent patterns in human DNA.
Intellectual Property is a roadblock on real innovation. If ideas were shared, the cost of developing new drugs and treatments would drop, to the benefit of all.
Exactly the same considerations hold in most areas.
Very profound but who is the author of that article?
Obviously invalidating software patents would hurt the profitability of a number of companies, but I thought the examples in the quote were poor. Amazon’s One Click probably encourages impulse buying, but I doubt people opt for Amazon over competitors because of One Click. Similarly, Apple claims billions in lost sales because of Samsung’s infringment, but I bet most Samsung customers didn’t even know the allegedly infringing features were on the phone before they bought it.
Google’s patent might be more important, but has Google been using it in lawsuits? I don’t recall ever hearing about that and a cursory search doesn’t turn up any examples.
Software is NOT a mathematical algorithm or a set of calculations. Software is a set of instructions, a method, a procedure, a recipe.
Software can contain algorithms and the instructions will undoubtedly cause the computer to execute calculations, but software is NOT merely mathematics, any more than building a cabinet.
In addition, the worst software patents are not software patents at all, but ideas patents.
Just to nitpick, if you were familiar with assembly-language, for example, you wouldn’t be saying that. Every single instruction manages numbers in one way or another, even the NOP — when you issue a NOP your EIP is incremented by one. There is no instruction that doesn’t cause any register to change.
Let me nitpick too: these days almost nobody writes software in assembly
Doesn’t matter. If it is software, it can be expressed in assembly (which has a 1-to-1 correspondence to machine language, which is arguably nothing but math).
The point is no matter what language you are programming in, ultimately it becomes mathematical in nature when executed. The language you write in serves as an abstraction, usually a complex one, primarily to make performing mathematical operations more akin to communications – something most humans find less difficult and are really good at. That doesn’t mean it is no longer math.
You don’t get to redefine it as something else simply because you have abstracted it to the point that it is no longer recognizable.
Someone may someday write a language that has an method in it called MakeUserSmile() – which does exactly what it says it does (how I don’t know – that isn’t the point). Does that sound mathematical to you? Probably not – yet if that method is being run on what we currently call a computer it absolutely can’t be anything but math – because that is the only thing computers can actually do… Just because all the math is hidden under layers of abstraction doesn’t mean it no longer exists.
Software, no matter how high the level of abstraction becomes, is a set of mathematical operations to be performed and some numbers to perform it on.
So is creating any physical product then, a matter of adding or removing the right amount of atoms, sounds like math too
I’m not saying I am pro-software-patents, just saying that the way things are reduced “to its basics” in these discussions, still rings a little silly to me…
The only basic that it needs to be reduced to is “can someone implement this without having read the patent”? If it can, it means it is obvious to an expert in the field.
BUT the reason to bring it down back to maths is because people use the languages, libraries, hardware they’re stuck with as excuses to say it was difficult to figure out.
Unlike software, matter is common to everyone so figuring out how to do some really amazing shit with real matter is more worthy of being patented.
Which pretty much means that nothing is patentable by that definition. No physical or “virtual” thing will stand that definition, given enough time and minds.
As far as I am aware, that’s not really the requirement.
That, of course, is completely factually wrong. There exists countless examples of non-software/physical things that can’t be implemented without understanding the method behind it.
There’s a reason why the requirement involves AN expert in the field, and NOT enough time and minds. That reason is that the patent is supposed to represent something so inventive it saves on time and minds.
http://en.wikipedia.org/wiki/Inventive_step_and_non-obviousness
And you can’t patent atoms either. Only the arrangement of atoms.
Unlike an arrangement of atoms, software is a written expression of mathematics. Subject to copyright. But not patent, any more than any other written expression.
Basics count. That what everything else is founded on.
You are missing the point. The result of a method for making a physical object is the object… The result of software IS MATH. The problem with software is not that it is created using math – the creation of lots of things involves math. The reason it should not be patentable is because software IS math – math is the result of software. No one should be able to own math. It doesn’t become that thing you see on the screen until hardware does something with it (and I don’t have any problems with hardware patents).
Just because you discover a neat way to make a scrollbar doesn’t entitle you to an exclusive right to use that method – it’s just math. I use the word discover on purpose – you can’t invent a new way to make a scrollbar – if you really did invent a new way to do it it couldn’t work on a computer. In other words if a general purpose computer can already do it, in the end all you did was solve for x, so to speak…
Patent hardware? Fine. I get that. Patenting instruction sets? Its not math, it is an interface to hardware – I get that too. But software? Its just a series of calculations (usually built on top of mountains of other people’s series of calculations) – that just doesn’t make sense to me. Once you get to the level of software, it seems to me that meeting the requirement of being novel and non-obvious becomes impossible – it is almost by definition derivative.
Ill put it another way. The day someone shows me some software that creates a scrollbar without hardware than I will be the first to agree that it should be patentable. But back to reality, if I buy a computer, I should be free to write software that does anything it is capable of doing – I bought that hardware expressly for that purpose. Another party should not be able to take away what I paid for by patenting it and locking me out of using it. Im not talking about copying other people’s work – if they have copyright and I copy it then I am violating their copyright. But short of that, I should be able to do anything I damn well please…
galvanash,
Not sure why this was voted down, but it’s right on.
A fiction authors can write whatever he pleases with his work, expressing any combination of ideas existing in his head regardless of what ideas were expressed by other authors before. This is a good thing since handing out legal monopolies on literary ideas would soon cripple the field with lawyers, fees, and idea entitlement lawsuits. This is exactly the problem that software authors face, we’ve lost the right to freely create our own expressions if they express a patented idea.
Being the geek that I am, I keep thinking of a futuristic scifi scenario where we encounter an alien civilization, and then go to war with them because they refuse to pay us patent royalties. I wonder if that would go over the heads of readers
Irrelevant. Regardless of what language you use in the end it’s still broken down to the same instructions as assembler-language and as such it’s all still just maths.
As a software engineer I just don’t think one can directly compare software to math. Software is an arrangement of instructions. It has nothing to do with the fact that the *CPU* is actually based on math.
By this same software-is-math logic it wouldn’t be possible to patent a machine or a car either, because you can disassemble it into nuts and bolts. It’s just nuts and bolts!
And yes, I’m against patenting trivial and common sense solutions, but in my opinion there’s nothing wrong with patenting a complex algorithm that requires a lot of research to develop. In many countries it’s possible to patent methods (like in chemical industry) anyway and no-one complains about that.
Edited 2014-06-23 16:10 UTC
Bad nitpicking, it doesn’t matter in which language you write it in…it still gets broken down to simplest “machine” language to execute mathematical instructions on registries (appropriately) patented by Intel/ARM etc…
Every compiler does…
but any two different “hello world” programs will generate completely different assembly language sequences
Umm…
“Software is a set of instructions, a method, a procedure, a recipe.
That is all mathematics is… once it is written down.
Really. A computer can do nothing that is not expressed by mathematics. A CPU is explicitly DESIGNED to emulate the processing of the rules of mathematics.
“Software is a set of instructions, a method, a procedure, a recipe.
That is all mathematics is… once it is written down.
What about an API? Is that mathematics? A protocol? A codec?
Imo an API is none of those. It is simply a statement of fact… “I have a method called foo() that takes 1 parameter of type int and returns a result of type int”. That sentence is absolutely equivalent to:
int foo(int x);
Without an implementation, this isn’t software at all. It is just declarations of facts about an implementation. In some languages (such as C) it certainly serves a concrete purpose, but that is nothing more than an implementation detail.
As such, it should not be patentable or copyrightable on its own. Granted, as a larger piece of work the files that contain the API declarations are arguably copyrightable (you can’t just copy them), but the facts that they contain (the names of the methods, their parameters and return types, etc.) are fair game imo.
“Timothy B. Lee”? “Lee ends with the simile”?
The man’s name is Timothy John Berners-Lee. ‘Berners’ is not a middle name.
What are you talking about? That’s the name of the author of this article.
You may want to actually read the article and click on the link to the authors profile.
This is not Tim Berners-Lee, father of the World Wide Web. This is Timothy B. Lee, senior editor of Vox.com and writer for The Washington Post, Forbes and Ars Technica. These two people are not the same.
Here’s a question for you chaps. Is a computer program like:
(a) The telephone
(b) John Steinbeck’s ‘Of Mice and Men’
(c) The formula for Coca-Cola?
The answer is very obviously ‘None of the above’. But when you say that a computer programme is best protected by patent, or copyright, or trade secret law, you are in essence asserting (a), (b), or (c) above. In reality, no existing form of intellectual property works to protect software.
One of the last files I dealt with before I gave up practicing law in the late 1990s was an inventor who’d come up with a brilliant LCD-equipped payphone. The idea was that it would be installed in villages in the third world to provide them with a basic form of internet access (so they could, for example, check the price of pepper, or fish, in the market and get a bit more bargaining power with money-gouging middlemen). The phone was powered by firmware, but it hadn’t been written down in a way copyright would protect. How do you protect inventions of this sort?
The reality is that software is an entirely different class of intellectual endeavour, which needs an entirely different sort of legal protection. Patent, copyright, and trade secrets don’t work at all. If we’re going to stretch copyright to cover this, we’ll leave a lot of holes, which people will stretch other forms of IP to plug. Sadly, this requires a type of out-of-the-box thinking that nobody really wants to engage in.
Either b or c, depending on your preferences as the author, but definitely not a.
Completely disagree.
Why? Copyright seems to work pretty damn well to me, and trade secret can work in the right circumstances (An internet search algorithm for instance, software never exposed to the public at large).
I don’t know, maybe write the firmware in a way that copyright can protect it? If you want protection, why would you do it in a way that doesn’t let you protect it? There is nothing about firmware that precludes it from being copyrightable…
I personally think copyright and trade secrets are exactly enough – it simply doesn’t deserve protection beyond that, because software has to run on something and that something is usually not something you have exclusive rights to. If you do (i.e. you have the hardware patents) then fine – that is a different story. Otherwise you don’t get to block me from using my hardware in a certain way just because you discovered a particular method of doing something on it. If I independently discover the same method why should you get to tell me I can’t do it? I bought a computer because it is a general purpose machine, I should be able to use it for any purpose I want to.
The reason copyright doesn’t work is that a computer program isn’t an expression of a creative, artistic impulse. When you protect ‘Of Mice and Men’, or for that matter an article on OS News, you’re protecting the artistic expression of an idea – the thing being protected is, in essence, an attempt to communicate something to the world, or a subset thereof. All ‘traditional’ subjects of copyright shared this in common. Software doesn’t.
A computer program is essentially a product. From the start of modern IP, the things which were protected in relation to a product were its function and features. Those who view computer software as a product are, similarly, seeking to protect its function and features. In the real world, if copyright doesn’t give them the protection they want, people don’t simply accept the lack of protection. Instead, they stretch something else within the law. In this case, that happens to be patents. And because only the very biggest and richest companies have the resources to afford lawyers able to do the stretching, this more or less guarantees that the law will only reflect their interests, and not the interests of society at large.
All this was so easily avoidable. If people had been a bit more pragmatic back in the 1980s, we could have come up with an excellent sui generis software property right, as we did for plant varieties and semiconductor designs. Instead, thanks to the copyright-only purists, we are now stuck in the worst of all possible worlds, in which software patents are growing and will continue to grow, and make a mess of the entire system.
oskeladden,
Well, you refer to “artistic expression of an idea”, however copyright protects all expressions of an idea whether it’s artistic or not. And in any case art is in the eye of the beholder!
As a developer, I view code as an expression of my creativity just as much as a novel is an expression of creativity for an author of literature. Software patents limit my ability to be creative without the risk of lawsuits.
Copyrights give us all the rights we deserve without overstepping the rights of others to build their own implementations through their own efforts. Can you explain more about what you are suggesting that you would change?
Edited 2014-06-23 18:41 UTC
Did you maybe practice IP law in another country? You profile doesn’t say where you are from… In the US, software is explicitly included as a type of work covered by copyright.
http://www.copyright.gov/help/faq/faq-protect.html
Even ignoring that, your premise is just flat out wrong. If designing a logo is artistic expression, or a building or bridge, then so is software. It arguably may not be as “pure” a form of artistic expression as poetry or literature, but it is creative expression non-the-less.
That is absolutely false. You are protecting a particular composition, i.e. your individual mode of expression – the idea being expressed is absolutely irrelevant in copyright law. Are you sure you are a lawyer?
Speak for yourself. I have no interest in protecting the function and features of software I write. It is the product of my work, a particular composition of a solution to a problem. I may want remuneration if someone else uses it, whether as is or as the basis for their own work, but if someone else wants to create their own software that performs a similar function without the benefit of my work, that is their mountain to climb. Why should I care?
This one I will sort of agree with you on. In fact, an almost exact interpretation of the SCPA applied to software would be ideal imo.
http://en.wikipedia.org/wiki/Semiconductor_Chip_Protection_Act_of_1…
That said, I don’t think you would like the result if that were the case. Specifically, the SCPA:
1. Dos not protect functional aspects of chip designs. As such in practice it would offer almost no further protection than copyright already does when applied to software.
2. Does not protect against reverse engineering. This would be great imo, because it would explicitly codify in law something most software engineers already think should be the law. Namely that creating software that does the exact same thing as someone else’s without the benefit of ever seeing their implementation is a perfectly legal endeavor.
That same legal rationale that was used to justify these particular exceptions in the SCPA also exist in software, for exactly the same reasons…
Computer programs are not math. They cause the CPU to perform math, but they are not math in themselves.
Baseball is not math. It causes the players’ brains to perform math but it itself is not math.
The end result of a program might be math, but usually it is light, sound, or electrical current. Not math.
3rdalbum,
So you want to add a distinction between expression and execution, presumably with the intention of concluding that computer programs should therefor be patentable because only the execution part is math?
I’ll give you credit for shifting the semantics this way, however going by that same logic then mathematical logic & expressions written on paper are not math either. After all they can cause the reader to perform math, but they are not math in themselves.
Using this distinction would logically result in mathematical expressions written on paper to also be patentable, and I’m quite certain the supreme court didn’t mean for expressions of math to be patentable like this. If anything the criteria for patent-ability of a software idea has been in the exact opposite direction. Consider:
http://patentfile.org/is-software-patentable/
So in other words, it’s the execution part which the USPTO considers patentable, not the expression. This is a pure technicality though since any software claims need only be framed in the context of a physical machine to become patentable under USPTO practices.
Anyways, the take away from all this is if what the CPU does is math, by your own admission, and math is not supposed to be patentable, then none of today’s software patents expressed in terms of a machine executing math should have been granted. Agreed?
Edited 2014-06-22 04:02 UTC
mov eax, 1
mov ebx, 1
add eax, ebx
That says:
“Put the value 1 in the eax register. Put the value 1 in the ebx register. Then add eax and ebx and put the result in eax. eax now contains the value 2.”
or if you prefer:
“1 + 1 = 2”
I did that all by myself without any CPU being involved. Why? Because it is just math. You can do exactly the same thing with any software of any level of complexity – of course it gets progressively more difficult
The end result of a program is ALWAYS math…
Things that create light, sound, or move electrical current in the computing world are called hardware, which enjoys extensive patent protection that I have no interest is changing. Software itself does not result in any of these things, the only thing it ever results in is data, operands, and occasionally more instructions.
Sure, when you run software on some machine it may do all sorts of delightful things, but it doesn’t matter – what the software actually does is computations, and you can do those computations manually without the hardware being involved at all.
How then can you say it is not math?
That’s like saying that the formula 1+1 isn’t maths since it doesn’t compute itself, it’s your brain or calculator or whatnot doing the computation. That’s obviously a stupid claim, 1+1 is still maths regardless of what you use to compute it or even if you don’t compute it at all. It really is the same thing with computer software: it’s a formula meant for modifying numbers.
So, do tell, do you still claim that 1+1 isn’t maths, that it only becomes maths when something computes it? Do you *really* claim that all of academia has been wrong about what maths is for the last several thousand years?
Those are functions of the hardware reacting to maths. The program-code doesn’t generate any of those by itself.
When I write software I’m not trying to generate math, but get certain things done. It’s totally irrelevant how things are implemented in the CPU!
Consider this over simplified code:
if (something) {
toggleLights();
}
You say that this is just math. Ok. But what if I implement the exactly same behaviour by using discrete components and a circuit board? Is it now patentable? Why? Or is it “just components” ?
Edited 2014-06-24 08:22 UTC
juzzlin,
You may not be trying to generate math, but that’s still what it is. I think a source of confusion for many is an overly narrow view of mathematics. When you consider how broad mathematics actually is, it’s much easier to see the overlap with software concepts.
https://en.wikipedia.org/wiki/Set_theory
https://en.wikipedia.org/wiki/Discrete_math
https://en.wikipedia.org/wiki/Logicism
https://en.wikipedia.org/wiki/Model_theory
https://en.wikipedia.org/wiki/Recursion_theory
https://en.wikipedia.org/wiki/Proof_theory
https://en.wikipedia.org/wiki/Constructive_mathematics
https://en.wikipedia.org/wiki/Category_theory
https://en.wikipedia.org/wiki/Ring_theory
https://en.wikipedia.org/wiki/Group_theory
https://en.wikipedia.org/wiki/Categorical_logic
etc.
We’re not simply smuggling software concepts under the math umbrella after the fact to justify the ends – that software should not be patentable. Mathematicians were working on high level abstractions before software even existed. Software is applied mathematics.
IMHO reducing a software algorithm to discrete components, without some other “invention” may not meet the criteria for non-obviousness and novelty. But it would be up to a patent examiner on a case by case basis.
galvanash’s post is insightful here:
http://www.osnews.com/comments/27793
Software patents are ridiculous and do not make sense.
What makes even less sense is the ridiculous leaps of logic (illogic, really) some people here use to justify their assertion that software is simply math, and nothing more.
I especially liked the guy who wrote an algorithm and performed it “mentally” and claimed that this proves all software is just math. Well, of course a simple math problem expressed as a computer program would be maths. Nobody disputes that. However it is amusing to say that you run the program mentally, given that it stores data in registers and, if the human brain has registers, we don’t know how to actually access them.
By the logic of “all software is only mathematics” you could say that everything is maths and nothing is patentable. The end result would be good – no patents is a good thing IMHO – but the thought process is wrong.
I did not say a simple software is math. i said ALL software is math. Anything at all. Everything. Can I possibly be any clearer??? The level of complexity is irrelevant. For the purposes of posting on a forum like this the example need be pretty simple, but I could absolutely do the same thing with for example a compression algorithm or an entire operating system.
I certainly would not want to – hell doing that for an entire OS (or anything of serious complexity) would probably take a lifetime. But it absolutely can be done, because in the end it is just numbers in and numbers out. That’s it. On the other hand, I cannot turn a table into math. Or a mouse trap. Or a CPU. There is more to those things than numbers (even though they may involve numeric computation in their production).
??? What is so special about a register. It is named storage location. When I say “Do you know John?” and you think of some guy you know named John, well you just accessed the equivalent of a register. John = Some guy you know. Really the only thing special about registers in a computer is that they generally can only hold numbers, and only numbers of a certain size. If you understand the semantics of how a particular register works on a particular architecture, you can model it mentally. Its just semantics… Its still math.
You can even go all the way down to machine code and just interpret the data directly. A stream of 0s and 1s can be interpreted by a human – all it requires is an understanding of the encoding used by the target machine.
A table is not math. A softball is not math. A nuclear missile is not math. Methods to create those things may involve math, but they require physical materials, non-computational methods are required in their production, and they produce physical results. Software is an abstract concept that produces abstract results. It requires a machine to actually do something with it. Patent the machine, I have no problem with that.
I know this is becoming pendantic at this point – but I don’t know what else to say. I keep responding to posts with essentially the same arguments, because no one is posting a counter argument that amounts to anything more than “but software isn’t math”.
Tell me WHY it isn’t math and I’ll either post a counter argument or tell you that your right…
If the assert it often enough, it magically becomes true. It’s simple* maths.
* Simple, as in retarded.
What a stupid strawman.
The idea that all software is math comes from Turing machines, lambda calculus and the Church-Turing thesis of computability.
There is no Church Turing equivalent for everything, so no, not everything is maths.
Registers are nothing more than memory-locations that store bits, it’s irrelevant if the memory-locations themselves reside in RAM or within the CPU-die itself. It’s no different from you storing something in your own memory and later on picking your brains to remember that same thing. What did you think registers were, then?
As for the other point, do show me a piece of application-code or individual instructions that aren’t maths, then? All software, no matter how complex and difficult it may seem on the surface, is eventually broken down into nothing more than the same instructions assembly-language uses; the level of sophistication of the language you use does not change what sort of code the CPU actually computes.
The only instructions that I can think of all of a sudden that may fall on the line of “is it maths or not?” would be conditional logic; “if this comparison is/isn’t true do this maths,” like e.g. conditional jumps and conditional moves — I do not know if such logic falls completely under the lines of maths or not. Evaluating a formula whether it’s true or not is, certainly, maths and moves and jumps are actually maths, too — jumps assign new values to EIP, moves just fiddle values around and so on, but the logic part of “if/then” is what I’m unsure of. Alas, even if it wasn’t anymore stricly under the guidelines for maths it would still not be enough to call anything you do with them inventive or non-obvious, or enough to be the basis for a patent.
“maybe” not having a patent on something as stupid as one-click could wipe some money off the accounts of Amazon, but 1) sadly for them, they should not be given the right to block the use of a very simple idea just for their profit and 2) that hypothetical money would go into the coffers of somebody else, who might also have the right to set up a business and make money.
It is very sad that they have the nerve to state unequivocally that they like the status quo because they want the money to go into the pockets of the big players.
Edited 2014-06-23 07:30 UTC
The arguments in this thread boggle the mind.
Has anyone ever heard of the “Church-Turing Thesis” (paraphrasing: Lambda Calculus is equivalent to the Turing machine)?
It is very arguable that computers are bounded Turing machines, and lambda calculus are mathematical expressions.
Furthermore, any program that can be calculated by a Turing machine can be written in lambda calculus.
So, if turing machines and lambda calculus are equivalent; and computers are turing machines; and lambda calculus are mathematical expressions; would that mean that a computer running a program and a closed mathematical expression describing said program are equivalent?
going back to the whole deCSS fun, deCSS a program for decrypting DVDs, was encoded as a prime number, supposedly making it the first illegal prime number.
computer science (and programming) are inherently mathematical, and trying to differentiate between maths and non-maths is completely moot and mostly arbitrary in my mind.
Donald Knuth, behind a large number of algorithms most programmers use, has argued famously against software patents and makes these points very eloquently:
http://progfree.org/Patents/knuth-to-pto.txt
I remember reading a Washington Post editorial that argued that the software world would come to a halt if Knuth were to patent his algorithms and seek royalties