I made perfect sense. Any program can open a port, the ports aren't assigned to anything, a program can run on any port it wants; just some ports have more common services running on it than others...
21 is known for FTP because most FTP clients run on it, hence 21 is most commonly used for FTP, however if you don't have an FTP server you can run a program on that same port and accept connections. With FTP servers also you can tell it to listen on any other port, even 25 which is for SMTP...