3 ms·
I feel like the examples of log4j and ua-parser aren't that great, because it would be relatively easy for any other similar lib to take their place, as it's mo
by didibus 5y ago
I feel like the examples of log4j and ua-parser aren't that great, because it would be relatively easy for any other similar lib to take their place, as it's mostly straightforward to implement, even though it still takes time.
But there are some things like Kafka, PostgressSQL, Spring Boot, Tomcat, Apache Math, ZooKeeper, the OpenJDK, and all that which are definitely non-trivial and a huge amount of time and effort, and you couldn't just take an extra month or two and have a dev on your team implement a replacement, unlike log4j and ua-parser.
I think those would be better example to discuss, and my impression has been that those things often have a company behind them offering support or offering them as a service that in some ways pays for some real devs to contribute to them, but maybe I'm mistaken.
Like for example, the author mentions working on the GO team at Google, and Go I would consider one of those big open source projects that truly are foundational and would be non-trivial and huge effort to replace. So that shows that the really big pieces do have companies hired and paid staff behind them.
- tobltobs 5y agoFirst those developers don't get any money for their work, now you also telling them that the work they are doing isn't really valuable anyway? Did you consider the fact that half of your examples of worthy things are using the unworthy log4j?
- WJW 5y agoQuite a few managers I have spoken to will use the exact reasoning ("we could rewrite this in two weeks or so, why should we worry if it disappears?") and do indeed seem to think that the fact that because the OSS dev did not get paid for their work implies that it is low value work. If it was in fact high value, they would have gotten paid for it you see.
- didibus 5y agoAs a developer, if there were no free open source logging library, then I'd be paid to implement one at my work. It be a fun project, but because someone is willing to do it for free, and give it away, it's hard for me to justify to my employer that we should build our own. This is how the value is measured. But if you take a much harder task, like building a performant and safe JIT language runtime like the OpenJDK, you'll see that even in the open source model, people can't actually deliver it effectively for free. It often starts out from a company that later open sourced it, or it's backed by academia, and contributions require deep expertise, so sometimes companies had to have their own staff contribute to it on their own payroll.
- javajosh 5y ago>I feel like the examples of log4j and ua-parser aren't that great, because it would be relatively easy for any other similar lib to take their place Log4j is a good example, anyway. It's an old library, very old. And a lot of other software depends on it. So the effort of replacing log4j is not proportional to it's feature list, but rather to the feature list times the number of projects already depending on it. (The replacement exists, btw, called slf4j, usually with logback, written by the same author as log4j.) Java Logging is a subject in itself (I won't say "interesting subject" although it is interesting, in the same disturbing way the lifecycle of a tapeworm is interesting.) but I would argue that these logging libraries are old and have evolved over time in ways that are hard to anticipate or recreate. (Rewriting things also leads you to the xkcd "standard proliferation problem" - https://xkcd.com/927/ https://xkcd.com/927/) The real problem is that it takes time, like real calendar time, to understand an implementation fully enough to fix it, and no-one wants to do that, because it's a job as critical as it is thankless.
- dehrmann 5y agoI tend to use Logback for new code an the slf4j log4j bridge when an old library (usually Hadoop) likes log4j. Log4j hasn't been the first choice in Java logging for a while.
- f311a 5y agoThere are some maintainers for Postgresql that get paid. It’s a part of their job in consulting companies (they specialize in postgresql). Not sure about the other projects though.