I assume Canadian law is similar to US law in these respects. But, it might be different.
Your software would be protected by copyright, so people shouldn't be able to just replicate your software everywhere without your permission. There are probably some steps to take to make sure this is the case and to maintain those rights when you distribute your software.
If your software includes features that are new and not trivial, you could get a patent on your software. That's an expensive and lengthy process, but would be worth it if the non-trivial features of your software have a broader applicability.
You can also create a brand for your software, like Zynga. That would prevent others from making software under your brand. That would be a trademark. It protects the brand and not the software.