I don't see it as a "sensitive word" political correctness bullshit in this case. In my eyes, master and slave are simply unfit words in this context.
Master and slave are applicable in the context of SPI or I2C, for example. The master dictates when something is going to be read and which register it is going to be read from and also how the bits are going to be shifted onto the data lines (clock generation by master). The slave just spits out the data as commanded.
In the context of CANopen, you have request messages with OD indices and subindices coming from the client, the server processes them at its own pace, and spits out the result if it wants to. This is directly analogous to how the internet works. You request a website from the server and it replies to your query. Would you call your computer a master in this case, and CloudFlare's server a slave?
______________________________
Alright, let's get back to the thread at hand.
I have coded a limited-functionality CANopen server for a small project in the past. It allowed for reading from/writing to the OD, and using that you were able to configure what the PDOs would be spitting out on a regular basis. All of the NMT node control, sync, emergency messages (everything that wasn't 100% necessary) was simply left out. And even without all the spit and polish, it took quite some effort to make it happen.
Would I do it again? Probably not.
At work, we purchased a CANopen library from Port GmbH. The library was device-specific, as it interacted directly with the registers of the chosen microcontroller.
Several attempts were made to adapt the code to use our hardware abstraction library interfaces and make it portable. Every attempt eventually failed, because the code is horrendously convoluted, with files in the several thousand LOC territory, no naming convention whatsoever, etc.
Fair disclosure: We're using an old version of their CANopen library, so I don't know the state of what they're selling now. They might have restructured things and improved them in the meantime.
Your best route would probably be to buy something ready-made, but shop around and request some trials, as quality might vary.