The sustainability/health of Lightbend config is in question #400
Replies: 4 comments 7 replies
-
Just to clarify, whatever the decision, that would be for 1.1.0, right? It would be pretty nice to be able to migrate one thing at a time. (I'm probably just stating the obvious, but it's better to play it safe and ask anyway) |
Beta Was this translation helpful? Give feedback.
-
We have no evidence that Pekko or Akka users are hitting major problems. I would be a -1 on doing a Pekko fork of config and -0.9 on changing Pekko away from using config jar in the foreseeable future. |
Beta Was this translation helpful? Give feedback.
-
There is further evidence that typesafe/config is not being maintained. PRs from outside contributors are not being merged. Example - lightbend/config#797 If we were to create a Pekko version, I suspect we could have issues because the license has not changed and we are unlikely to be able to persuade Lightbend to donate it to the ASF (but we can ask, I guess). We don't tend to expose typesafe/config classes in APIs so it should be feasible (in theory) to fork the code and change package names and just use the new libs from our fork - in a way that should have very limited impact on our users. Not something that we would uptake in any 1.0.x patches but possibly in 1.1.x minor releases. Is there an appetite to pursue this? |
Beta Was this translation helpful? Give feedback.
-
sconfig is looking very nice but I would still be very wary to make such a large change right now (or maybe ever). I can understand the desire to have more actively maintained upstream dependencies but I cannot see the scenario where typesafe/config suddenly becomes unsuitable. I find Havoc's comments in the linked thread quite level-headed. There is always an economic aspect to software development and especially with the scarce resources in OS development, so having upstream dependencies becoming mature to the level of only providing the minimal amount of updates is expected and actually a good thing for stability. On the Pekko side, despite the compatibility of sconfig with the actual config files this might still be quite a big chunk of work because configuration matters are so spread over all the codebases. Also consider, that the config API is part of Pekko's public API, so we would either have to opt for just breaking compatibility or have a massive and potentially complicated transition period where we deprecate but still support the public APIs based on the existing config API. On a more general note, can we try to keep the discussion a bit less extreme? We are not the military and have to worry about potential "worst case scenarios". But playing with this, the worst case would be that the library is deleted from Maven Central, which just won't happen. A critical security issue or serious incompatibility with an upcoming Java version is also not to expect, so we are likely good for the next decade (we can also probably go back to the config version published a decade ago, and that would also work). |
Beta Was this translation helpful? Give feedback.
-
Pinging @pjfanning , @johanandren and @jrudolph
Upstream issue is here lightbend/config#787 and my response is here lightbend/config#787 (comment). We should probably discuss a gameplan here for a worst case scenario, i.e. should we end up spending our capacity maintaining config considering its a pretty critical dependency or should we try and move to something like https://github.com/ekrich/sconfig (which would also make it easier to open up Pekko for Scala.js/scala-native)
Beta Was this translation helpful? Give feedback.
All reactions