Gentoo Archives: gentoo-user

From: Daniel Campbell <lists@××××××××.us>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: systemd and kernel developers cooperating to turn it into a global cgroup manager?
Date: Thu, 24 Oct 2013 03:48:54
Message-Id: 52689891.2000201@sporkbox.us
In Reply to: [gentoo-user] Re: systemd and kernel developers cooperating to turn it into a global cgroup manager? by "Steven J. Long"
1 On 10/23/2013 05:51 PM, Steven J. Long wrote:
2 > Daniel Campbell wrote:
3 >> Do you know the design consequences of opt-in versus opt-out? I'll keep
4 >> this short: When evolving a codebase, new behavior for core parts of the
5 >> system should not be pushed or forced on users. If you must, keep the
6 >> old behavior around as a default and allow users to try the new thing by
7 >> explicitly opting in. The new naming in whichever udev started the mess
8 >> did it the exact opposite (and wrong) way.
9 >
10 > Good luck with that argument; you have to bear in mind Gentoo devs are
11 > mostly fresh out of Uni (or still in it.) They're not very experienced iow,
12 > as a rule, apart from in Gentoo ebuilds and making the tree work together,
13 > which is all we ask of them. Oh and usually Java from Uni; they typically
14 > have a snobbery about shell as well (and doesn't it show) which is quite
15 > amusing when one considers their implementation language.
16 >
17 > (No this is not to the topic per se: it's a wider point that I had to
18 > repeat to someone recently, who apparently found the insight very useful.
19 > So I put it out there for other users, or those to come.
20 >
21 > I have zero interest in arguing the toss with anyone: you're welcome to
22 > your opinion, that's mine. You ain't gonna change it, so don't bother
23 > trying. Feel free to rant amongst yourselves. ;)
24 I know you said you won't argue about it, and that's fine. I'm not sure
25 how fair it is to broadly denigrate the Gentoo devs, though. There are
26 so many, with varying levels of experience, specialty, and education,
27 that it would be difficult to put them into a neat label box. Among all
28 the distributions out there that run Linux as the kernel, I think Gentoo
29 is probably the most compatible in terms of choices. They do a good job
30 of making sure OpenRC, sysv, systemd, runit, and others are possible on
31 Gentoo. Perhaps you know more about some of the devs than I, though. I'm
32 just a user who aspires to become an official developer to learn more
33 about it.
34
35 >
36 > The point is that this is actually why Gentoo is a very good place for a
37 > "developer" to cut hir teeth: they learn from the other users when they
38 > install, and usually come up through the forums, where if you've ever
39 > been to OTW, the difference between a personal attack and criticism of
40 > someone's work is blatantly obvious. Further they have to run any major
41 > design ideas past that same experienced user-base, who had the rough
42 > edges knocked off ages ago, and simply want it to work for everyone.
43 >
44 > They don't always see it like that, ofc, but I for one remember thinking
45 > much dumber things. [1]
46 Well, the udev behavior I was discussing isn't really the fault of
47 Gentoo devs. It was just the default for udev, as shipped by upstream.
48 My guess is the devs decided to opt for the default so those who planned
49 on using the new behavior (and/or GNOME 3.8) wouldn't have to do
50 additional configuration... at the expense of everyone else having to if
51 they wanted to retain the net.ifnames behavior. They were screwed no
52 matter what, really. Had the systemd/udev guys not created the new
53 behavior, Gentoo's devs wouldn't have had to make a decision that they
54 knew wouldn't please everyone.
55
56 >
57 >> The way the new behavior was introduced may have led users of single-NIC
58 >> systems to believe that the old way was broken, when as demonstrated
59 >> through past use, works *just fine* for single-NIC machines. It was
60 >> *multi-NIC* use that wasn't as predictive and needed the fix, not
61 >> *single*. It's basically using poor design/defaults decisions to smear
62 >> existing technology dishonestly. Technical propaganda, so to speak.
63 >
64 > Even more amusing when you consider that the original race that was so
65 > terrible it justified breaking the machines of those it was supposedly
66 > in aid of, as well as those of people who had zero use for it, yet were
67 > apparently the target market, was in fact implemented by the same set
68 > of "early userspace experts" who put themselves forward as such 5 years
69 > previously.
70 >
71 > I personally have no words to describe such a situation beyond "idiocy".
72 Pretty much agreed. Self-proclaiming as an expert has such an air of
73 egotism it's hard to take it seriously.
74
75 >
76 >> Getting back to the original topic, cgroups sound like a pretty neat
77 >> idea that other init systems could benefit from. If the systemd guys are
78 >> willing to work on that subsystem for themselves, are they also
79 >> interested in seeing what other init systems would want from cgroups?
80 >
81 > This is actually what I posted about: I know qnikst already implemented
82 > a large chunk of functionality in openrc and was concerned about the
83 > "proposed changes" mainly because as usual it was a grand statement of
84 > intent, with little in the way of coherent content. But we're spitting in
85 > the wind: you can't expect amateurs who've backed themselves into a
86 > corner, full of ego-attachment to their "work", to ever admit it's crap,
87 > or that they fscked-up. Certainly not based on the record of this team.
88 Agreed. To this day, "PulseAudio" is still synonymous with "my sound
89 doesn't work" for some people, even though Mr. Poettering no longer
90 works on it (to my knowledge).
91
92 I actually think some of the ideas in both PA and systemd have merit,
93 but the implementations are so far off base or so ambitious that it
94 becomes an all-or-nothing decision instead of the usual "micromanaging"
95 or "piecemeal" package choosing that most of us (I assume) are
96 accustomed to. So instead of making one decision at a time, choosing a
97 package of Poettering's means you're committing to more than one
98 decision. His aren't the only packages like it; one could run the same
99 argument for other projects that try to do a bit too much for one package.
100 >
101 >> Certainly there's more room for development and/or standardization on an
102 >> API instead of a single project having all the influence. I think their
103 >> presence and activity with cgroups could be beneficial if policed by
104 >> another init system project that's not trying to infect every Linux
105 >> distro.
106 >
107 > Yes one would think before embarking on such a venture they'd at least
108 > take a look at other things that also run on Linux in the same domain, such
109 > as s6, runit or openrc. But no, systemd is allowed to take them over, but
110 > no consideration can be given to those use-cases, because "this is only
111 > about cgroups." It's orthogonal, maan.
112 >
113 > You're not alone; careful though as you just get labelled a "hater" even
114 > when you've tried your damndest to collaborate with the "other side" (who
115 > are the only ones even interested in "sides") only to come up against
116 > groupthink, double-speak, and monkeys flinging poo.
117 >
118 > "You're not with us so you *must* be against us!"
119 >
120 > "No. We just do not care."
121 >
122 > "Ah you is haterz."
123 >
124 > "Bye then; enjoy the kool-aid."
125 >
126 > [1] http://www.iusedtobelieve.com/
127 >
128 To be fair, I lack the experience and knowledge in the problem domain to
129 collaborate with whoever plans on hacking cgroups. I'm just concerned
130 that other init systems may become locked out of cgroup functionality
131 until/unless they use an API that requires them to adopt a software
132 architecture/design similar to systemd's. It's dangerous, to me, to let
133 ambitious people work on core parts of a large project. They can't be
134 trusted to remain neutral to all userland software that may depend on it.
135
136 Nice link, btw. :)