[Discussioni] le specifiche di zigbee

Francesco Potortì pot a potorti.it
Gio 27 Gen 2011 13:45:58 CET


Le specifiche dello stack protocollare di comunicazione e applicativo di
Zigbee hanno una licenza d'uso e distribuzione che per certi versi è un
po' mal scritta, a mio parere.  Questo messaggio ne tenta un'analisi e
chiede opinioni su questa analisi.

Sia la "Zigbee specification" che la "Zigbee cluster library
specification" iniziano con queste frasi, riportate in maniera identica
in entrambe le specifiche:

Capo 1 -
   The ZigBee Specification is available to individuals, companies and
   institutions free of charge for all non-commercial purposes
   (including university research, technical evaluation, and development
   of non-commercial software, tools, or documentation). No part of this
   specification may be used in development of a product for sale
   without becoming a member of ZigBee Alliance.

La parte mal scritta è a mio parere la prima frase, che si riferisce
alla "ZigBee Specification" sia nel documento che ha quel titolo sia
nell'altro, che ha un titolo diverso.  Il sospetto di errore è in me
generato dall'accostamento con la seconda frase, che invece si riferisce
chiaramente a "this specification".

Per avere una base di discussione, nel seguito ammetto che anche la
prima frase si riferisca in entrambi i documenti a "this specification",
o assumendo un errore di scrittura o assumendo che "ZigBee
Specification" si possa intendere come riferito collettivamente ad
entrambi i documenti.  L'incipit di entrambi i documenti continua così:

Capo 2-
   Copyright © ZigBee Alliance, Inc. (2007). All Rights Reserved. The
   information within this document is the property of the ZigBee
   Alliance and its use and disclosure are restricted.

Anche qui trovo ambiguità, perché dice che l'uso è "restricted" ma non
si capisce come.  Ovviamente il senso più esteso è da escludere,
altrimenti non potrei neanche leggerle né usarle per scrivere del
software.  L'unica cosa che mi pare sensata è di ignorare "its use" e
supporre che voglia semplicemente dire che si applicano tutte le
restrizioni relative alla legislazione sul copyright.

Capo 3-
   Elements of ZigBee Alliance specifications may be subject to third
   party intellectual property rights, including without limitation,
   patent, copyright or trademark rights (such a third party may or may
   not be a member of ZigBee). ZigBee is not responsible and shall not
   be held responsible in any manner for identifying or failing to
   identify any or all such third party intellectual property rights.

Questa invece mi sembra semplicemente una nota cautelativa, di quelle
la cui presenza cambia poco, per cui semplicemente la ignoro.

Riassumendo: posso scaricarmi queste specifiche, non posso darle in
giro, posso studiarle e usarle nell'implementazione di software che le
usi.  Posso utilizzare questo software per usi di studio, ricerca, o
altri utilizzi non commerciali.  Se le uso per sviluppare software da
vendere o incorporato in dispositivi da vendere devo iscrivermi alla
Zigbee Alliance (3500$/anno più un'una tantum all'iscrizione, per quanto
capisco).

Il Capo 1 scritto sopra è scritto anche in una cornice che bisogna
leggere e approvare prima di scaricare la specifica, che viene fornita
tramite un link unico privato inviato all'indirizzo email fornito.

Interpretazioni di casi esemplificativi secondo me fattibili (difficoltà
pratiche a parte), su cui chiedo un'opinione.  I casi A e B sono molto
vicini a reali casi pratici di cui mi sto interessando.

Caso A
 Scrivo software conforme alle specifiche per studio o ricerca, lo
 distribuisco gratuitamente e liberamente con licenza Apache.  Chi lo
 prende e lo usa per fini commerciali è probabile che debba apportare
 qualche modifica per la quale ha bisogno delle specifiche Zigbee.  È
 bene che in questo caso si iscriva alla ZA (ZigBee Alliance).

Caso B
 Scrivo software come sopra, ma stavolta lo scrivo creando uno strato di
 astrazione tale che chi lo usa non ha bisogno delle specifiche se non
 in casi molto particolare, nei quali bisogna cotruire delle istruzioni
 conformi alla specifica, dati che per la mia astrazione sono opachi.
 La maggior parte degli sviluppatori per usi commerciali invece hanno
 solo bisogno del mio manuale e non costruiscono dati opachi.  Costoro
 non hanno bisogno di iscriversi alla ZA.

Caso C
 Scrivo un modulo per Frebsd che implementa le specifiche, senza scopi
 commerciali, distributo con BSD e che mostri un'interfaccia astratta
 tale che la lettura delle specifiche Zigbee sia totalmente inutile, e
 che non consenta nessun passaggio diretto di dati opachi alla rete
 Zigbee.  Gli sviluppatori del kernel prendono questo codice e lo
 incorporano legittimamente nel kernel, così com'è.  Nessuno
 sviluppatore del kernel ne potrà effettuare in seguito alcuna modifica
 che richieda la conoscenza delle specifiche Zigbee.

Caso D
 Tutto come il caso C, ma per Linux.  In aggiunta, gli sviluppatorei del
 kernel all'atto dell'incorporazione cambiano la licenza.



More information about the discussioni mailing list