I am coming closer to hitting a major milestone with BOLTS (https://github.com/jreinhardt/BOLTS/issues/milestones
). Most of the functionality I want to have for the moment is in place.
There are a few remaining questions, mostly revolving around license issues. I am not a lawyer, but I have a rough understanding of how these things work. I am not asking for legal advice, I just want to synchronize my understanding with yours, to make sure I don't do things completely wrong. I do not have questions in a strict sense, but still ask you kindly to comment on the points below.
Also it seems to me that it is a good idea to keep track of licensing terms and authorship from the beginning, to be able to sort out problems with e.g. Debian packaging.
What makes the licensing situation difficult is that there are many different stakeholders involved, and BOLTS consists of many different parts with potentially different licensing terms:
The infrastructure code (https://github.com/jreinhardt/bolttools
), that takes care of parsing data files, generating html output, OpenSCAD code, etc. is written exclusively by me and licensed under LGPL 3.0, this is not so much a problem.
The .blt files containing informations, descriptions and metadata about parts and standards, in particular tables of dimensions. These can be contributed by people under a license of their choice:
1. I am not sure what kind of licenses are appropriate for this kind of content. I think CC licenses and copyleft licenses should be fine in principle. I stumbled upon the open data base license http://opendatacommons.org/licenses/odbl/1.0/
, but I am not sure whether the advantages really apply to this case. Im the documentation I would suggest a liberal CC license (http://creativecommons.org/licenses/by-sa/3.0/
) for contributors that do not have a strong opinion.
2. It is my understanding that the content of such tables is not copyrightable, just the form. So it should be fine to get the numbers from the web sites of vendors or even from the standard documents directly without violating copyright.
The application specific information necessary to create a representation of the part in a CAD application consists of a rather simple .base file and other files like fcstd files, python code, OpenSCAD code or stl files. I expect that this is the part where it is most difficult to keep track of the licenses, because I think in many cases these files will be taken from forum posts, thingiverse or other sources, where the licensing terms might be not clear. And even if the licensing terms are clear, I expect to have content licensed under a diverse selection of licenses.
3. The final part is created using information from the base file and the blt file, e.g. by executing a python function with parameters obtained from a table of dimensions. I tend to consider this a combined work or linking, which would restrict the possible combinations of blt file license and the license of the python code.
4. I think I will have to build a mechanism to make sure that only compatible licenses are used together and also to allow to create a stripped down distribution filtered by license terms (e.g. for inclusion in Debian).
5. I would suggest LGPL or MIT for code (OpenSCAD, python) and a liberal CC license for content (fcstd, stl) files.
6. Is there stored license information in fcstd files that I can query?
The OpenSCAD Backend creates code to glue code fragments together and to make table data available.
7. I would consider this the output of the program and I think this http://www.gnu.org/licenses/gpl-faq.html#GPLOutput
applies, so I would include a license header with the license of the source files into the generated code.
Thank you for you input
At the moment I have a author field in the blt and base files, would it be more accurate to rename it to copyright?