decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Software is a subset of Maths | 484 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Software is a subset of Maths
Authored by: PolR on Sunday, September 02 2012 @ 12:15 PM EDT
The wish to prove software == maths is, I assume, so as to say therefore software is abstract and thus cannot be patented.

While abstract definitions of algorithm and maths can be found that support that idea, these definitions are far removed from what most real life software engineers actually do.

As far as I know, the activity of a software engineer is not what is patented. The patent covers that activity of the computer, ie its work processing bits. "Software is math" is just a slogan. It is not a statement that the work of a computer programmer is the work of a mathematician. Such a statement would be both false and irrelevant to the subject matter of the patent. The real statement that the work of a computer running software is a mathematical computation pursuant to an algorithm in the sense of computation theory. This statement is the one that relates to what is patented in software and it also happens to be scientifically correct.

So the wish is not to say software == math in a broad unconditional manner. The slogan "software is math" is a very short phrase capturing the notion that execution is the aspect of software which is patented and execution is always algorithms.

[ Reply to This | Parent | # ]

Software is a subset of Maths
Authored by: bprice on Sunday, September 02 2012 @ 09:11 PM EDT
Designing a CPU is a task for a hardware engineer, not a programmer. Now a programmer may also have skills as a hardware engineer (and many other skills besides) but when a person designs a CPU, they are exercising their hardware skills.
A CPU likely contains software and whoever writes that software is clearly a programmer, but programming skills alone will be insufficient to design a CPU.
tl;dr: the only separability between programming skills and hardware skills is not real but artificial and illusory.


My experience differs from your ideas. I found, from experience, that there is no useful place to draw a line between programming and CPU design. Those skills that are not common up and down the lines cross any boundary that can be proposed: skill A may be most useful at some levels, and skill B at others, but the overlaps are such that no efficient boundary can be drawn. All along the spectrum, we have elements such as
  • algorithms (composition), whether time-multiplexed (programming, including CISC firmware), spatially separated (e. g., processing pipelines), both, or otherwise;
  • data and functional structures;
  • tradeoffs among various approaches, whether at the same level of discourse (e, g. multiplication by Wallace or Dadda tree vs binary/two-bit/4-bit iteration) or across multiple levels (self-identifying peripherals à la plug and play vs external info sources for peripheral type);
  • partitioning into buildable units (including, of course, the interfacery that allows the partitioning to work);
  • expression in processable form, in a programming language, HDL, or some non-textual form;
  • compatibility with other levels of discourse (aka syntactic and semantic correctness).

    Individual people have their individual tastes and preferences; organizations draw boundaries between budgetary units, and separate their people that way. The people are drawn to the organizational units that fit their tastes and abilities. Each organizational (budgetary) unit wants a piece of the action, and insists that their specialization gets at least their "fair share" of the project budget.

    Some people thrive in such highly structured budgetary regimes. I never did, and I was lucky enough to have the less restrictive environments that were so natural to me. We solved hardware problems with software, and software problems with hardware, whenever "cross-disciplinary" solutions seemed appropriate.

    ---
    --Bill. NAL: question the answers, especially mine.

    [ Reply to This | Parent | # ]

  • Groklaw © Copyright 2003-2013 Pamela Jones.
    All trademarks and copyrights on this page are owned by their respective owners.
    Comments are owned by the individual posters.

    PJ's articles are licensed under a Creative Commons License. ( Details )