About This Blog
Automating Invention is Robert Plotkin's blog on the impact of computer-automated inventing on the future of invention and patent law.
Categories
Links
Blogs
- 271 Patent Blog
- BLOG@IP::JUR
- Boalt IP Blawg
- Epistasis Blog
- Evolutionary Computation
- Genetic Argonaut
- IlliGAL Blog
- Invent Blog
- IP Watchdog
- The Long Tail
- IP Newsflash
- The Open Road
- Patent Pending
- Patently-O
- 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
- Videos of Talk on Invention Automation Available
- Twitter on the Brain
- The Pursuit of Thinking Machines
- Easing the Patent Processing Bottleneck
- Automating the Work of Scientists
- Simulating Auto Assembly
- Robert Plotkin Interview in MIT Technology Review
- Nerd Culture Lives On
- Web Cubed: Everything will be Connected
- Combating Common Diseases with Large-Scale Sequencing Technology
- Leaders of the Digital Revolution Discuss the Future of Technology
- Meet Adam, the Robotic Junior Lab Assistant
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.)

