There are a number of possible locations from where you may be able to obtain the source code for the application of your choice.
- The applications homepage
If the application has a homepage, this is probably the place where you will get the most up-to-date releases, as well as information that may be useful for compiling.
- Public FTP servers
There are several public FTP servers that provide source code repositories for open source applications. The oldest and probably most well-known one of these is Metalab, also known as TSFKAS (The Site Formerly Known As Sunsite). There are many mirrors around the globe.
- Linux Distributors
Most Linux distributors have their own FTP servers, where you can download source code for their packages.
You should be aware that it is possible (and has actually happened) that someone hacks/cracks an FTP server and replaces a source package with a trojanized version (that e.g. will install a backdoor on your machine and notify the cracker by email). If possible, always verify PGP signatures of source packages, or download from more than one location and compare the packages (e.g. with md5sum). If there is no PGP signature, try mailing the author to request one.