Well, we have of course moved on to full GPL by now, but looking at the subject as a whole, there is a broader aspect to it.
FTP itself is a protocol, and writing a protocol wrapper shouldn't be that difficult (I've written one in PHP before, though that was for special cases of HTTP) but it might be worth referring to FileZilla.
The only problem is that FileZilla is aimed solely at the Windows folks, and needs the SDK to build from, so working out what it's doing and replicating the behaviour without having the SDK may be difficult (but it may not).
I notice that FileZilla refers to OpenSSL to handle negotiation of SSL-secured sites, and that would also help with SCP or SFTP (and no decision has been taken which of these to support). Bringing OpenSSL into the equation does complicate things.
How so? Well...
- On a Linux/BSD (and possibly Mac OS X), OpenSSL is bundled as standard and can be argued to be system/kernel software. The GPL allows linking a GPL program to non-GPL software if the non-GPL software is considered to be part of the core. Under Windows, however, this does not apply; it's a bolt-on. We will, if/when we use OpenSSL, we will have to consider amending the license to include a clause allowing this linkage.
- OpenSSL has always held a slightly funny place legally. Strong crypto software must hold a munitions license in the US for legal reasons (one of the oddities), but we can safely assume that OpenSSL has dealt with things like that. However, what we also know is that patents are held which cause a further issue. My copyright/intellectual property knowledge isn't hot enough to ensure that EE would be problem-free if we linked it together.
It may be that we find another way to support SCP/SFTP in the future if this does become a problem.