1 |
On Tue, Oct 31, 2017 at 10:22 AM, Rich Freeman <rich0@g.o> wrote: |
2 |
> Me, earlier the same date, writing: |
3 |
>> P.S: Just a thought: make every developer an automatic member of a |
4 |
>> QA project, with a goal of getting proposed patches reviewed within |
5 |
>> 90 days of being submitted. |
6 |
> |
7 |
> It is hard to reconcile time limits with volunteer efforts. If |
8 |
> somebody doesn't close a bug in 90 days for a package for which |
9 |
> they're the sole maintainer, do we remove the package from the tree? |
10 |
> If a user submits a bug do we end up punishing them by removing their |
11 |
> favorite package entirely because it has an unresolved bug? |
12 |
> |
13 |
> A lot of rules/incentives/etc end up not working the way you might |
14 |
> expect them to in a volunteer project. You'll quickly be confronted |
15 |
> with cases where the rule wasn't followed, and then you have to decide |
16 |
> what the recourse actually is, and often your only practical options |
17 |
> are ones that are worse than the problem they were intended to fix. |
18 |
|
19 |
TL;DR: More commentary about attitudes of some FOSS developers in |
20 |
recent times, and some history about init systems, sort of |
21 |
autobiographical. And finally, a tentative proposal for a position |
22 |
somewhere between a developer and an outsider involved with the |
23 |
community. I apologize that it is too long. |
24 |
|
25 |
Well, I understand this, but this is one of the things that bothers me |
26 |
about recent Open Source development. I came up through the "pioneer |
27 |
days" of computing, and, when proprietary stuff wasn't involved, |
28 |
sharing, cooperation, and getting stuff done "soonest" was a general |
29 |
principle. On USENET (before the Eternal September) being timely and |
30 |
making and meeting commitments was expected behavior. Yes, the people |
31 |
were volunteers, and did things as they had time for them; but they |
32 |
felt a dedication to being professional in all their programs, free or |
33 |
paid. Linux itself emerged in this manner, the GNU userland emerged |
34 |
from a similar background. The programmers felt a commitment to |
35 |
providing a good program, and in responding to suggestions and |
36 |
constructive critique. |
37 |
|
38 |
In the last decade or so, a new crop of FOSS programmers has emerged; |
39 |
they do the programs to suit themselves (or their employers if they |
40 |
are fortunate), but they don't really give a damn about the users |
41 |
outside of their immediate concern, they do what they want - whether |
42 |
or not it has major ramifications on a whole operating "ecosystem" |
43 |
(such as forcing users/admins/etc to rearrange how they have major |
44 |
part of their systems setup by ignoring standards and rationale that |
45 |
says 'all programs necessary to boot the system should go on the root |
46 |
filesystem' - by putting their stuff on /usr/... so that root now has |
47 |
to be merged with /usr, or they have to change how their machines boot |
48 |
by using a new and esoteric kernel addition.) [In terms of this "civil |
49 |
war", I was told explicitly by the writers that they didn't care about |
50 |
the 'suggested standard' - they put it where they wanted it, and if an |
51 |
admin didn't want to depend on /usr being mounted at early boot (or an |
52 |
initrd image with their stuff on it) they could dig in and change the |
53 |
way it compiles and installs (as well as fix up all the hard-coded |
54 |
references!)] |
55 |
|
56 |
And a lot of other FOSS developers explicitly supported that attitude |
57 |
- "you're lucky we decided to make it available at all, if you don't |
58 |
like it: write it yourself." Yes, I *could* write it myself if I had |
59 |
the ability to devote my full time to producing a competing system. I |
60 |
should not have to. What they have produced it actually quite a nice |
61 |
invention, but it is, in my not so humble opinion, too large, too |
62 |
intrusive, and requires many other programs to adapt to their way of |
63 |
doing things or else. The Gentoo USE flags for their way are scattered |
64 |
all over the place in our ecosystem. The old UNIX philosophy of a |
65 |
'program should do one thing - and do it well' with the ability to |
66 |
"pipe" the output of one program to another and another... has gone |
67 |
right out of the window. |
68 |
|
69 |
I will admit to having a bias much in favor of the OpenRC methods. |
70 |
OpenRC adheres to the precepts of the original System 5 UNIX method of |
71 |
trying to be a capable as necessary without letting "feeping |
72 |
creaturism" destroy the elegance of the solution. When writting |
73 |
SysVInit (actually for System IV in 1981 - an internal development |
74 |
version at Bell Labs) we spent a lot of time scratching our heads to |
75 |
come up with a way to programmaticly solve the deep problem of getting |
76 |
the order of service activations correct. The limited processor |
77 |
speeds, the limited memory sizes and lack of mathematical methods |
78 |
developed years later, caused us to "punt" the problem to the best |
79 |
processor for the task at the time - the human mind. With a bit of |
80 |
practice, admins could come up with the proper sequencing much faster |
81 |
than any computer of the era. We worked hard to keep the init system |
82 |
out of the way of the other programs that it was responsible for |
83 |
starting, and out of the way of the user at the keyboard. We did ask |
84 |
for and got a small change/enhancement to the Bourne shell - a way to |
85 |
change the input and output connections of a shell program. These |
86 |
days, OpenRC uses techniques we didn't know about to allow each |
87 |
startup script to specify the services it depends on and what it |
88 |
provides, and then to solve the sequencing needs, and store the |
89 |
results for use. Each script did one setup phase, and did it well; |
90 |
then it handed control back for the init process to do the next phase. |
91 |
It stayed out of the way otherwise. |
92 |
|
93 |
So, you see, I did write major pieces of the SysVInit suite. There is |
94 |
an extreme distaste in my soul left from the attitudes and invective |
95 |
hurled by the developers and supporters of the latest major init |
96 |
system around the time of its introduction. Their attitude of 'we |
97 |
don't care about standards', 'so you have to totally rearrange you |
98 |
partition allocations - tough', and 'if you don't like it go write one |
99 |
yourself.' I retired on disability 10 years or so ago, I lost my wife |
100 |
and best friend 6 years ago, and am aging in place in the community. I |
101 |
have time, I have skills, but I need a fair bit of managerial |
102 |
attention to keep my days in order. I can contribute just as much at |
103 |
this point using bugzilla, and I don't really want commit access, and |
104 |
I apologize for calling the Council inbred. But it would be a sign of |
105 |
respect and/or honor to be able to be called something like an |
106 |
associate developer with a voting privilege (maybe) and thus be able |
107 |
to join teams to contribute more actively. I probably would not |
108 |
require anything more than a relay @gentoo.org address, no blogs, no |
109 |
personal directory trees or webpages, maybe a directory space for |
110 |
uploading large bits of code when needed. Is it worth considering? |
111 |
|
112 |
Just another too long commentary. |