[sdiy] STM32F4 synthesis examples
hugh at blemings.org
Mon Feb 4 12:50:17 CET 2013
Dear Julian, Martin, All,
Excellent stuff on the drumsynth, nice piece of work :)
I was interested to read of the concerns around being able to release
the drumsynth src as GPL and the snippet of the license provided.
I am also not a lawyer, but have been working with the GPL in many
different settings for a while now, and my sense is that you are
probably ok here.
So, a few thoughts;
* The license for any ST provided source code would normally only apply
if you were actually including their source directly (say a header file)
or snippets/sample code.
* If ST have provided libraries (say for doing an FFT with the onboard
DSP) then you'd need to examine the license for the library to get a
sense of it's GPL compatibility (or lack thereof) As I understand it,
this is in part what libopencm3 addresses. 
* It would seem unusual (though sadly not without precedent) for a
modern chip to be brought to market in such a fashion as to preclude
Open Source software being targeted to it
* The bulk of the heavy lifting in the drumsynth is in the code that
Julian has written - worst case it may be a matter of releasing it under
the GPL with some explanatory notes on how to add in the relevant
proprietary bits to make it build. Not optimal, but would allow
collaboration with a broader audience.
* It may be simpler/safer to use something like libopencm3 as Martin
suggests and just dodge the bullet entirely :)
If it would be helpful I can poke a couple of folk and see if there is a
way you can get a definitive answer on this - as this is heading towards
legal advice it will be a bit dependent on where you are :)
 A cursory read of the CMSIS license suggests it's from ARM rather
than ST, ARM are (relatively) more free software friendly in my
experience and the license itself doesn't immediately scream GPL
incompatible to me. That said, I am not a lawyer...
 So in other words - your code is in github (or wherever) and the
README tells users where to go to get the ST specific pieces and where
to drop the relevant files, how to setup the toolchain etc.
More information about the Synth-diy