I'd like to create an open-source database of electronic components and their standard, manufacturer-independent attributes. So, for example, a user could query the manufacturer part number for a capacitor and get back information like the capacitance, voltage rating, etc. The IEC 61360 standard classifies electronic components and standard attributes. It does not provide a database of components, but specifies e.g., that a "class 1 ceramic capacitor" should have such and such standard values.
I'd like to use the component classification and attribute values defined in this standard as the basis for my database schema. However, this standard is under copyright and I'm not sure what I can use from it in my code base.
To provide a little background, the IEC 61360 standard consists of a hierarchical classification of components (some component classes are subclasses of other component classes - e.g., "ceramic capacitors" are a subclass of "capacitors"). Additionally, it defines standard attributes which apply to one or more of these classes. These attributes are accompanied by a description and a specification of the format of the value associated with it. The essential difficulty I'm facing is that in order to have my database be in accordance with the standard, I'd like to provide a schema that enforces it. However, the standard is basically a non-code schema itself, so providing one in my code base would involve copying portions of the standard.
The standard provides a license here, which contains the following passage about permitted use:
- YOU are allowed to print, copy, reproduce, distribute or otherwise exploit, whether commercially or not, in any way freely, internally in your organization or to a third party, the following attributes of the data elements in the database with or without contained values:
• Identity number; • Version number; • Revision number; • Name (Preferred name); • Unit; • Value format. • Symbol.
and a little below:
When using or making available any portion of the IEC 61360 database or information extracted from it, YOU shall ensure that IEC is referenced as the source.
Here's how I understand this. I can use the unique names and identifiers in the standard (names are "preferred name" and identifiers are "version number" and "revision number"). Moreover, for attributes, I can state the expected format of the value. However, this doesn't appear to mention descriptions for classes or attributes. For instance, I can't provide a definition for "tangent of loss angle". Anyone contributing to my database would need to look that up in the standard. Additionally, this doesn't say anything about the hierarchical classification of components. This is tricky, because although I haven't explicitly described the hierarchy, the schema (and structure of files for the database) reflect this hierarchy. I can omit definitions if need be, but I can't see any way to make this project open source and deal with the hierarchy issue if that is indeed an infringement.
In regard to the first issue, Wikipedia copies (with attribution) definitions from the standard (see here). Does that mean as long as I cite the source I can provide the definition?
It's worth noting that the IEC provides an actual metadata registry where a schema of this metadata can be downloaded. I wouldn't use this - my schema would be a sort of reimplementation based on the contents of the standard.
Finally, I found this other ISO guide that discusses how not to break copyright. However, it mostly just advises against distributing the standard document, which of course I wouldn't do.
What parts of the standard can I include in my code base?
The introduction page to the common data dictionary (the online metadata registry) also contains relevant information in the context around the link to the license ("license conditions" links to the license, which is linked earlier in this post):
The license conditions allow the use of the classes, properties, units, values and relations in business and engineering processes and related applications.
This appears to indicate that I can use the hierarchical classification (this should be what class "relations" means). I'm a bit confused that there's no mention of "relation" in the actual license, though.
Additionally, "values" is a little confusing to me. The IEC 61360-1 standard, which provides terminology definitions, describes "value attributes" in section 4.4. It then refers to value attributes as
attributes related to the value of the data element types
This makes me think that "value" refers to all parts of the value, including all attributes and sub-attributes. This is important to me because "value meaning" (which is a definition of the value) is one of these sub-attributes. However, the actual license only explicitly mentions "value format", which is a subclass of value and not a superclass of "value meaning".