You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

drive-by-contributions.md 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. ---
  2. title: "Drive By Contributions to Open Source Software"
  3. date: 2020-10-11T13:58:00+01:00
  4. draft: false
  5. ---
  6. # Intro
  7. A few weeks ago an Microsoft employee made some statments that relying on email
  8. is [a barrier to entry](https://www.theregister.com/2020/08/25/linux_kernel_email/)
  9. to develop on the linux kernel. A lot of people didn't like that comment -- for
  10. whatever stupid reasons (microsoft? female? really liking email?)
  11. There have been arguments in either side. I personally liked [this](https://www.labbott.name/blog/2020/09/01/emailgateway.html)
  12. and [this](https://lobste.rs/s/0jt525/relying_on_plain_text_email_is_barrier#c_bv3txg]) one best.
  13. But I assume that most open source contributitor do not want to be long term,
  14. core members of that project. They are first and foremost users who happend
  15. to stumble upon a problem and just want to fix it. They want to a) fix that
  16. problem and right now (for themselves) and continue working on their actual
  17. work and b) save others from running into the same problem again.
  18. They are drive-by contributers, who _need_ an easy, common way to submit their
  19. issues and patches.
  20. # My contributions to other software
  21. 1. I was annoyed by thunderbird being slow to filter many mails[0] so I switched
  22. to another email client. It wasn't very stable but it was fast. It had a bug when
  23. replying to mails from an famous, not to be named, email client starting with "ou"
  24. and ending with "ook". I filed the bug but because I wasn't familiar with the
  25. language the mail client was written in I didn't send in a patch myself. but it
  26. got fixed anyhow and all was well.
  27. 2. To help people write code for embedded systems I was supposed make the emulator
  28. easier to grasp. That meant adding an GUI where you could see the blinkenlights.
  29. And because it was meant for university students it had to run on what people
  30. actually use -- windows. (If only this story had took place in 2021, the year
  31. of linux on the desktop). The emulator was almost cross platform -- there was only
  32. one linux specific path left. I filed an issue, sent in the patch. It was merged
  33. and all was well.
  34. 3. In another instance I had a bug where some customers could not be allow-listed
  35. in a popular CMS. Turns out that allowlist checked IPv6 addresses case
  36. sensitive. I filed a bug, sent in a patch. It got merged and all was well.
  37. 4. My earliest contribution to open source was in an TLS library which only connected
  38. to the first IP of an domain. I sent in a patch request, it wasn't up to the
  39. coding standart. I didn't care much, since I had my local fork. Some time later
  40. that code in the library was rewritten anyway and all was well.
  41. 5. An freelancer did large portions for $PRODUCT in my company. His code wrapping
  42. the Zend/Laminas Framework had an error where for plaintext only mails it still
  43. sent multipart/alternative which meant that no mail client could show the content.
  44. I sent in the patch, it got fixed and all was splendid.
  45. In none of these cases did/do I intent to become a maintainer. I wouldn't rule it
  46. out to become a maintainer[1] but all these projects are just building blocks used for
  47. whatever my actual job at that time is.
  48. # How DID I submit patches to these projects?
  49. Now what where the barriers of entry to each and every single one of these projects?
  50. It would be ludicrious to try and see anything meaningful for all (FOSS) projects
  51. in the world from such a small sample size, so I am only going to give my very
  52. subjective view.
  53. In all but two cases the whole communication happend on github (I will talk about
  54. github in a minute). One was the freelancer where I could do anything from writing
  55. an email, filing an issue on gitlab to just driving over to his house. The other
  56. one was a "proper" email based workflow.
  57. Many people have already stated what they think the barriers to entry are for
  58. sending patches over mail, there is no need to rehash them. Let me just say that
  59. for some misguided non-sexual fascination with masochism I wanted to learn mutt
  60. at that time and still found it hard to send in the patches. I actually practiced
  61. sending them to another account of mine first. And all that only after *finding*
  62. in outdated wiki pages where the mailing list is in the first place.
  63. For the rest I have used github (and similar). Github has by no means a perfect
  64. UX. But things like issue templates, a interface which I am accustomed from the
  65. last one thousand, three houndred and forty seven projects I checked out do help
  66. people to submit a ok-ish issue easily.
  67. # Conclusion
  68. I think the discussion about Sarah Novotny's plea/suggestion to move away from
  69. an email only way of submitting issues & patches missed the point that most
  70. projects have a long tail of single-issue contributers. I personally am one of
  71. these drive by contributors.
  72. Personally I don't think that everyone should migrate over to Microsoft owned,
  73. working with ICE github. Such an huge concentraion of basically all software on
  74. one single platform is never good. HOWEVER even with all those flaws it would
  75. solve the issue at hand: removing barriers to entry for first time contributors
  76. to open source
  77. # Footnotes
  78. [0] think an outage causing a couple hundred mails to be sent out during the
  79. night. Then as I walk into the office, hearing about the outage and opening up
  80. Thunderbird having it freeze for multiple seconds as it sorts these mails into
  81. the "cron & other junk folder". Seconds which make me very nervous as I can't
  82. start to figure out the actual incident.
  83. [1] well I shouldn't be let near the TLS Library