1 |
Effective today, December 16th, 2017 at 0800 UTC, I am resigning from my |
2 |
position as Gentoo Developer and Foundation Trustee. I joined Gentoo to |
3 |
gain experience and give back to the libre software community. In some |
4 |
ways, maybe I succeeded a little. I learned from this experience that |
5 |
I don't need to be a member of a distribution to contribute or advance |
6 |
my skills, and people will often act against their stated goals if it |
7 |
improves their appearance. It taught me how *not* to organize a libre |
8 |
software project. The few great experiences I had here at Gentoo sadly |
9 |
do not outweigh the negative experiences, and I'm no longer interested |
10 |
in beating my head against that brick wall. |
11 |
|
12 |
Here's a list of the "nothing" I've done in my Gentoo involvement: |
13 |
|
14 |
As proxy maintainer, I took on these packages to sort of "prove my |
15 |
worth": |
16 |
|
17 |
net-p2p/i2p |
18 |
net-p2p/imule |
19 |
x11-wm/fluxbox |
20 |
|
21 |
I knew nothing about Java -- and it probably showed -- but I was willing |
22 |
to learn what was necessary to get the ebuilds in better shape. This |
23 |
never changed throughout the 2.5 years I was a developer. |
24 |
|
25 |
pchrist, heroxbd, jlec, and zlogene mentored me and got me up to speed. |
26 |
I am grateful for their level of care and attention, and the effort they |
27 |
put in alongside me. My recruitment process was protracted due to real |
28 |
life, but we eventually pulled through. |
29 |
|
30 |
After I became a developer, maffblaster welcomed me to the wiki, and |
31 |
we even had a conversation over Mumble later on. I later took on more |
32 |
packages, enthusiastic to give back to a distro that I liked: |
33 |
|
34 |
app-cdr/bashburn |
35 |
dev-util/astyle |
36 |
media-sound/apulse |
37 |
media-video/smtube |
38 |
net-misc/toxic |
39 |
sys-apps/udevil |
40 |
www-servers/lighttpd |
41 |
x11-misc/alock |
42 |
x11-misc/ktsuss |
43 |
x11-misc/spacefm |
44 |
|
45 |
I dipped my hands into any bug I thought I could reasonably solve, |
46 |
and sought advice when I didn't know the correct way to do something. |
47 |
Sometimes this worked; sometimes I'd realize I didn't have the skill |
48 |
necessary, and left it to the more experienced people. |
49 |
|
50 |
Sometimes, mgorny would show up and tell me that my solution sucked or |
51 |
was "braindead", or that such-and-such solution was "common sense", |
52 |
with no explanation as to *why* it was "common sense". (this was on |
53 |
IRC, though [1] outlines where jcallen had to clarify what I hope |
54 |
mgorny intended to communicate) He didn't ever tell me what the correct |
55 |
solution was to any given problem that I might've messed up. To this |
56 |
end, his criticism served to do nothing but demotivate me. At a later |
57 |
point, when monsieurp and I were dealing with file collisions, he |
58 |
threatened to have us go through the developer quizzes again. [2] None |
59 |
of his criticism was helpful or encouraging. The key to good criticism |
60 |
is to be *constructive*, acknowledging the mistakes *AND* the successes. |
61 |
Without both, one's communication is morally destructive. |
62 |
|
63 |
[1]: https://bugs.gentoo.org/547524 |
64 |
[2]: https://bugs.gentoo.org/603526#c6 |
65 |
|
66 |
(careful, the comments might be deleted in response to this e-mail to |
67 |
save face) |
68 |
|
69 |
Later, I was nominated as Trustee by klondike. At first, I didn't think |
70 |
I could do the job. Maybe I should've listened to that feeling. But I |
71 |
felt it would be rude if I didn't accept a nomination. Nothing ventured, |
72 |
nothing gained, right? I didn't expect to be voted for. I had a feeling |
73 |
I would be laughed at and would walk away having spent the time on a |
74 |
manifesto for nothing. Reality is often stranger than fiction, and I |
75 |
found myself in a Trustee role. Given that he was only one rank below me |
76 |
in the election, I feel that klondike may have been a better fit for the |
77 |
role. I regret accepting the nomination. |
78 |
|
79 |
robbat2 mentored me on Treasurer duties, when he had the spare time. I |
80 |
felt bad that he was spread so thin between his other Gentoo duties, |
81 |
mentoring me, and being a parent. Nevertheless, I pushed forward, trying |
82 |
to fill the role as best I knew how to. Most of the time, I was afraid |
83 |
to touch anything because I understood that money was involved. I didn't |
84 |
want to make a mistake and cost us money. Because of that, I only ever |
85 |
logged into one account (Paypal), and only to gather the metadata we |
86 |
needed to update some records. |
87 |
|
88 |
mgorny again showed up; this time accusing me of being a "do-nothing |
89 |
politician". Thankfully, I kept an activity log of everything I did for |
90 |
the Foundation, and `git log --committer=zlg@g.o` will show you |
91 |
everything I did in the tree. Yes, I made mistakes. Some of them rookie |
92 |
ones. But given that I wasn't being paid for my work, and time spent |
93 |
on Gentoo meant time I couldn't spend on other things (like personal |
94 |
projects), I needed to make a value decision: was I willing to continue |
95 |
donating labor to an organization that didn't notice my work unless |
96 |
I screwed up? If I was truly as ineffectual as those who claimed it |
97 |
(rich0), what was the point of continuing? The cricitism I received |
98 |
during my time as a developer was demotivating and didn't acknowledge |
99 |
any of the *correct* things I did; how exactly was I going to improve? |
100 |
|
101 |
These questions led me to my answer: leave the organization. There is no |
102 |
point in continuing to try when I will only be berated for screwing up. |
103 |
My failures will be paraded to all while my victories go un-noticed and |
104 |
unappreciated. This is a losing proposition, leading nowhere. As such, I |
105 |
am terminating my involvement with Gentoo Linux and its Foundation. |
106 |
|
107 |
I'd like to thank everyone who helped me become a developer and trustee, |
108 |
and the two positive code reviews I received during my time as a |
109 |
developer, by Soap and floppym. They helped me understand not only |
110 |
*where* I messed up, but what the solution should've looked like and |
111 |
*why* their solutions were better. I don't think either of them really |
112 |
like me, but credit given where it's due. |
113 |
|
114 |
A developer will not progress or become more skilled unless they |
115 |
understand those key things (why, how, where). Drive-by insults and |
116 |
egotism will drive people away. Gentoo won't improve in this regard |
117 |
unless it cares enough to value what people contribute and acknowledge |
118 |
when people give constructive reviews. It takes effort from both "sides" |
119 |
of a mentorship in order to get any appreciable progress. |
120 |
|
121 |
When I reached out to members of the Gentoo community, I learned that |
122 |
there were a considerable number of users (of all skill levels) who, |
123 |
for whatever reason, did not want to go through the process of becoming |
124 |
a developer. This told me that there was an imbalance in the value |
125 |
proposition; that is, the effort spent to become a developer *appears* |
126 |
to be more work than what you get by making it through the process. I |
127 |
think this is the core of Gentoo's struggles. Gentoo will continue to |
128 |
suffer from manpower problems [3] until it figures out how to improve |
129 |
that value proposition. If higher quality recruits are desired, then |
130 |
a structured curriculum -- with smaller, focused tests along the way |
131 |
-- may be the best way to bring a recruit from "wet behind the ears" |
132 |
to "ready to commit on the toolchain". This process is important to |
133 |
Gentoo's longevity, and unless its leadership takes this social problem |
134 |
seriously, they will find themselves with more work and fewer people. |
135 |
|
136 |
[3]: Before any glib old-timer pipes up, recall that the Council (your |
137 |
leadership) just recently considered a mailing list split and discussed |
138 |
package maintenance (i.e. manpower) problems in the same meeting; I hope |
139 |
the irony is not lost on others. |
140 |
|
141 |
I expect to be laughed or jeered at by mgorny and other senior |
142 |
developers, but now it's Gentoo's problem, not mine. I've done what I |
143 |
thought I could do, and can walk away knowing that I tried. Nobody can |
144 |
reasonably ask for more than that. |
145 |
|
146 |
So long, and thanks for all the fish. |
147 |
|
148 |
(on the plus side, you can now type 'zl' and Tab in IRC to get zlogene |
149 |
instead of me :P) |
150 |
|
151 |
My Foundation activity follows. |
152 |
|
153 |
FOUNDATION ACTIVITY TRACKER |
154 |
FOR zlg@g.o |
155 |
|
156 |
2017-10-08 |
157 |
Worked with robbat2 to catch up the MoneyMarket account to match the missing |
158 |
statements from 2013-12 to 2015-12. |
159 |
|
160 |
2017-10-22 |
161 |
Edited the Foundation:Activity Tracker page with the new due date of the |
162 |
Treasurer's Annual Report with NM: 2018-11-15 |
163 |
|
164 |
2017-11-19 |
165 |
robbat2 re-encrypted the banking passwords file, granting access to online |
166 |
accounts for me to begin converting Paypal transaction data and catch up on |
167 |
other financial activity. |
168 |
|
169 |
Paypal transaction information from 20170701-20171031 was imported and |
170 |
converted using `make all` in /paypal_raw/; commit pending |
171 |
|
172 |
Corrected Ruby call in paypal_raw/Makefile to ruby22 |
173 |
|
174 |
Added a note in paypal_raw/README about requiring dev-ruby/tzinfo |
175 |
|
176 |
The meeting was postponed until Nov 26th, due to Meeting Chair's last-minute |
177 |
obligations and a shortage of trustees. |
178 |
* E-mail announcement was sent to -nfp@l.g.o |
179 |
* Wiki page for meeting updated |
180 |
* #gentoo-trustees /topic updated |
181 |
|
182 |
Convened with robbat2 on correcting the rubycsv code to include Subject: and |
183 |
Note: fields for matching accounts. He later fixed this on his own. |
184 |
|
185 |
2017-11-26 |
186 |
bug 605336; updated metadata for FOSDEM 2017 LiveDVD production reimbursement |
187 |
|
188 |
bug 591704; updated metadata for Perl Foundation donation in our loss of |
189 |
avenj |
190 |
|
191 |
wrote script to update foundation member OpenPGP key IDs to fingerprints, |
192 |
per ulm's request: |
193 |
https://archives.gentoo.org/gentoo-nfp/message/f06a3b742e06ddfcb541a822e0210e05 |
194 |
sent to trustees@g.o for review |
195 |
used one-liner from robbat2 to fetch fingerprints from LDAP to x-ref |
196 |
|
197 |
bug 638036; created bug for shadowz.in request for logo/trademark licensing |
198 |
discussion pending |
199 |
|
200 |
2017-11-27 to 2017-12-04 |
201 |
worked on two more scripts to migrate and upgrade foundation list to include |
202 |
full fingerprints (and multiple keys) |
203 |
only script remaining is wikitable creator; a user indicated it would |
204 |
be trivial to write, using awk. |
205 |
|
206 |
EOF |
207 |
-- |
208 |
Daniel Campbell |
209 |
OpenPGP Fingerprint: AE03 9064 AE00 053C 270C 1DE4 6F7A 9091 1EA0 55D6 |
210 |
Found on hkp://keys.gnupg.net and other keyservers |