In the early days of the World Wide Web, free webhosting was a way for webhosts to post advertisements on websites, without paying the site creator. Geocities, Tripod
First, you need to find a free host. If you want to make sure that you can move your site from one host to another, you need to have the source files saved somewhere. Sites that have webpage creation tools, or use templates are more complicated to manage. Learning HTML and CSS will offer far greater control. After a cursory investigation, I decided to use uhostall.
The free open source editor, Brackets, can be downloaded here. It's written entirely in Java, and it's fully customizable. There are numerous extensions for various features.
Filezilla is a very popular FTP client. It is open source and can be downloaded here.