C# – How to appropriately license the open-source project

clicensingopen source

I have just recently completed my first open source project and while it is mostly a tool I still want to release it as open source considering it is C# so if someone wanted to they could decompile it. Also, I'm not looking to sell it.

I was researching licensing but the wording is a bit over my head. Mostly I'm just looking for a license that recognizes me as the creator and does not allow anyone else to put their name on it and "steal it." I'm most likely going to use either google code or sourcefourge to host the project and ideally I could have a donation button. I'm not sure if or which software licenses would prevent that sort of thing?

Also, I'm not really sure how licenses and copyrights "work." Do I just choose a license and paste it at the top of every source file? Should I include my name as well? Do I also put the licenses in the project's root directory? How does one obtain a copyright? It seems like most people just stick it on their stuff. Is there an actual process to obtaining one?

As for software licenses I've looked at so far, it seems like Apache 2.0 or MIT/BSD is what I'm looking for but I'm not exactly sure. Basically I just don't want anyone to steal my program and put their name on it. Other than that I'm fine with people looking at the source code, modifying it, or taking pieces from it, as long as they credit me.

Best Answer

The Berne Copyright Convention specifies that copyright descends on a creative work the instant it is created. You don't need to do anything special to copyright your work. That wasn't always the case - back in the day, one needed to register copyrights, and renew them periodically, but that's not the case anymore.

You SHOULD place a copyright notice in each of your source files, as well as the About or Credits box of your binary. Note that you will still own the copyright of your work even if you don't include a copyright notice, but having it there prevents trouble in the event of a dispute.

The various open source licenses have different requirements for applying them to your code. The BSD and MIT licenses must be pasted verbatim into each source file.

The GPL is generally provided separately in a file called COPYING or COPYING.txt, with a notice in each file stating that it is licensed under the GPL, and that the license itself is in the file COPYING or COPYING.txt. Detailed instructions for applying the GPL are found at the end of the GPL license text itself. If you use the GPL, follow its instructions, not what I posted here.

Related Topic