| My question is, do I need to do anything in terms of putting a patent on my ideas or registering trademarks? |
Software patents are a tricky subject. Although currently it is possible to patent software under US law, it's not easy to do correctly. It's also not possible to patent software in some jurisdictions in the world.
In many cases you can't patent an algorithm due to its basis in mathematics (facts can't be patented).
You also can't patent something broad like "a computer system for managing hotels". Although companies can and do push through broad software patents like that, it's very questionable as to whether you could actually win a court case with it (in any case the court case would also be very expensive even if you did win - probably $xxx,xxx and a few years of your time).
When you patent something you need to patent some specific invention. You can't just patent a general idea. You also can't patent a idea
for an invention, it needs to actually exist. Somewhat ironically, in some cases it is actually possible to patent an idea itself, although in this case that doesn't really apply.
Furthermore, in order to patent something you need to provide the patent office with at least one implementation of whatever you are patenting. That implementation is then published for everyone to see.
You can't register code or an idea as a trademark. A trademark is a specific "mark" (something that uniquely identifies your company, like a name or logo). Registering a trademark does not prevent other people from using that mark, but it does prevent them from using that mark in a way that makes people think they are you.
| I just want to make sure that while I'm building my software, somebody doesn't come along with something similar. |
You can't do that. If that were allowed nothing would ever get built. I could say that in two years I plan to invent a faster computer processor, and then sue Intel because they were trying to do the same thing.
What you can do is keep your work as secret as possible and finish it as quickly as possible to beat everyone else to the market.
Also, everything you create is automatically protected by copyright. You can register a copyright (once you finish writing it) which will provide you with additional legal options, but registering a copyright is optional. A copyright prevents someone from taking your code or interface and using it exactly (copy and paste). For the most part it does not prevent someone else from taking your ideas and implementing their own system.
You also can't preemptively register a copyright, the thing you are copyrighting must already have been created. If you could it would lead to the same problem that preemptively registering patents would lead to. You probably could preemptively register a trademark though.