On 9/12/23 3:47 PM, Eddie Chapman wrote: > Andreas K. Huettel wrote: >> The eudev experiment has failed. >> * It was false labeling from the start.[*] >> * It's barely alive and not keeping up with udev upstream. > > Why does it have to? It is advertised as a fork after all.
It provides libudev.pc; this means that it is either engaged in deceptive and malicious false advertising, or... ... it is intended to provide compatibility with udev. Hint: it is intended to provide compatibility with udev. But, it does so with an OLD version of udev. Other projects throughout the Linux ecosystem may depend on libudev.pc to provide API services; they have the right to use the advertised API of libudev.pc (and depend on a suitable version of it), but eudev cannot fulfill this contract as used by projects which e.g. use the sticky-tags API. Thus, eudev is failing its goal to be a compatible replacement, because it is not keeping up with udev upstream. >> * It's effectively unmaintained in Gentoo. > > That could change. Isn't that why a last rite comes with 30 days notice? Your question is a fallacy. Why are you pretending that the person you are replying to has claimed it isn't going to change? The person you are replying to is describing the current state of affairs that led to the last rite. Who are you arguing against? >> * You don't gain anything from using it instead of udev. >> (Nobody does.) > > Is there only 1 tool for the job? Why do we have both the OpenIPMI and > ipmitool projects, both curl and wget, chrome and firefox. Wouldn't it be > better if we just choose one of each of those pairs and concentrate on it? This isn't a fallacy -- it has progressed onwards and is now a mendacious, twisting attempt at deception. For the benefit of other people reading this discussion -- Firefox and Chrome are vastly different programs, providing vastly different tools, that both share a fairly vague, general domain (open web pages). wget and curl, or openIPMI and ipmitool, are less extreme examples of this general concept: they are different tools taking different approaches to perform a somewhat more specific task, with pros and cons of each approach. eudev does not provide distinct functionality, which leads us on to... >> >> So why should anyone put up the effort to package it? > > Same question for the above choices and plenty of other examples. > > What's wrong with having an alternative purely for competition? > >> [*] Take something out of the systemd tarball, reapply every commit, >> make tiny changes so it looks different, > > That's basically how most forks start isn't it? There are two problems with this statement. The first is that it's wrong, that's not how most forks start. The second is that you used the word "start", without perhaps realizing that starts usually come with an afterwards that is distinguished from the start by not being the start. But let's discuss what it means to fork software. There's a few different reasons why a software project might fork: - the maintainers of the project lost (or never possessed) legal control over the trademark to some corporate interest, and "fork" their own project to a new name due to abuse against users by said corporate interest, in order to reform the community and carry on their operations as normal. Examples: Sun OpenOffice.org -> LibreOffice. In non-software, Freenode becoming Libera.Chat - a project dies because its sole maintainer(s) disappear and cannot be contacted or are unresponsive w.r.t. the project. The community forks, changes its name, and arranges a new development team to "carry on the torch" in memory of the old project. Example: TrueCrypt -> VeraCrypt - a project has some end-user functionality proposed, and rejected. The people who want that feature decide to make their own project, based on the first project but with all their favorite features instead of the first project's favorite features. They take the codebase and start making lots of changes to implement end-user functionality which they enjoy, and and the first project makes lots of changes that *they* enjoy. Rapidly, it becomes increasingly difficult to find changes from one that are relevant to the other. Example: gnome vs. cinnamon desktop - a project changes in ways that some users are unhappy about, and those users create a fork that's exactly the same as the first project, but "with X removed", and which regularly syncs with the first project to retrieve desired features while excluding undesired features. The third case is what most people think of when they talk about forks. eudev is the fourth case, as its stated goal is to be "a fork of systemd", with the motivation of "isolating udev from [...] systemd". eudev lacks mission independence, its driving goal is to accomplish the same aims as systemd-udev except modularizing it well enough that it is neutral regarding the init system you are running as pid1. To this end, it exposes the udev API, udev files, udev soname, udev programs and manpages... eudev is also *failing* to be a good example of the fourth case, because having achieved "with X removed" it went a bit into stasis. There's a few other issues to unpack here, it just doesn't end: On 9/12/23 5:23 PM, Eddie Chapman wrote: > You really are on a slippery slope if you're going to insist that someone > "ought" to use a certain software, that there is no advantage in using an > alternative and therefore you shouldn't. Also, people choose alternatives > for entirely non-technical reasons which are valid. These might be > political, license, or they just like the author or community of one > project better than another. Microsoft Office is probably a better office > suite technically and feature-wise than Libreoffice, yet many people use > Libreoffice instead. That doesn't mean Libreoffice users are "just plain > wrong". Why do we have so many Linux distributions if they all offer > largely the same set of software? Why use Ubuntu over Debian or vice > versa? What's the point of openrc? Which is better GCC or Clang/LLVM? I think it's very easy to throw around terms like "slippery slope" without having any real backing to it. The original objection that "there is no advantage" to an alternative was quite straightforward: the lack of advantage is because they are in fact the same codebase, except eudev is missing some commits. It is not "an alternative to udev", it is "an alternative git repo providing the same old udev". This makes a big, big difference. There's no technical reason to prefer eudev over systemd-utils[udev], they are the same technical codebase. There's no licensing reason, both use the same licensing. There... is a political reason to choose eudev, and that political reason is "the word systemd makes me mad, and I do not want to have a program on my system which has the word systemd in it, please fork the software in order to remove the word systemd so that I can use it". This is definitely a non-technical reason. It is not a *valid* non-technical reason. Comparing this to Microsoft Office vs. LibreOffice is... not an honest attempt to engage in mailing list discussion. Among the many technical reasons to choose between the two, Microsoft Office is not open source and it doesn't run on Linux, so you do not in fact have a choice to use Microsoft Office at all. Similarly, the differences between distros are vast, even the differences between Debian and Ubuntu. If nothing else, they provide different software, in addition to some common software. So are the differences between GCC and clang/LLVM, most pointedly when you consider dialect differences: some programs will only compile with one, some only with the other. Please. Explain to me what functionality only works with eudev. I already know what functionality only works with systemd-utils[udev]. On 9/12/23 6:35 PM, Eddie Chapman wrote: > Ok granted, as of right now eudev has not added any value as it has simply > forked, made some small changes but essentially does the same job. > However, again you're missing the point, there is a very significant > number of users who for subjective/political/whatever non-technical > reasons want eudev instead of udev. These are valid reasons, and before > you try and argue they are not examine your own software choices and ask > yourself if you always choose something entirely on technical merit. Okay, so now we all (hopefully) actually agree that eudev is strictly a subset of systemd-utils[udev] rather than an overlap, but... ... you're still arguing "it doesn't matter"? Why should *anyone* care about "a very significant number" (citation needed) of users that have political reasons? Why are political reasons to want the package atom called "eudev" without the "systemd" word inside, a valid grounds for imposing additional work on volunteers that haven't asked for it? I dispute your claim that "subjective/political/whatever non-technical reasons" are *valid* reasons. I challenge your challenge that I can only argue this after examining my own software choices: I don't choose my software based on whether the word name of a project I politically dislike appears in package atoms, therefore I am consistent and have the moral right to argue against doing so in the specific eudev case. I am not being two-faced and objecting to politically motivated shunning of the systemd-utils[udev] package due to personal biases in favor of systemd while engaging in my own politically motivated shunning. We good? > And, to be honest, eudev does not *have* to do anything different. If it > provides roughly the same functionality as udev (minus new APIs) then it > serves its purpose and is good enough for those users who use it. There > are many examples of alternatives of one software or another that provide > roughly the same functionality and yet we don't discard one of them simply > because it is not adding features that make it subjectively better than > the other one. Considering the large number of bad comparisons going on in this thread, I would like to highlight this "does not have to do anything different" with yet another comparison. I like ebooks and have frequently used the app-text/sigil program. It does build with cmake however. I dislike cmake and don't want it on my system, because something something politics and trying to force Windows workflows on developers. So I would like to fork the software and add an autotools or meson build system for it, and call the new package app-text/esigil. I demand that the Gentoo developers package it, so I can rid my system of the nasty "cmake" word. (If this proposal is successful I can extend it to other packages as well.) Note that esigil provides no functionality that sigil doesn't provide. It is older, because I have to manually cherry-pick commits and disentangle the "cmake" word, and I don't cherry-pick every commit because not all of them are relevant to my use case (there are some components I just dropped). Also sometimes it's hard to backport patches because I have to rework them to still apply, so I don't necessarily bother. However, it's totally valid software, choice is important and alternatives make for a healthy ecosystem, so please keep "esigil" available. There is a very significant number of users using it (sorry, I can't provide citations for this) and anyone who argues against the package is obviously a Microsoft shill because why else would they advocate for a *cmake* project? -- Eli Schwart