4 ms·
The scrubbed copyrights are bad enough, but can be fixed. The incompatible licenses mean that this code is actually unusable. I have no idea how MS is going to
by teacup50 11y ago
The scrubbed copyrights are bad enough, but can be fixed. The incompatible licenses mean that this code is actually unusable.
I have no idea how MS is going to rectify this.
- AlexeyBrin 11y agoFor the incompatible licenses, Microsoft can: 1. Buy the rights from the original owners (if you are the owner, you can re - license your code under a different license). 2. MS can reimplement from scratch the problematic pieces of code. 3. MS can hire someone to write these missing pieces for them.
- Klathmon 11y agoHow does relicensing work? If I'm the writer of a GPL'd piece of software can I just decide to make it MIT one day? What happens if I die tomorrow, could that code still be relicensed eventually? What happens when there is no clear owner?
- 0x0 11y agoI think the general consensus is that if you authored 100% of the code yourself, you could always change the license (but people could fork the latest version under the old license and keep going, as happened with X.org), but it you ever took any patches/pull requests/contributions without also receiving a copyright assignment, you need to hunt down every single contributor to agree to a license change. I think that happened with Mozilla and VLC, whilst for Linux it would appear that several core contributors have explicitly refused to re-license (for example to change from GPL2only to GPL2+). Other examples include MySQL, which was dual-licensed GPL and commercial, and KDE/Qt which also had a dual-licensing (and then a re-licensing). If all contributors also accept to transfer copyright/ownership up-front, re-licensing is easier. I'm guessing re-licensing after death would require waiting whatever period (70+ years?) for copyright to expire.
- mikeash 11y agoYes, as long as you retain the copyright of the code you wrote (i.e. didn't explicitly assign it to someone else, or write it as a work for hire) then you can relicense it under whatever you wish at any time. You could make it available under GPL, CDDL, MIT, and the Beerware license all at once. This stuff is relatively simple at its core. Copyright says, "You may not redistribute this work without permission from the copyright holder." An open source license says, "I grant you permission to redistribute this work, as long as you follow these conditions." Relicensing is just a matter of making another statement like that with different conditions. If you die tomorrow, then the copyright transfers to your heirs, who could then do all the stuff you used to be able to do. If there's no clear owner, then life becomes interesting. If there once was a clear owner who released the stuff with a license, that license is still valid, but relicensing isn't possible unless someone can demonstrate that they're the owner. If there was never a clear owner then you can't really use the stuff, although if you're brave you could proceed under the theory that if nobody claims ownership there is nobody to sue you.
- mikeash 11y agoYeah, that's what moved me from "they are jerks, oh well" to "this is something worth posting." Note to Microsoft: I will be happy to write you a new ObjC runtime if you'd like, at my usual rates.
- lukeh 11y agoThey should just use the Apple ObjC runtime, not that it's the cleanest piece of code, but... a lot of work has gone into it. Ditto for CoreFoundation. Oh well.
- MBCook 11y agoI don't believe Apple's runtime (or at least CF and other important parts) are open, are they?
- mikeash 11y agoApple's runtime and most of CoreFoundation are available at http://opensource.apple.com http://opensource.apple.com along with a lot of other stuff. I don't know offhand if their license would be suitable for Microsoft's purposes.
- lukeh 11y agoIANAL but looking at ThirdPartyNotices.txt there is MPL code, so they're probably OK with APSL. Maybe not so with LGPL though (which would rule out Apportable's otherwise excellent Foundation implementation). It's also kind of weird they're using OpenSSL instead of Microsoft's SChannel. Usually Microsoft are pretty good at only giving you one way to hang yourself in the security department - I'm a big fan of SSPI, even if the API is occasionally unwieldy. (And as soon as I wrote that, I remembered CryptoAPI vs CNG...)
- muaddirac 11y ago"In some of these cases, we have explicit permission from the authors to relicense sections of relevant code." (from linked page, though only very recently added)
- teacup50 11y agoIf that's actually the case, then the QPL/GPL license headers must be replaced. Note that the commenting individual is the founder of the company acquired by Microsoft that provided this code.
- waynecochran 11y agoI feel a bit ignorant here, but are there open source license that simply can not co-exist? For example, could I write program Foo.c (using CDDL license), which uses GPL'ed Bar.c and MIT'ed Dad.c (both unmodified)?
- teacup50 11y agoMost non-copyleft OSS licenses are compatible in some form, including with copyleft licenses such as the GPL; when used in a combined work, the combined work's license essentially reverts to the most restrictive of the licenses. In some cases, such as with WinObjC, reverting to the most restrictive license makes the work unsuited for its intended purpose. However, many copyleft OSS licenses have clauses that are genuinely incompatible with both other copyleft licenses, and less-liberal OSS licenses -- in such cases it's impossible to legally combine code under the licenses. In your example, the CDDL and the GPL have incompatible copyleft restrictions; your resulting program wouldn't be distributable under the provided licenses. A more common incompatibility example is that of the OpenSSL license and the GPL; GNU maintains a fairly complete list of incompatibile licenses here: http://www.gnu.org/licenses/license-list.en.html#GPLIncompatibleLicenses http://www.gnu.org/licenses/license-list.en.html#GPLIncompat...
- dragonwriter 11y ago> but are there open source license that simply can not co-exist? The GPL can basically not coexist with any other license, though lots of licenses (though perhaps fewer than the FSF claims, especially for GPLv2 and previous) allow code to be relicensed under the GPL (which is different from the code coexisting.) The reverse is emphatically not true, GPL code generally cannot be relicensed (downstream; the copyright owner can do whatever they want) to another license, except newer GPL versions if the optional "or any later version" clause is included with the GPL.
- mindcrime 11y agoMy understanding is that the GPL can usually coexist with licenses that are non-copyleft, or with some copyleft licenses, as long as the license doesn't require the resulting work have any license restrictions beyond what the GPL requires. Anybody who's terribly interested in all of this will probably enjoy reading the GPL FAQ, especially this bit: http://www.gnu.org/licenses/gpl-faq.en.html#WhatIsCompatible http://www.gnu.org/licenses/gpl-faq.en.html#WhatIsCompatible IANAL, YMMV, HTH, WTFBBQ, ETC.