About This Blog
Automating Invention is Robert Plotkin's blog on the impact of computer-automated inventing on the law (primarily patent law). The blog also explores the implications of computer-automated inventing for creativity, ethics, and high-tech industry.
Categories
Links
Blogs
- 271 Patent Blog
- BLOG@IP::JUR
- Boalt IP Blawg
- Epistasis Blog
- Evolutionary Computation
- Genetic Argonaut
- IlliGAL Blog
- Invent Blog
- The Long Tail
- IP Newsflash
- The Open Road
- Patent Pending
- Peer to Patent
- The Singularity Institute
- Promote the Progress Blawg
Technology & Policy
- Berkman Center for Internet and Society
- Computer Professionals for Social Responsibility
- Electronic Frontier Foundation
- MIT STS Program
- Samuelson Law, Technology, and Public Policy Clinic
- Stanford Law School Center for Internet and Society
- U.S. Public Policy Committee of the Association for Computing Machinery
Resources (Law)
- Bitlaw
- European Patent Office
- Software Patent Institute
- Software Patents vs. Parliamentary Democracy
- United States Patent and Trademark Office
- World Intellectual Property Organization
Resources (Technology)
- Genetic-Programming.org (John Koza)
- Introduction to Genetic Algorithms
- Genetic Algorithms Archive
- Genetic Algorithms and Artificial Life Resources
- Genetic Programming FAQ
- Genetic Programming Bibliography
- Generative Programming
- HDL Page
- NASA Evolvable Systems Group
- Evolvable Hardware (Los Alamos National Laboratory)
- Evolvable Hardware (University of Oslo)
Commercial Applications
- Affinnova, Inc.
- Icosystem Corporation
- Imagination Engines, Inc.
- Matrix Advanced Solutions Ltd.
- Natural Selection, Inc.
- NuTech Solutions
- Quantum Leap Innovations
- Red Cedar Technology
- TenFold Corporation
People
- Sion Balass
- Peter J. Bentley
- Hans-Georg Beyer
- Eric Bonabeau
- Ralph Clifford
- David Davis
- David Fogel
- James Foster
- David Goldberg
- Erik Goodman
- J. Storrs Hall
- Andrew Hodges’ Alan Turing Site
- John Holland
- Gregory Hornby
- Lorenz Huelsbergen
- John Koza
- Ray Kurzweil
- Hod Lipson
- Jason Lohn
- Julian Miller
- James Moor
- Daniel H. Pink
- Jordan Pollack
- Joe Rothermich
- Karl Sims
- Daniel H. Pink
- Lee Spector
- Stephen Thaler
- Adrian Thompson
- Marcel Thuerk
- Christof Teuscher
- Andy Tyrell
- Tina Yu
Philosophy
Search
Recent Entries
- Outsourcing Manufacturing Isn't Just for Large Companies Anymore
- My Book on Invention Automation to be Published by Stanford in Spring 2009
- Gamers Solve Problems in Science and Computing
- Software Improvises Musical Accompaniments
- Computer Simulation Uncovers Evidence of Biological Evolution
- Has Microsoft Really Patented Page Up and Page Down?
- Breaking the Software Development Speed Limit with Agile Programming
- Complexity: Computers Come to the Rescue
- Calculator Dates Back Two Millenia
- Does Google Make Us Dumber or Smarter?
- Relaunch of Automating Invention!
- World Day Against Software Patents
Archives
« Symposium on the Future of Intellectual Property Rights in Software (Part 2) | Main | Would the real invention please step forward? »
October 31, 2005
Defining "software"
I often find people defining computer hardware as the "physical" part of a computer and software as either the "intangible" part of the computer or as "instructions" stored in the hardware. Although there's nothing wrong with these definitions per se, they leave out something important and might actually impede our ability to understand the importance of computer programs in the future.
I think it is worthwhile to think of hardware as the fixed part of a computer and software as the variable part. I like to use the following analogy: hardware is to software as a drill is to a drill bit. A drill is a drill; it doesn't change. To make the drill perform different functions, you attach different bits to it. The drill is fixed and the bits are variable, just like hardware and software, respectively. When you buy a computer, you buy the fixed hardware, which you can make perform different functions by attaching (installing) different software to it.
What I find useful about this analogy is that it makes clear that we are not talking here about the physical form taken by the drill and its bits -- both are quite physical. And the same is true in the case of hardware and software -- both are physical if what we are talking about are components of a physical computer. The web browser that you are using to read this blog is physical; it consists of electrical signals in your computer. Even if you take issue with the physicality of electrical signals, tomorrow's molecular computers will convince you that software is a physical thing.
Therefore, if the law is to treat software differently than hardware or anything else, the difference must stem from something other than the fact that software is not "physical." I've tried elsewhere in this blog to explore what else makes software different, and the implications of those differences for the law.
Posted by Robert at October 31, 2005 4:24 PM
category:
Philosophy of Computing
Comments
Post a comment
Thanks for signing in, . Now you can comment. (sign out)
(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

