Diary of a Drive By Coder
Tips and Tricks for working with Upstream
Open Source Advocate
Android (Cyanogenmod) OpenVPN support
Sipdroid pluggable Codec support
libical timezone fixes
Various evolution fixes
TPM enabling and fixes
Building long term community relations
Becoming a member of a particular community
Instead it's about fixing/enchancing one specific thing in a project
Hence the term Drive By.
Great stereo speaker and conference call speakerphone
But the speakerphone doesn't work in Linux
Actually a pulseaudio problem with HFP vs HSP
I wrote the code to make it work
Our Code vs Your Code
can we maintain it?
are you worthy?
Our Code Communities always most unwelcoming to drive by
But Your Code communities will be suspicious of the maintenance burden
First Pulseaudio patch set published 1 August 2016
So do code changes
but eventually everything fizzles out
except for a mention on the pulseaudio status page
"Being able to use HFP headsets without oFono would be nice, and James Bottomley has submitted patches for that: 1, 2, 3, 4. The patches need still some work, help with finishing them would be appreciated."
Another repost 20 September 2017
This time I've polished up the code and fixed bugs in the original protocol negotiation
Next objection is the ofono people don't like it
After fixing that we get into arguments about how the patch series should be split up
And everything fizzles again.
they don't like the code, I don't know why.
Problem is actually an API bug
openssl has three separate APIs for loading keys where it should only have one.
Can't be fixed without admitting the API mistake
Finally get the ultimate death knell
"One of our trusted committers has a speculative API which isn't upstream but which you should use."
An invitation to you to complete a feature they haven't written yet to get your code upstream.
At Kernel Recipes in Paris Werner Koch (gnupg maintainer) asked me about TPMs
Result was an agreement to code a TPM module for gnupg 2
Showed prototype in-person at FOSDEM this year
Result is a 'tpm-work' branch in the gnupg tree
Note: not upstream yet, but definitely upstream track (assuan)
Drive by coding for the kernel, when you're me, is quite easy
I've done a lot of TPM work including a chunk of the in-kernel resource manager
Still, not all plain sailing:
one variable declaration per line
Reverse Christmas tree
Prior reputation helps a lot
But only if the community respects it
So be careful which communities you join