4 ms·
Or software could be a process, which is eligible.
by alaaibrahim 13y ago
Or software could be a process, which is eligible.
- nitrogen 13y agoAIUI (as a layman), a "process" should refer to a physical process for transforming a physical product. Thus, an algorithm is not a process. I've read arguments that software is a "process" because it changes the physical state of transistors and magnetic particles within a physical computer, but I don't find that argument even slightly convincing.
- hackinthebochs 13y agoBut software does change a physical product, irrespective of transistor states. If I create an algorithm that allows a robot to balance on two legs, that algorithm is directly affecting the real world. This is no different than if I constructed a difference engine that through purely mechanical means had the same result. The math is the algorithms effect on purely mathematical objects. The patent is the algorithm plus a mapping between the mathematical objects and real-world entities. This is how it should be. The problem we currently get wrong is the "non-obvious" term.
- nitrogen 13y agoSoftware is different because it is a direct representation of the math, while the mechanical computer would have considerable amounts of engineering involved to create mechanical analogs for the desired computations. In software, an implementation of an algorithm, a description of an algorithm, and the algorithm itself can all be the same thing.
- hackinthebochs 13y agoBut software also has an interface to the physical units in question, which ultimately makes it useful in the real world. Mathematical truths are not useful in the real world until there is an application of a truth to a particular scenario. It is this "application + scenario" that is patented, not the mathematical truth. People are way too stuck on the "software is math" bit, it is not nearly as meaningful as people think. In fact, I think it is decidedly lacking in any meaning as everything in the universe can be abstracted to "math".
- nitrogen 13y agoIn fact, I think it is decidedly lacking in any meaning as everything in the universe can be abstracted to "math". I think some would use that as justification to abolish all patents. I would love for that to happen, but pragmatically accept that such an outcome is unlikely, and in a world partially populated by devious thieves, trolls, and free-riders, potentially undesirable. I still think software is meaningfully different from any other embodiment of an algorithm, due to its self-descriptive nature. Most of the time when I write software, I feel much more that I am "creating" (copyright) rather than "inventing" (patent). I can just "tell" the computer to do something, and it does it. That doesn't work for wheels and gears. Inasmuch as there are better arguments against software patents, let's raise them as well, but I see no reason to abandon the mathematical argument entirely.
- hackinthebochs 13y ago> Most of the time when I write software, I feel much more that I am "creating" (copyright) rather than "inventing" (patent). I can just "tell" the computer to do something, and it does it. That doesn't work for wheels and gears. I think this is true for the vast majority of software, and likely for the vast majority of software people try to patent. I think you raise an interesting point regarding "telling a computer what to do" vs "inventing", and this seems like it would be a good distinction between non-patentable software and that which is patentable. There is a subset of processes that essentially involve "telling a computer what to do", and then refining those instructions until the point where the computer knows how to execute each step. Obviously, this is just a description of writing software. But this process doesn't work for all problems. There is no telling a computer to "write a symphony"--there are no standard/obvious set of refinements to that statement that will result in a working program to write a symphony. To accomplish this would require "inventing" a new algorithm (lets not go "ergo math" just yet). One would have to create a non-obvious process to govern the interactions between input sounds to create the output symphony. I don't think anyone would have a problem with saying someone "invented" a symphony writing computer program. On the other hand, the process of "one click ordering" has an obvious set of refinements from problem statement to execution such that you cannot reasonably be said to be inventing one click ordering. Of course, these are probably the two most obvious examples on either side of the debate, but I think it illustrates the fact that these decisions can be made rationally and fairly with some common sense guidelines.
- Natsu 13y agoThe only process performed by my CPU is the instruction loop wherein it grabs the next instruction on the list and executes it. Every other process is emulated via that single process.