The basic requirements for writing HTML are two: a web browser (or even better -- several different browsers), and a good text editor. You can get them all for free. Obviously, you will need time and a computer.
Since HTML, and to a certain extent CSS, are platform-independent, any browser will do. We recommend Firefox, because it is free and extensible with a number of web development add-ons, as well as available for Windows, Mac OS, and *nix.
As for a good text editor, some operating systems come with editors that provide line numbering and syntax highlighting. If you do not have one on your system, and feel that Notepad is good only for really basic tasks, give Notepad++ a try.
WYSIWYG vs. Do-It-Yourself
There exist a number of software products that allow you to create web pages without actually writing HTML by hand. For the purposes of the Collaborative HTMLPrimer, we will accept that writing HTML code by hand is superior to any What You See Is What You Get (WYSIWYG) solution. For a list of WYSIWYG editors, see the last chapter, "Other Resources."