I was thinking of asking this question in the NuGet project, but they redirected me here to ask generic questions. So I will ask here.
I want to develop an application that will use the CsvHelper library, and on their website they told that it is free for commercial uses. But later I found that I can choose between two licenses, Apache 2.0 or Microsoft Public License, that I can choose which one is more suitable for my case.
I would prefer to not give the source code to the client, but if none of the licenses allow that, it is not a problem.
Also I prefer to avoid that my customer could give the application to others, but I don't know if it is possible with this kind of licenses. Really it is not mandatory, I could allow it, but at first I would prefer to not allow that.
It seems that Microsoft allows me to keep my source code as closed source, if I am not wrong, but I don't know if it allows all of my preferences, to not give the source code and to not allow distribution to 3rd parties.