Re: What is the "open web" ?

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