Software is an expression of something (an algorithm, layout, etc.). So yes, you can copyright it. What you can't copyright is the underlying principles; e.g., the implementation of Google's search engine is protected by copyright, but the notion of a search engine or page rank is not. If someone wants IP restrictions for that, they need a patent, which has its own set of constraints on what is and is not allowed.
Edit to add: this is also why implementations of software from reverse engineering, like ReactOS, are perfectly legal, so long as they don't copy the actual implementation.
Does this mean most software is uncopyrightable?