License is Apache 2.0 which does not require acknowledgment. I’m always surprised when open source project creators are complaining about a legal move made by a company related to their project: they allowed it in the first place. If they wanted more, like citation or financial advantage, they had the choice to force interested parties to comply by choosing another license. Betting on companies goodwill is risky...
There's a matter of politeness/good practice that goes beyond license terms. And in some contexts (e.g. academia) there's absolutely an expectation that you cite others' work whether or not you're legally required to do so.
That said, I basically agree with you. If you have specific expectations of whoever uses your code, you should absolutely pick a license that requires the behaviors you want. (With the understanding that fewer people may use your code as a result.)
Of course there are implicit expectations and etiquette. What I’m saying is that corporations are less likely than individuals to follow them so if one doesn’t want to be screwed they have the opportunity to do it with the license.
You speak of academic code, and precisely some projects require (or at least ask for) citations in their license file if use in a research context.
> c. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
In the case of WinGet attribution was theoretically not required because the code was not copied directly, so a copyright license was not needed and the Apache License did not come into play. (Of course if AppGet's creator had Microsoft-level lawyering available, he could quite possibly persuade a court that copyright infringement did occur.)
But the Apache License 2.0 absolutely does require acknowledgment!
Is it really being a dick when someone explicitly, through choice of a license, allows it? What is this post from Microsoft except an explicit and public thank you? Which seems like it should certainly appease the "not a dick" criteria to me...
If that's all they did it wouldn't be so bad. However, they also discussed the project, future improvements, etc with the strong implication that they would hire him or pay for his work so far. This could have been well intentioned but you can't tell from the outside and people tend to default to assuming bad things about actions taken by large companies.
I am going to go against other answers and say that legally OR morally you don't need to acknowledge the author if you don't want to. But that wasn't the issue here at all, the issue was Microsoft interviewing the candidate (to pick up his brain?), then ghosting him, THEN copying his solution. It's about how they treated the original author, not about just copying the solution.
Actually I agree that Microsoft move wasn’t fair to the author. The thing is, we read more and more posts here about people disappointed by open-source, with project they started and put lot of effort into and then didn’t get anything back when a company serves itself. But that what they allowed to happen in the first place. If I were to open source the main project I’m working on, I would think for a while to the kind of licensing (possibly dual) that would allow me to reap some benefits in case of success, by the project itself or its use by a company.
Sure, agreed. The problem with dual licensing is that it does limit the project's potential, so unless it's a truly groundbreaking project (vs an iterative improvement) the adoption would be trickier IMHO.