Software may, under various circumstances and in various countries, be restricted by patent or copyright or both. Most commercial software is sold under some kind of software license.
A patent normally covers the design of something with a function such as a machine or process. Copyright restricts the right to make and distribute copies of something written or recorded, such as a song or a book of recipies. Software has both these aspects – it embodies functional design in the algorithms and data structures it uses and it could also be considered as a recording which can be copied and “performed” (run).
“Look and feel” lawsuits attempt to monopolize well-known command languages; some have succeeded. Copyrights on command languages enforce gratuitous incompatibility, close opportunities for competition, and stifle incremental improvements.
Software patents are even more dangerous; they make every design decision in the development of a program carry a risk of a lawsuit, with draconian pretrial seizure. It is difficult and expensive to find out whether the techniques you consider using are patented; it is impossible to find out whether they will be patented in the future.
The proper use of copyright is to prevent software piracy – unauthorised duplication of software. This is completely different from copying the idea behind the program in the same way that photocopying a book differs from writing another book on the same subject.
Usenet newsgroup: news:misc.legal.computing.
[“The Software Developer’s and Marketer’s Legal Companion”, Gene K. Landy, 1993, AW, 0-201-62276-9].
- Software method
- Software methodology
programming The study of how to navigate through each phase of the software process model (determining data, control, or uses hierarchies, partitioning functions, and allocating requirements) and how to represent phase products (structure charts, stimulus-response threads, and state transition diagrams). (1996-05-29)
- Software metric
programming A measure of software quality which indicates the complexity, understandability, testability, description and intricacy of code. (1994-11-16)
- Software patent
legal A patent intended to prevent others from using some programming technique. There have been several infamous patents for software techniques which most experienced programmers would consider fundamental or trivial, such as the idea of using exclusive-or to plot a cursor on a bitmap display. The spread of software patents could stifle innovation and make […]