- From: Henri Sivonen <hsivonen@hsivonen.fi>
- Date: Wed, 5 Jun 2013 10:05:10 +0300
- To: public-restrictedmedia@w3.org
On Fri, May 31, 2013 at 5:55 PM, Mark Watson <watsonm@netflix.com> wrote: > A variety of views have been expressed (in the "other place" where these > discussions continue) on the definition of "open web" and so I have a > question about where, exactly, the consensus ends. > > I think we all agree that W3C recommendations must be implementable, > royalty-free, in open source software. This much is clear in our policies. > Some would extend this to "Free Open Source Software". Distinguishing "Open Source" and "Free Open Source" seems confused. Even distinguishing "Open Source" and "Free and Open Source Software" is confused in practical terms even though it's not politically confused. Open Source Software is a rebranding of Free Software to appeal to corporate types who like pragmatic arguments rather than principled ones. However, the set of pieces of software that are Open Source and the set of pieces of software that are Free Software are basically the same. I think the arguments exhibited on this mailing list arise from looking at the name "Open Source" and concluding that disclosed source code means Open Source. This ignores that there is a definition of Open Source (http://opensource.org/osd-annotated) and a definition of Free Software (https://www.gnu.org/philosophy/free-sw.html). In both cases, the definitions are concerned with what downstream recipients can do. The various Open Source licenses and Free Software licenses grant the downstream freedoms to the first recipient under copyright. They differ in whether they require the first recipient to pass the freedoms on to further recipients and in how they deal with non-copyright-based restrictions of downstream freedoms. Arguing that something is okay for Open Source because it's not in conflict with an Open Source license that only explicitly deals with restrictions of freedom arising from copyright and that does not require freedoms to be passed on misses the point if indeed the freedoms are not passed on and if there are restrictions on freedom arising from something other than copyright that result in defeating the downstream freedoms stipulated by the Open Source definition or the definition of Free Software. For this reason, to see if there's a catch in the purported openness of a technology, it helps to assess whether the technology can be implemented in a way that's compatible with GPLv3, because it is the license that does the most to protect downstream freedoms against not only restrictions arising from copyright but also against restrictions arising from patents or from using cryptographic certification to deny interoperability. > Examples include Geolocation and WebGL. Whilst it is possible to implement > both of these in open source software, you basically need proprietary > hardware (and the proprietary software drivers to go with it) to offer a > performant capability to applications (GPS and a graphics card, > respectively). You could also include some video codecs, though here the > issue is just the royalty-free part rather than the open source part. Geolocation is a strange example to pick, because it's unusually permissive in how the back end can be implemented (GPS, cell tower id lookup, WLAN access point id lookup, IP address lookup, manually user-defined location, etc.). Also, GPS is over 20 years old. As for WebGL, Open Source implementations that run on a general-purpose CPU do exist (e.g. Firefox on a recent version Ubuntu that uses llvmpipe when GPU-backed OpenGL is not available), but I see your point about performance. As for drivers for GPU-style parallel processing hardware, Open Source drivers do exist. Intel, for one, ships Open Source drivers for their GPUs. As for whether Open Source drivers can match the performance of proprietary ones, IIRC, the Lima driver (http://limadriver.org/) for Mali-200 and Mali-400 GPUs outperforms the GPU vendor-provided driver at least on some benchmarks. (Obviously, the existence of proprietary implementations doesn't disqualify a technology from qualifying as an Open Web technology. Otherwise, the existence of IE would disqualify all the basic Web stuff.) So an argument from drivers doesn't seem particularly persuasive. It seems that the key question is: Can a Web technology be truly considered an Open Web technology if practical performance requires special-purpose hardware and such hardware can't be built Royalty Free even if a less well performing CPU-based software implementation could be RF? (I don't have enough domain knowledge to say whether GPU-style hardware has to necessarily be non-RF.) However, even if the answer is "yes", I don't think it automatically follows that technologies that don't have the same kind of performance issues on general-purpose CPUs get to cheat their way into being Open by putting encumbered stuff in special-purpose hardware. (Truly prohibitive performance issues are rare even if optimizations are worthwhile. AES-based TLS cipher suites can be practically used without AES-NI. CPU-based FreeType rasterization can be practically used without DirectWrite. CPU-based video decode can be practically used at least on desktop.) -- Henri Sivonen hsivonen@hsivonen.fi http://hsivonen.iki.fi/
Received on Wednesday, 5 June 2013 07:05:45 UTC