As many already know, the latest versions of the .NET Framework are released under the free MIT license. However, for example, the ASP.NET MVC division comes with an Apache 2.0 license.

I would like to know what are the general requirements for a .NET developer before release? Can I post a non-commercial (without the ability to distribute / sell) a web service so as not to report to Microsoft, not to register anything and have no problems with copyrights ? After all, in theory, it will work only for me.

    1 answer 1

    Before asking such questions, I advise you to read the license. Most of them are written in human language (with obvious exceptions like the * GPL virus family).

    An Apache 2.0 license is a permissive open source license; it assumes free use for any purpose, although commercial, although not. You can do anything with the code, up to rewriting the code and changing the license, but in this case the existing code remains under the old license, and in the modified files you need to indicate that the file has been changed.

    If you are going to only use the library, then the only requirement is to specify the contents of the NOTICE file at least somewhere in your work. The NOTICE file can be added.

    Under the idea of ​​"do what you want, just specify the author" with some variations of the requirements for working with the modified code, most of the permissive licenses work: MIT, BSD, Apache, MPL, zlib and others. It is necessary to be careful with * GPL (virus licenses that infect the entire code) and MS- * (licenses with restrictions on use). Exceptions to previous exceptions: the LGPL (infects only one library) and MS-PL (limits only use with * GPL) - all this usually causes no problems.

    The only licenses that somehow relate to money are CC-BY-NC from the Creative Commons family and most commercial licenses.