PokittoLib minor licensing issues


#21

Oh, you mean you want to write software for non-NXP chips and you are therefore concerned?

Those files are so linked to NXP internals (register definitions and so on) that you can’t use them for compilation on other chips in any case.

Edit: and if they do not become a part of the compiled binary, you’re not in breach of the license


#22

Nope :smile: I just want to get rid of files that are licensed in a way that limits the use, because that makes it non-free. Or at least have it clearly marked as an issue. Nowadays I can still live with this kind of very low level code, but as a matter of principle I will make some effort to replace it if possible.

You never know, someone may create a better processor compatible with this one, or an emulator of the processor or something, and then you’re not allowed to use this code.


#23

Understood.

I will look at the other issues later.

In any case, I am grateful that you took the time to look through and highlight the licensing issues. Please do not think any pushback from my side means that I am against this.

I have seen people get completely carried away by this topic on other forums and I hope we can keep the concern over licenses on a reasonable level, and do what is right AND practical to do. I think we agree on that.


#24

A big deal is being made about software being free, but what about the hardware?
Edit: Or should I make a new topic for this question? (before it gets out of control :slightly_smiling_face:)


#25

Definitely, thanks for understanding @jonne :slight_smile: I know these topics can get out of hand quickly, so I’m glad we’re all reasonable here. In the meantime I’ll still be helping with games and when I’m done, I’ll be back full time again.


#26

That’s a very good question and something I honestly want to put right as well.

I would like to open everything to the community but just haven’t gotten around to do it. It is my fault and I readily admit that. One of the problems is that Pokitto was designed using commercial software, so you can’t just open up the files on Eagle Lite.


#27

I forgot to answer this question. Completely OK from my side.


#28

2 posts were split to a new topic: Opening Pokitto HW for DIY building


#29

@drummyfish

I know Brendon Slade, the head of NXP LPC division. I wrote a letter to him about the license in the NXP example files and suggested NXP should replace the license with a clean FOSS compliant license.


#30

Thank you Jonne very much for this, it means a lot to me that you care about concerns of individual members of the community such as myself. I appreciate this behavior and will try to contribute back as much as I can.


#31

@Jonne could you please just fix PokittoDisk.cpp? That’s the only thing left I’d need from you, I have everything else covered. Then it’s just me vs the NXP corporation :smile:

Have you heard from them yet? Here I have found an official statement from them that

LPCOpen code cannot be mixed with GPL.

(Obviously because it violates freedom 0 and the word Open is just openwashing). Whether that means a complete incompatibility with GPL or just inability to licensed the modified files uner GPL I don’t know, but in the worst case GPL games, ports and libraries (Abbaye?) could be a nono. So my preference will now be very strong to not tolerate these files in my copy of the codebase.

If I manage to fix these, you can of course reuse them as well :slight_smile:


#32

Yes I got a reply.

I am a bit busy at the moment, I will tell you what Brendon said.


#33

I found a lot of files are unneeded – at least I was able to remove them and then clean rebuild my programs and run them on Pokitto. For example

POKITTO_HW/lpc_types.h
POKITTO_HW/dma_11u6x.c
POKITTO_HW/dma_11u6x.h
POKITTO_HW/sct_11u6x.h
POKITTO_HW/loader.h
POKITTO_CORE/PALETTES/palDefault.cpp
POKITTO_LIBS/SDFileSystem/FATFileSystem/MemFileSystem.h

Some simple files I’ve already rewritten. Am only left with these now

POKITTO_HW/iap.cpp
POKITTO_HW/lpc_defs.h
POKITTO_HW/clock_11u6x.c
POKITTO_HW/clock_11u6x.h
POKITTO_HW/timer_11u6x.c
POKITTO_HW/timer_11u6x.h
mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/system_LPC11U6x.h
mbed-pokitto/targets/cmsis/TARGET_NXP/TARGET_LPC11U6X/system_LPC11U6x.c

Some of these files are relatively non-small, but actually only a few functions are used, so hopefully shouldn’t be too hard to rewrite this.


#34

And even out of those, a tiny portion is actually used

I’m thinking we will write them out of the library pretty soon


#35

You need to think where you draw the line though. These are not NXP but ARM CMSIS files. I am 100% sure ARM is not going to change their policy on releasing their precious IP for non-restricted use. That is just not realistic.

As Brendon from NXP told me in his reply, the issue is with chinese knock-off unspecified clone chip manufacturers, and it is not going to be easy to turn heads on this matter.

EDIT: the way ARM works is that they are not a chip manufacturer like Intel. They only develop IP (the core) and license it out to manufacturers (like NXP, Microchip, Apple) and so on. There is no way to license the CMSIS files in another way because that is what the manufacturers are de facto buying from ARM: a license to use the ARM IP.

EDIT: so, to put it bluntly, the only option is to allow a FOSS except the following: type clause


#36

It may be that I draw the line there.


#37

Fmanga (or I, given enough time) could rewrite those startup files, but its not maybe a sensible way of using time


#38

Of course, do not rewrite it, I’ll take care of it! We shouldn’t focus all our brain at this issue, it’s not like it needs to be resolved within days.

As I said, all I’d ask from you at this point is if you could fix the license in PokittoDisk.cpp – that should take about 30 seconds. Leave the rest to me :slight_smile: And thank you for your assistance on this so far, it is very appreciated.


I know ARM is based on licensing the IP, but TBH that’s all I know, I’ll have to take a look at the details. If there is no way to write a free clone – that is if there are patents etc. – I’ll just leave it at that.


#39

Yep. Fully agreed with you on everything.

What is interesting is that many of these licenses (in my opinion) are ambiguous to as what happens when the devices are emulated. It’s almost as if the manufacturers haven’t really thought about that possibility.


#40

already did.