Hi all, I'm currently working on a new project, and I would like to publish it as Open-Source... The project consists in a server and a client created to emulate a famous 2d game... There are already 2 or 3 some other projects of this type (Open-Source), but you all know in these days people have the habit to rename the work of other people and publish it under their name etc, so now there are hundreds of renamed versions of the SAME project!... I already tought about GPL, but also the other projects where under it, and other people just renamed it published without having any problem... So, I'm currently searching for a way to insert some "default" strings about project name, authors etc in the sources, so that stealers/rippers etc can't just rename the project and maybe sell it etc... So, i was thinking about an external dll that should contains these info and that should print them as console output when server starts, but sincerely, I don't think it's possible (to invoke some methods, in this case the console class of the summoner from the invoked object)... But if it's possibile, any of you knows how? And maybe, some of you know other ways to do what I said above (protect from renaming a project) in Open-Source projects? Thanks for reading and for your answers
Why not just provide the project under a license that prevents this?
That being said, project forking is one of the core, fundamental freedoms that are provided by many open source licenses. Using a license or a mechanism to try to avoid this may impact your acceptance by the community.
You can't "protect your code". By going GPL, you can have legal standing to sue anyone who infringes on the copyright licensing, but you can't do much else.
Maybe if your product was good enough, people would use your version above others. I don't quite think you understand that in true opensource, your original work is destroyed, and something better is produced. If you can't handle this, don't release your source at all.
I don't think you can do that and still be truly open source.
The open source definition dictates that
The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.
I can't see how you can restrict modification of any aspect of the code (such as strings in the code like a name) and comply.
So you are looking for a non-open-source license. If your primary interest is to be credited, maybe look at Creative Commons Attribution?
The GNU Free Documentation License might be able to do kind of what you're asking for here. At the very least, it requires more thorough change logging for re-distributors. You might even be able to declare the title an "invariant section", though you'd probably need to talk to a lawyer about that, since a lot of the language of the GFDL is specifically about changing the title. They certainly didn't intend for the title page to be an invariant section.
A big part of the trouble is that typically open-source licenses require people to change the title when they fork the code -- so their changes don't appear to be yours. I've never heard of anyone wanting forks to be required to keep the same title. I can't imagine why you'd want this. Even easier than improving your program, they could make changes to make it absolutely terrible, and they'd still be required to keep the same name. (And what happens if they want to re-use just part of it? How much of the original program is required, in order to keep the same name? I don't think this rabbit hole has an end...)
Even if you survive all of that, the GFDL is not designed for source code. It's not GNU GPL compatible. It may not meet the OSI Definition, and it's certainly not DFSG compliant. You'll probably piss off far more potential contributors than you will gain by preventing renaming. I can't think of any upsides to releasing source code under such a license. The restrictions are so strange that programmers wouldn't bother trying to figure it out.
So, I'm currently searching for a way to insert some "default" strings about project name, authors etc in the sources, so that stealers/rippers etc can't just rename the project and maybe sell it etc
How exactly is that different from selling it under the original name? To release something as open-source is to invite people to try to sell it. If they remove your name from the AUTHORS file or pretend that they wrote it, go after them for copyright violation, same as any other composition.