Zrna - Software-defined analog


#21

Are you talking more about the hardware or the software? On the hardware, I'm fine to go to the same level as Axoloti which is schematics etc but not full layouts. That's simply to prevent someone from just printing clones directly.

On the software: there's a subtle issue with how the firmware works. It depends indirectly on information derived from a proprietary manufacturer toolchain even though it was all hand optimized and changed. The only thing preventing me from open sourcing everything is the possibility of that manufacturer coming after me for violating the original license of their toolchain. Basically if a lawyer can tell me that I can legally relicense everything GPL without risk, then I will. I suspect that this is the case but I'm taking the paranoid approach for the time being. The firmware is really the most valuable and original part of the project, what ties the entire thing together.

The idea that someone would be somehow be "infected" by just using the device in its current state doesn't make sense to me. The hardware and really any hardware is not explicitly licensed. You can always reverse engineer something from the available information. The firmware is currently just a binary blob with no attached license. So again it could just be taken and used wherever. The rest of the software is all Apache licensed which is more permissive than GPL.

EDIT: reading this again I think that you're confusing the hardware and software licensing. There's also some subtlety with different open source licenses. The GPL is the one that may cause you to have to release your code derived from it. Other open source licenses like MIT and Apache allow code to be used in proprietary products. None of the hardware is actually licensed under anything. You're free to do whatever you want with the information about it that is available, including whatever information you derive from studying the hardware itself.

the end user is using part-proprietory stuff

This isn't clearly a problem unless you specify more information about what licenses are in use. You could argue that both Raspberry Pi and Arduino result in the user using "part-proprietory stuff." The Pi has some binary blob aspects of the firmware that are not available in source code form. Neither device has complete layout assets available officially. Some of the schematics are not actually complete as well. None of this prevents people from building commercial products around the devices and also cloning them as long as they respect the software licenses of the software that is available in source code form.

Another way to think about this: you could buy an Axoloti Core but load entirely different firmware on it. In that case you wouldn't be affected by the GPL at all. It's like buying a PC that comes with Windows but then loading a differently licensed OS on it instead.


#22

The issue of Axoloti patch licensing is a separate issue. I think if you wanted to be very literal about it all the objects are GPL (I need to check this, they might be unlicensed. EDIT: the factory object library is indeed GPL, so your patches that use them technically need to comply with the GPL. The contrib objects are not globally licensed but may be licensed by the individual author.). So technically every patch that uses them is probably infected by the GPL so a commerical product would need to release its patches.

You want the API client or patcher layer to be MIT/Apache rather than GPL so it can be used in proprietary products. Like right now you could write something that calls the Zrna API and make a proprietary product out of it, and I would have no way to stop that with licensing (and I wouldn't want to stop it!). With Axoloti that may not be possible technically because of the possible GPL infection.


#24

Thanks very much for that, and actually I think I've confused you as to what I am getting at so first of all I absolutely must stress that when it comes to 'business' I am absolutely understanding your needs and you have my sympathy really, cause it's a real mine-field.

It's not being infected by GPL that concerns me, I'm all for GPL. What concerns me software-wise is really only the uncertainty as to whether I would have to give-out the Axoloti sketch for my product. On the one hand, things I have read here and there accross the web, seems to suggest I might have to do that if I were to release my product commercially. On the other hand, frankly I think it might be complete and utter nonsense because if that were the case, then surely an artist would have to release the unflattened file if they were to commercially release an image created in GIMP or Inkscape, and a blender user would have to release their model if they decided to sell 3D prints of them.

So for that reason it all sounds a bit unlikely to me and I'm banking on the hope that I would not have to release my Axoloti patch just because the end product is released commercially. Releasing an Axoloti patch in software would be akin to what you are concerned about in hardware, so I am not surprised you don't plan to release manufacture-ready files of the board, Johannes never either, no doubt for the same reason - makes perfect sense.

So my only concern then with your own board is that you explicitly state the correct licence for it on release. If what you're hoping turns out to be true, and you are able GPL all of it, that's great, but whatever it is, you will have to be very careful and absolutely sure before you explicitly state its licence.

I would do more than speak to a lawyer, I would ensure that the advice given by them is in writing, to include they are accountable for any errors in their advice. Don't forget that one, it's a biggie and is often omited by slippery lawyers in order to escape accountability for the specialist advice you paid them for.