I just recently started freelancing (software development) for a new client; they're a start-up and my old boss is the CTO.
They gave me a 3 month freelancing contract which doesn't specify how many hours but rather that we loosely agree to work together. They're my only client on the moment and they need me. Since they just started out and because he is an old co-worker come friend I have lowered my rate considerably. That was probably a mistake right there.
I gave a talk at a conference and afterwards someone from a big company emailed me and asked if I wanted to freelance for them for a very lucrative rate doing a very visible project. It's something that, in my country, millions of people would be using quite regularly.
The thing is they want me to start very soon and I still have about 2 month left on my current contract. I'm not very worried about the legal aspects of leaving because I am not an employee and suing would not help them in any way other than cost them time and money.
Besides the fact that I hate being unreliable, I know that for a freelancer reputation is quite important so I don't want to flake out.
On the other hand securing a great client like this won't come around every day.
Is it unprofessional to leave a contract before the project ended for better paid project? How should I approach terminating the contract if I do decide to do this?