I've made a relatively small program in Python that I've found rather useful. In summary, I want to distribute the program, but am afraid it will be stolen, and want to know what steps I need to take to ensure that it won't be. Read the rest if you care to, or just respond to this paragraph.

I made one like it years ago, lost it, and remade it a few months ago. It's even better now.

The program is basically a self-quizzer, to help with memorizing words in other languages. I've used it to memorize word lists of up to 50 words at a time in a much shorter time than I would have without it. The program is a bit like having a person there quizzing you, perhaps even more efficient.

Although the program is simple, I think that it might help some people a lot, so I've for a long time had the idea in the back of my mind that I want to distribute it for free. I don't doubt that people have made programs like it before, but I doubt it's been done exactly as I've done it, with as many options. And, so far I have never heard of another program like it being made.

But I'm planning to alter it some day, maybe completely rewrite it in C++ or something, and add a GUI, which it does not have now. There are a few things that I want to change. But I don't plan on changing it any time soon. In the meantime, it would be nice if I could release it as it is, for now.

My concern is that someone will steal the program and claim it as their own. Or steal the idea. The main idea is a bit generic and I'm sure it's been done before, but some details about the randomization options, etc. I wouldn't want stolen. I would not mind if someone altered it or completely rewrote it, as long as they made reference to me and admitted that they got whatever parts they did from me.

It might sound stupid that I'm concerned about this little program being stolen, but I am. It would really bother me.

I have no idea how to ensure that it doesn't happen. It stealing common? If I just released it under my name, is it not something I'd have to worry about? What steps do I need to take?