free software : Java Glossary
- free software
There are several types of free software.
- Truly free software. Somebody wrote a program and realised
there was no market for it, but that it could be useful to others, especially if
source were provided.
- Shareware. Somebody wrote a program and did not have the
funds/energy/chutzpah to promote it as a commercial product. Typically he writes a
slightly annoying version of the program for public distribution and you get the
version with the annoyance removed if you register. This means he typically does
not distribute source.
- Get them hooked software. The program is actually a lite
version. You will pay for it over and over for upgrades until you get something
that actually works. Most OCR (Optical Character Recognition) software, with the
exception of TextBridge fits in this
- Software bundled with hardware. When you buy a piece of
hardware it comes bundled with a ton of useless software that adds to the perceived
value of the product without actually doing so. Before the anti-trust people
stopped them, IBM (International Business Machines) used to bundle all its available software with their
- Software bundled with OS (Operating System)
es. For example Microsoft bundles the cost of Internet Explorer in with
Windows. This forced the competition, Netscape to drop its price to zero, in a
strong attempt to eliminate the competition. Perhaps the anti-trust people will see
the parallel between hardware and OS
vendors to unbundle applications.
Why do people write free software?
- Personally, I write it because I do not need the money. I can write whatever interests me, whatever I think the universe needs. I hope that by making it
free, it will see widest use. I hope people in the third world will learn programming by looking at the code for various simple apps.
- To help sell something else. You get to know me and my free program and hence look to me for pay products.
- For education. If I am just starting out, I can gain work experience working on an Open Source team.
- To sell consulting services. I give away the program, but sell my time to help people use it or to customise it.
- To become famous within a narrow universe. You let others see your code and be amazed.