ESP Wiki is looking for moderators and active contributors!

Talk:Why software is different

Known and unknown components

There's been an idea rattling in the back of my mind that software is different because the computer (instructions and storage) are known before the invention exists. Any combination of these instructions and data sets would be obvious to a person skilled in the art, say, a computer programmer, when faced with the problem to be solved by the alleged computer-related invention. Therefore any computer program isn't unpatentable by virtue of exclusion, but by virtue of lacking an inventive step.

Why this is different to physics, biology, engineering or chemistry will depend on the field. Engineers need to build mechanical parts, as do physicists. Chemists rely on reaction probabilities and have a huge degree of uncertainty as to whether the reagents do what they say, as also is the case with biological inventions. There's the Heisenberg Limit to these kinds of invention which simply does not exist when a set of known instructions manipulate a set of known data. That's how software is different.

hmm. I'm not sure. Wouldn't that be like saying that because we know all the words in advance, we can't find novels or manuals interesting/innovative? Ciaran 06:45, 5 May 2009 (EDT)
It seems this example is now covered in "Software is unlike applied science". I think this is a much stronger point than most others on the page. In fact, a person hitting the point in mathematics near the very top with how it is written now and who has heard the counterargument that an "application of mathematics" is fine may skip the rest of the page thinking these are just tired old arguments and never get down to the bottom to see "Software is unlike applied science", which is a point that actually captures what is important about software being mathematics or really like any other intellectual pursuit untied to the physical processes. We note that software is written for an "abstract machine" that is implementable with real circuits only because of the wide bounds possible in physical tolerances thanks to the approach called digitalization -- without digitalization (ie, we can "write" it), software would not be so purely mental void of physical constraints. In this very important way software is in step with fiction writing rather than with the practice of science. It hints to why writing software is so low cost (low risk) and hence why so many can participate, leading to significant degrees of abridgment in society and stifling of progress is we introduce broad monopolies. Jose X 02:41, 24 October 2010 (EDT)
I went ahead and changed the Mathematical nature section (adding a link to a key facet of it), trying to cut off rebuttals: (a) that software is an application of mathematics, that it is more than just formulas and (b) that software running on a machine achieves a physical effect, which is more than software as math on paper. More work might be needed to address (b). Feedback welcomed, but I think the prior explanation http://en.swpat.org/wiki?title=Why_software_is_different&oldid=19904 was not convincing (at least not to me and I have heard the above rebuttals frequently whenever software is math is mentioned). [I am aware that using the "formula" linkage might have had success in the past, but there is too persuasive of an argument to undo any such precedent if we don't convey the real nature of software. -- again, feedback wanted by anyone that prefers the old text.]
I augmented the Abstraction section to help bolster the Mathematical nature one as well. Jose X 18:44, 24 October 2010 (EDT)

Might the contents of this paragraph from the Prior art section be useful elsewhere?

"This sizable imperfection being an inherent and unavoidable part of the system means that, without a very inexpensive method to legally refute a legal claim of infringement and/or without serious penalties to those that make claims that don't hold up later on in court, the patent system will continue to be (ab)used readily as a tool to shake down individuals and SMEs and to stifle competition." Jose X 18:44, 24 October 2010 (EDT)

We argue that the imperfection is sizeable - our opponents don't agree. They say it's manageable and that it's small relative to the benefit of the system. We can't write with the assumption that the reader sees patents as bad. That's the opposite of the purpose of this wiki. Ciaran 19:10, 24 October 2010 (EDT)
I used as evidence "Case #2: There are just too many" from the link attached to "sizable"; however, the original intention of that wording (before I started adding links) was to refer to the very large amount of prior art not seen (or analyzable by any human). Pick how you want to address the issue, but I did want to tie in as many links as possible while on the subject and maybe that one is not useful.
We can also take the more explicit step of further saying at the beginning of the paragraph that the failure to view, analyze, or even know about so much prior art adds significant doubt about whether such a system is practical for software. With possibly so much doubt raised... (then continue from here with the paragraph conclusion, perhaps modified some). Jose X 19:33, 24 October 2010 (EDT)
Let me add that in terms of size, we can invoke the huge amount of text that exists as open source as a lower limit. I think that compares favorably to the existing text in all software patents.
In terms of overall problem, that is why we have the links to the problems and costs faces by SMEs and individuals. The two options I mentioned aren't the only two. We can clarify that those are suggestions. In any case, I was worried as is that I was getting into arguments against sw pats rather than just talk about the nature of software (in keeping with the page topic).. that is why I considered moving (or cloning) the paragraph discussion elsewhere. Jose X 19:38, 24 October 2010 (EDT)
(My responses are a bit hurried because I'm working on something else)
Moving is better than cloning. All text added to the wiki has to be maintained. If we have the same thing twice, then that doubles the maintenance work and brings the risk that errors will be fixed in one place but not the other. Ciaran 19:42, 24 October 2010 (EDT)

This page has serious quality problems

There is so much text and so much stuff of dubious relevance, I couldn't find where I should add my new idea.

I couldn't see if there is already a section that discusses that idea. The headings are unclear, the content of the sections is vague, there's stuff that's ontopic for the wiki but should be on another page...

I'll have to come back and do a top-down review of this to merge the duplicate stuff and remove the stuff that should be (and already is, I think) on other parts of this wiki. Ciaran 10:16, 25 November 2010 (EST)

I rewrote the "Abstraction" section (with the "rewrite" box) as 3 sections without any "rewrite" comment.
The discussion left under "Abstraction" is unclear to me. Are there examples that can help clarify this? How does it differ from say copyright infringement or patent infringement of a car?
"Complexity abstraction" covers a form of abstracting that is a part of the patent process and is very troublesome for software.
"Intangible" places software in the category of many things that have not been ordinarily accepted as patentable. I listed properties that help highlight how these differ from the tangibles. Jose X 02:15, 4 December 2010 (EST)

Edit problem

Looking at the diff and history, it appears my edit removed a bunch of things on this page. I had no intention to do that if in fact it was me. This comment should be removed and the top portion that was removed during my prior edit should be added back.. I will do this if there is no objection [I'm also thinking that maybe diffs were combined or something.. honestly I have no idea what happened.]Jose X 18:28, 4 December 2010 (EST)

I've fixed this. When this sort of thing happens, you can go to the "history" tab, click on the last good version from before the problem, and then edit that page. There'll be a warning above the edit box saying the page is out-of-date. Don't edit the text in any way, just hit "save page". That will save the old version (from before the problem) in place of the actual version. Then you can look at the history tab again and check the diffs to see what comments have to be re-added. Ciaran 15:50, 5 December 2010 (EST)