John, Thank you for your reply.
On Tue, Dec 27, 2011, at 11:18 AM, John Cowan wrote: > > Does the GPL prevent the distribution of M if the > > work it relies upon, P, isn't compatibly licensed? > > Web browsers "rely on" web servers to provide most of their function > (take it from someone who was recently cut off from the Internet for > three whole days), and also on the entire Internet infrastructure of > routers and so on. Most of this infrastructure, and many web servers, > runs proprietary software, but nobody argues that a GPLed web browser > can legally interact only with GPLed servers using GPLed infrastructure. I'm not arguing for this interpretation, this would be a restriction on how software may be used (clearly non-free). You offered earlier a thoughtful remark: | Microsoft grants explicit permission to use its SDKs to | construct software that is intended to run on Windows. | If it happens to run on non-Windows systems such as | ReactOS or Wine, that is not the developer's fault. So, I look at it in a similar manner: if a derivative work in the form of a shim/adaptation can be used as advertised using only free software, then the requirement that the "whole work" be licensed in a compatible manner is met. That the shim or adapter might work with a proprietary implementation of that same free software is an acceptable outcome. It is the user's right to operate their copy of the software with a proprietary implementation. With this view, if a derivation (shim or adaption) requires proprietary software (with no open source substitutes) in order to function as expected, then "the whole of the work, and all its parts, regardless of how they are packaged" has not been compatibly licensed. In this case, while the author may wish to distribute their "improvement" under the GPL, they are barred from doing so under 5(c) since their "improvement" effectively requires that one obtain a proprietary license to enjoy the derived work. So, back to your question. Given my interpretation, the only issue with a GPL'd web browser might be the inclusion of features that only work in combination with a proprietary web server (and lack an open source implementation). In this case, there are three options: (a) make an exception in the license, this is what the "System Libraries" stuff is all about, (b) implement the quirks/features of the proprietary web server as a derived work from an open source web server, or (c) use a different license. I think that (b) is a very fair tradeoff. If a vendor would like to add support for proprietary webserver features to a GPL'd web browser, they should be willing to provide a reference implementation with the complete functionality they wish to incorporate. How else could one only using free software take advantage of the feature they have added to the web browser? How else could you maintain this addition to the commons and know it works? On Tue, Dec 27, 2011, at 02:49 AM, John Cowan wrote: > > My question involves 3 works, not 2. We have a original > > work O, a "derived" work D (O + a shim/adapter), and an > > independent proprietary work P; where D derived from O > > under copyright law, D relies upon P for its operation, > > and where P has no substitutes. I am assuming that by > > copyright law the author of O can restrict the distribution > > of D. Let's further assume that P has no substitutes, so > > that its functionality is not available under a license > > compatible with the GPLv3. So, my question is if the GPLv3 > > would restrict the distribution of D due to its dependence > > on this independent and proprietary work P. > > As a worst case, the behavior of P can be reverse engineered, > since it is communicating openly with D in a way that can be > analyzed. I think this misses the point entirely. If it's easy enough to embed proprietary functionality via shims without providing an open source implementation of the complementary functionality, then copyleft doesn't really serve much purpose, except for being a nuisance. The shim you'd get would be a minimal conversion from your data structures to something that could be then converted into theirs... how'd that be useful to reverse engineering? Why should the burden of reverse engineering be placed on the one contributing free software to the commons? > If you don't know about the Affero GPL3, you should look into it. Yes, but the AGPLv3 addresses a completely different problem; it also faces the same challenge I'm outlining. I appreciate the the thoughtful engagement, I don't see why the proprietary Internet infrastructure has anything to do with what I'm discussing since I could create & test just about anything using a set of networked virtual machines. Best, Clark _______________________________________________ License-discuss mailing list [email protected] http://projects.opensource.org/cgi-bin/mailman/listinfo/license-discuss

