[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: licensing of XMPP specifications



Peter Saint-Andre <stpeter@stpeter.im> writes:

> Ben Finney wrote:
> > It would make your task of choosing a well-understood license
> > easier if you instead used "softwaree" in its original,
> > contrastted-with-hardware meaning, and not the narrow "programs
> > only" meaning that some retrofit to it.
> 
> That meaning may be "original" but it is new to me and I have not
> heard developers in our community use the term that way.
> 
> In general we talk about:
> 
> 1. Protocol = the data that gets sent over the wire
> 2. Specification = documentation of a protocol
> 3. Software = a program that implements a protocol
> 4. Service = a deployed instance of a software program
> 5. Hardware = a physical machine that runs a software program or service

There seems to be no distinction between "software program" and
"program" in the above. What other kind of programs are there? Why not
refer to programs as programs? Why overload the term "software" with
an overly narrow meaning?

> For the developers in our community, I want it to be crystal clear
> that they have the right to implement the protocol in code, deploy
> the protocol in a service, instantiate the protocol in hardware, or
> do the usual things with the specification (copy, print, condense,
> expand, translate, modify, merge, publish, distribute, sell, etc.).

A set of definitions, that specifically include "software",
"hardware", and "program", seems the most direct way to address this.

> We have had enough confusion about "does the Jabber Software
> Foundation produce software?" over the years, which is a big reason
> why we changed the name of the organization (not a fun process!).

Understood. From my perspective, the simple answer would be "The JSF
produces specifications, not programs". I appreciate that you've
already been through that process a different way, though.

> I want to keep such confusion to an absolute minimum. If that means
> we need to modify an existing license in creating our legal notice,
> then so be it.

I would expect the simplest way is to choose a free-software license
that is already well understood in the wider community (such as the
Expat terms, or GNU GPLv2), and preface it with an explicit statement
that any digitally-represented information, including "programs" and
"documents", are "software" for the purposes of the license.

> Question: when a document is printed, does it become hardware, or
> something else?

It remains software, but that software is contained in a physical
object (the pages of the hard copy).

If the form of the printout is such that it is poor at representing
digital information (such as a typeset document), it may be
particularly difficult to extract the digital information from the
hard copy. This is why it's folly to discard the digital information
if we already have it in some more faithfully-represented form, such
as magnetic bubbles on the surface of a hard disc. But to the extent
that the information *is* precisely represented in that hard copy,
it's the same software.

This is no different from software that is contained in the physical
object of magnetic bubbles on a hard disc surface, or RAM chips,
except that these physical objects are much more faithful than printed
pages at storing digital information, and can much more easily be
changed to contain different information.

The "software"/"hardware" distinction remains: physical object =>
hardware, digitally-represented information => software. Or, as the
aphorism goes, "Hardware is the parts of the computer you can kick;
everything else is software".

-- 
 \        "Good morning, Pooh Bear," said Eeyore gloomily. "If it is a |
  `\          good morning," he said. "Which I doubt," said he. —A. A. |
_o__)                                         Milne, _Winnie-the-Pooh_ |
Ben Finney



Reply to: