HM, I can say that our core products run in an OSGi environment. It brings it's own kinds of problems. For instance we have some common libs that every product should use. These are pretty outdated and updating them would require every product to check if it still works and if not, to adapt the code in question. Of course, this is only done if there is a strong need for that...
Also classpath problems are harder to track down IME, in an environment like eclipse for instance there there are so many different components at play.
Another Problem we run into is the difference between a build and eclipse development time. While gradle can use different versions of libraries during Dev / Test / build, eclipse does not make that difference, it just throws all dependencies into one bucket and Picks whatever comes first. Again nothing where OSGi is off any help
borkdude: re "Probably because he has no thesis" interestingly, this is what drives the profusion of crypto implementations as well.
nobody's career is served by saying "there is no formal proof of complexity for any cryptosystem in the wild, and everything is more complex than rsa, so basic security theory suggests that /just use rsa/"
@seancorfield: Well, Eclipse is based on OSGi so based on that alone it has relatively huge adoption.
But not because Eclipse's users actually chose OSGi, which is my point 🙂
My last real job was all based on OSGi - we made an IDE for a DSL which then ran in prod. On the servers it was amazing, on the desktop it was a nightmare.
Being able to deploy + hotswap versioned prod builds was really something else.
Has anyone used NixOS to solve similar kinds of pains?