there is often a lot of confusion between "CAN bus" and "the J1939 standard" How CAN bus itself works is well documented and there are free programs for writing files for it so I doubt the hardware layer has licensing problems. You will find problems if you want say J1939 decoding but this is not CAN bus per se it's a protocol layer that sits on the hardware layer used in most vehicles. Where I work for example we tend to have two CAN buses in our ECU, one for the vehicle that talks the J1939 protocol and our own that just uses whatever we want and has nothing to do with J1939. I once bought a book by a muppet that pretended to explain the J1939 standard and I was suspicious when I bought it because J1939 does require a license. and in fact the book did not explain that much about J1939, it actually explained all about the hardware layer (3 times) and then waffed all over the J1939 standard without giving any detail other than a couple of examples. The book went straight back to amazon for the joke it was, there was so much repetition in it's 70 pages that it felt like Mr trump's inauguration speech....