According to README.md, PowerShell is licensed under the MIT License. However, when I open LICENSE.txt I see the following:
PowerShell 6.0
Copyright (c) Microsoft Corporation
All rights reserved.
MIT License
Permission is hereby granted, free of charge, to . . .
How can all rights be reserved while granting all the rights under the MIT License? To reserve all rights while granting all the rights under the MIT license is completely contradictory. Of course, Microsoft can retain the copyright but it can't reserve all rights and license under MIT.
Credit: I did not discover this issue. It was discussed on episode 480 of the Windows Weekly podcast. The license-specific discussion (including this issue) is between about 11m:45s and about 13m:05s.
Not sure that applies IANAL but:
http://opensource.stackexchange.com/questions/2121/mit-license-and-all-rights-reserved
Suggests it's entirely correct to do that.
@MartinSGill With all due respect to the resource you provided, it's clear the author of the answer is not a lawyer either.
While I can't find any credible discussion to mirror this scenario exactly, I offer this discussion by attorneys about as to what happens when there are conflicting clauses in an agreement: http://law.stackexchange.com/questions/2263/what-happens-if-two-clauses-in-a-contract-come-into-conflict
The MIT license itself does not have the conflicting "all rights reserved" phrasing. It was added to the license in this repo by the creator of the LICENSE.txt file (perhaps unknowingly).
To be fair, the BSD License does include the phrase "all rights reserved." However, the ISC License, the GPL, and the Apache License do not.
So while the phrase being included in the BSD license does set precedent for the conflicting terms, "all rights reserved" is certainly not a part of the MIT License. It seems this license is a hybrid of the MIT and BSD.
Even if the owner of this repo decides to keep the license as-is (which I personally think is the wrong thing to do, but it's not my decision), I don't think it's fair to say PowerShell is licensed under the MIT license if it's not actually using the MIT License.
A copy of LICENSE.TXT is at
https://github.com/PowerShell/PowerShell/blob/master/LICENSE.txt
FWIW, I agree w/ @dworzanski ; I've been involved in license discussions with other projects, as well as discussions about writing licenses....
@dworzanski : as an aside, you probably should run a spell checker against your post in http://opensource.stackexchange.com/questions/2121/mit-license-and-all-rights-reserved .
(Yes, I'm a bit biased, pretty much all of my contributions to the PowerShell repository are fixing numerous spelling mistakes. The reason to fix spelling mistakes is to make arguments and code easier to read, by decreasing distraction and ambiguity. Such mistakes also decrease from the perceived professionalism of a work and thus decrease the weight of its argument.)
you probably should run a spell checker
@jsoref Done. I agree 100% about the importance of spell checking. I just switched text editors and didn't realize I wasn't getting wavy red lines. Thanks for bringing this to my attention.
IANAL, so I can't make any kind of statement about the content of the thread, but I do wanna let you know we're looking into it internally.
Wanted to loop back and let you guys know that, after consulting with our lawyers, we won't be changing the language. The basic gist is that we want to reserve any and all rights not granted by MIT. There's also some other precedent out there for "All rights reserved" being used in MIT.
@dworzanski: If this is a dealbreaker for you for one reason or another, please let me know here (or we can follow up privately if you like).
@joeyaiello Thanks for taking the time to look into this.
It's not a deal-breaker for me.
My concern has never really been with Microsoft deciding to keep the language -- my concern is with the fair representation of the MIT License. As far as I'm concerned, Microsoft may modify the license if it so desires.
I would respectfully suggest modifying the README.md file in this repo to make it clear the license is a "slightly modified" MIT license, or perhaps (since the license is so short) to simply incorporate the whole license under the Licensing heading and foregoing any reference to the MIT License. This isn't a deal breaker for me either. I just think it would be the most accurate way to represent the license.
Thanks for your consideration and your patience.
@joeyaiello : fwiw, I don't think that WebRTC calls its license "MIT" or "BSD". I /think/ the license itself is basically BSD w/ the reservation you're using, but in my quick search, MIT doesn't appear anywhere relating to the license. And where it does mention "BSD", it says "like most BSD licenses" instead of saying "this is under the BSD license".
https://webrtc.org/faq/#what-does-this-license-let-me-do
Like most BSD licenses, this license allows you to use the WebRTC code with a minimum of restrictions on your use. You can use the code in proprietary software as well as open source software.
Note: These comments don't mean that I object to the license, I'm just wearing a very detailed oriented hat for the moment.
Gotcha. So you guys take more issue with the fact that we're calling it MIT with a slight modification of the language than the language itself? That actually makes sense to me.
I can't promise a quick turnaround, but I am going to still follow-up to see what we can do here.
Yes, I believe that's a reasonable summary of our opinions.
And don't worry about speed. (Everyone w/ even a little bit of experience w/ licenses quickly learns that anything involving them is slow.)
@joeyaiello I think saying "MIT-like license" would be okay too.
Most helpful comment
IANAL, so I can't make any kind of statement about the content of the thread, but I do wanna let you know we're looking into it internally.