8 ms·
Honestly, yes, imagemagick is such a ridiculous dependency for everything.
by WrtCdEvrydy 6y ago
Honestly, yes, imagemagick is such a ridiculous dependency for everything.
- Tade0 6y agoAnd at the same time its bus factor is 1.
- AceJohnny2 6y agoWhy is GraphicsMagick [1] not a more popular alternative? [1] http://www.graphicsmagick.org/ http://www.graphicsmagick.org/
- ashtonkem 6y agoSame reason any legacy dependency remains; the cost of replacement is higher than the cost of maintenance.
- AceJohnny2 6y agoIt's meant to be a drop-in replacement, the cost of replacement should be negligible.
- yareally 6y agoThere probably still exist some weird edge cases introduced by imagemagick that the developer(s) behind graphicsmagick haven't accounted for. That is, should graphicsmagick account for quirks introduced by imagemagick? If it's meant to truly be a drop-in replacement versus one with some strings attached, I would say the answer is yes. Otherwise, you can't easily just drop it into a system and let it run. Systems built with libraries around long enough as imagemagick likely have all sorts of workarounds built in over the years for that kind of behavior and any deviation from imagemagick might break things more than one expects. We've all been bitten by libraries that claim backwards compatibility with previous versions, only to find out there's breaking changes in some non-trivial use cases the library devs didn't consider. Add those complications on top of switching to a library that is supposed to be a drop in replacement and it can get pretty messy for what seemed like a trivial task.
- wtracy 6y agoBoth projects are moving fairly fast, and regularly adding new features that are not shared. The last time I made heavy use of ImageMagick/GraphicsMagick, I was suprised how often I would find a feature present in one and not the other (often things like drawing gradients). And it's not like one has a superset of the other's features: I once painted myself into a corner and created a project that depended on both ImageMagick and GraphicsMagick.
- LeoPanthera 6y agoFormat support lags. For example, it does not currently support HEIF.
- arthurcolle 6y agoalmost nothing supports HEIF. consider: most state-run web apps that need an image upload for personal ID images, or anything else. Ugh, this happens frequently for me and just frustrates me to no end. EDIT: I suppose this is why you're saying ImageMagick is king right now.
- LeoPanthera 6y agoWell, yes. It happened only recently, but ImageMagick does indeed support HEIF. :)
- shmerl 6y agoIs it a fork?
- runxel 6y agoNever heard of it either, but the homepage provides some info: > GraphicsMagick is originally derived from ImageMagick 5.5.2 as of November 2002 but has been completely independent of the ImageMagick project since then.
- js2 6y agoI would go with sqlite, curl, zlib, or libpng. https://www.sqlite.org/mostdeployed.html https://www.sqlite.org/mostdeployed.html https://ec.haxx.se/curl/curl-users https://ec.haxx.se/curl/curl-users
- lmm 6y agoThose all do well-defined, well-understood things; they could be replaced relatively easily, and subjectively they "feel" pretty solid. ImageMagick is a complex thing full of subjectively flaky perl and it's not at all clear which things are and aren't supported by it. I'm a lot more worried about ImageMagick breaking than any of the things you list.
- jacquesm 6y ago> they could be replaced relatively easily That's leaving a pretty big loophole there and in the case of SQLite you'll need that. To re-create something that solid will take a lot of effort.
- deleted 6y ago[deleted]
- WesolyKubeczek 6y agoI keep a nice bottle of red just to celebrate the day I rip ImageMagick from the guts of the project I’m working on.
- jjcm 6y agoAs someone who's just now building imagemagick into a system I'm working on as a major dependency, what issues have you had with it?
- WesolyKubeczek 6y agoI have that issue that it's an overkill for just resizing images (which is what we're using it for; previously it might have had more uses, but now is reduced to this). Also, it gets patched for security often. Like, really often. Maybe more often than it feels comfortable to update. Then, there are major incompatibilities between versions 6.9.x (which is what is even in the latest Fedora, likely other distros as well) and 7.x (which is probably what's sane to use in this day and age). Which means that to use 7.x, you're likely to have to roll your own and tuck it in its own LD_LIBRARY_PATH. That hurts. The cherry on top in my particular case is PerlMagick. It's not installable in any way other than with the ImageMagick itself. You cannot have just Perl modules, which you "perl Makefile.PL && make && make install". When you see separate packages for ImageMagick and PerlMagick in your distro, it means that the maintainer has compiled the whole ImageMagick, then torn it apart. A corollary to that is that PerlMagick is tied to binaries it came with real tight, and updating one means updating the other most of the time. Then again, it's very likely that you use some other bindings to ImageMagick and my pain is not like your pain.
- sanderjd 6y agoYep, a big bundle of hard to compile code written in an unsafe language.
- walrus01 6y agoI agree using imagemagick to resize images is ridiculous overkill, that's using something like 0.01% of what it's capable of... But then again we also use groupware/chat programs these days that occupy more RAM on the workstation OS than the entire amount of physical RAM in all of the BSD/Linux servers of a mid-sized ISP 18 years ago.
- PaulDavisThe1st 6y ago"Honey, can we upload some new photos to my website?" [ tech spouse takes a look at the image set ... rotated, various sizes, even different formats ... reaches for convert(1) and wonders why non-tech spouse can't do this easily ]
- gpvos 6y agoI still prefer netpbm, much leaner.