Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I see what you mean, but I'm not necessarily moved by it. You can choose to describe software as nothing but information. Or you could describe software as it's own entity, which can carry or store information.


Then you're abandoning the argument that "everything is math" and just claiming that software isn't math either. That's a whole different claim.

It's also a lot harder (perhaps provably impossible) to defend. There is provably nothing you can do in software that you can't do, much more slowly, with pencil and paper. The only way software can be anything other than math and calculation is to define it as something other than software, and what does that actually buy you? If we make that which you define as software patentable, but make what is commonly known to everyone else as software unpatentable, is that a satisfactory outcome to you?


I'm not arguing as a means to an end, I would prefer to get rid of software patents. I can't really parse your last question, since we're talking about the same software, but keeping the status quo would be unsatisfactory to me.

I just think it's somewhat arbitrary to say that software is nothing but information. Yes, you can state that, and we could all agree to honor that distinction as such, but I think there's nothing a priori about it.

Sure, you could work out software problems on a chalkboard, but I would say doing so is different than creating a piece of software that does the same thing... in the same way that a story that is told verbally from one person to another (and not stored say, via video) is different than a book.


> I just think it's somewhat arbitrary to say that software is nothing but information.

As opposed to what? It is nothing but information. It has no corporeal existence. Even if you put it on a disk or a piece of paper, encoding information into a medium doesn't make it not information (and shouldn't cause it to become patentable when it wouldn't be otherwise) any more than it would for other information like a song or a photograph or English text.

> Sure, you could work out software problems on a chalkboard, but I would say doing so is different than creating a piece of software that does the same thing... in the same way that a story that is told verbally from one person to another (and not stored say, via video) is different than a book.

OK, so one exists in your mind and the other exists on paper. You can draw that distinction if you like, but what is it supposed to change? You can't patent the verbally passed down story or the book. And I think the attempt really exposes the charade of software patent claims that attempt to avoid unpatentability by claiming the physical encoding: Can you really patent the information in a book just by claiming it as a physical object encoded with that information? It seems ridiculous. But that's apparently how they justify software patents.


What would software that contains no information look like? If you can't separate the two (and I don't believe you can), the "separation" between them is merely rhetorical.


I'm just saying that defining software as information (and therefore nothing but math) seems arbitrary to me. Hell, I'm not even saying I necessarily disagree with it. But I think it's not the only way to look at software, and so not a terribly convincing argument to me as far as SCOTUS is concerned, or the end-goal we all want of significant patent reform (at least in the realm of software).

You could define information as state or data, and software as that which acts upon that state or information. You wouldn't (or at least I wouldn't) describe the data in a cookie as software. That's just a piece of information. The browser that handles it is a piece of software. Same with http packets. That's data. Accepting dynamic bits of data and acting upon them accordingly would then be software. Or a database is software, but the data it contains is information. You could counter-argue that the cookie or the packet are not external to the system... that's it's all part of the same piece of software. And I frankly couldn't refute that, because it's just how we somewhat arbitrarily choose to define and parse our understanding of the system.

In answer to your question, software that contains no information (at least looking at it this way) would be something that runs without ever storing, emitting, or accepting dynamic bits of information.


You seem to be separating the activity of executing a program from the program itself. There's no reason a program cannot be constructed which takes arbitrary data and we feed data to programs to get other programs. So what's "mere data" in one system might bbbe executed by another.

While a recipe card might not constitute a "program" in most contexts, if you construct a cooking robot, the same data is now magically software because the robot could use it to cook. So the line you are attempting to draw between software and data is merely that of the limitations of what the system can process.

And all programs are ultimately processed as data by the instruction loop within the CPU. For example, I can construct the "non data" program of 0x20FE (unconditional branch to its own start on the 86HC11, i.e. 10 GOTO 10). The CPU unconditionally fetches the instruction at the instruction pointer, then executes it. In this case, it increments the instruction pointer by 2 while reading it, then executes and decrements the instruction pointer by 2, endlessly looping over the same data.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: