I have a simple idea (I think it is not patentable) that I have turned it into an effective software. It need some more effort to make it commercial. By the way I am not unwilling to sell it to THE BigCompany but I think it is not reasonable now. I planned to distribute it freely to gain a large user base then offer it THE BigCompany. But how can I protect my product against THE BigCompany so that they don't copy it?
There isn't really much you can do to protect yourself against competition. That is one of the aspects of a free market.
Even a patent won't help you against a much bigger competitor, as they can tie you up in court cases for years and bankrupt you, if they choose.
The best thing you can do is use your agility to your advantage. That is, launch, get users and iterate as fast as possible, so that your user base grows and your product grows in value. This will make it harder for competitors to keep up, especially large companies (fast followers are harder to deal with, as they are also agile and may be funded, but the same principles apply).