Help for new developers


I am very interested getting into your dev circle. However to say it nice you are very advanced and you have done a lot of work, but it is hard to get an overview for a newcomer. I have following wishes, which might also help others to get into:

  1. Please clarify OH1 and OH2. I can detect only a OH repository but an OH-Addons1 and OH-Addons2 derivate. What would I need to checkout to get into the development? Is there an own branch for OH2?

  2. I am sorry to say it so clearly but your binding to Eclipse is a bit difficult. I have seen in some commits and discussions there are people asking for Intellij support which would be great. I am sure some people already have this running and Intellij also supports OSGI by the way. Can someone share his setup?

  3. There is big myth about your distribution and runtime which sounds really scary. As I understand you are using different containers for dev and for runtime (Eclipse and Karaf)? Why is this the case and is not worth to circumstance this?

  4. Referring back to point 1 it would be nice to have a clear overview of your current code structure. A small drawing would be nice to get an overview of your layers/services you are relying and base on.


Documentation for OH2 is in work and not yet complete.

The tl;dr is the core is based on the Eclipse SmartHome project which has its own repo and dev community, some additions and modifications for OH2 (its own repo), and a separate repo for OH2 addons, OH1 addons, and the OH2 documentation. There is a separate repo for OH 1 as well but everyone is working furiously to get OH2 stable so if you want to contribute that is where you should focus.

OH1 runs on Eclipse as does the Eclipse SmartHome project. OH2 runs on Karaf. I’m not privy to why @kai made the switch, but I’m certain there was a strong and compelling technical reason. This difference is one of the big ones between OH2 and Eclipse SmartHome.

I think most of that will be in the Eclipse SmartHome documentation.