In different forums and discussions around Zephyr features and the roadmap some interest was shown for getting LWM2M support in Zephyr.
Talking with different people and organizations we realized that there a few teams working on porting or have intentions to port existing LWM2M implementation to Zephyr. All is good news, however it would make sense to start talking about this on the mailing list and show intentions and progress and submit proposals so we can join forces and work on something common if possible.
Generally, we would like to adopt or support implementations that fit the architecture of Zephyr and that re-use existing components provided by Zephyr (CoAP, DTLS, ..). There are different approaches and ways this could be implemented, for example:
1. Native LWM2M support in Zephyr (native)
2. Import existing implementation into Zephyr and adapt it (fork)
3. Add support for Zephyr in existing implementation and support building for Zephyr (external)
4. Pull external code supporting zephyr as a module during build time (module)
5. Provide an LWM2M API in zephyr and allow external modules to implement those APIs (api)
I personally would have preferred native, but this would be a duplication given the number of implementations already out there, forking is not a favorite, so the remaining 3 options remain.
If you are working on LWM2M for Zephyr, please provide some information about your intentions or better provide a proposal by sending an RFC providing implementation details and how you want to integrate with rest of Zephyr.