By “open source”.. what do you mean?
SPL and HAL – I’ve been working with them for only 1 1/2 years. I’m not an IP guru, but they are provided by ST to anyone who wants to register with name/email and download. No fees I’m aware of to incorporate these into products. Indeed, the ST’s purpose of these is to speed time to market and cost of development. NXP/Freescale does the same thing.
I’m doing commercial work with with HAL and there’s no issue with leaving their credits in the source, nor if we have to, crediting them in the release of the product that uses the binaries. Like many product cycles, no ST-original source code is provided, nor usually wanted by the customers.
I do NOT modify ST’s code for obvious reasons – mainly that I don’t need to and also I don’t want to cause a configuration mess as they release updates several times a year. I can take my sources minus ST’s sources from HAL and CubeMX, and create a baseline and tell someone how to do their own download of ST’s code and code-generate with CubeMX and get the same result. If need be.
non-commercial applications – I’ve not read the fine print. But I don’t think there are restrictions other than leaving the ST credit in place. Seems fair to me, as if I had to develop all those drivers from bare metal, it would have made the cost and schedule, and complexity, impractical. Not like a bit of code for a PIC or AVR.
Hobby market… well, you know that story. The best is to get it into University labs for imprinting – as Apple is want to do.
Lastly, the low cost of MCUs, and M3/M4 with generous sized flash/RAM – makes it illogical to do as we all used to do way back.. work for hours with an undersized MCU is false economics. Big non-recurring labor costs make sense only if you are building a million and have a big amortization base. For avocational.. we’re talking insignificant parts cost deltas.
So, I certainly missed the point of the posting.