Thursday, July 23, 2015

A non-coder CAN contribute to open source

I am a Fedora Ambassador. I am Linux instructor. I am an advocate for Open Source initiatives be it project management, government, code, or anything else. It drives me bonkers when someone says they are not involved with an opensource community because they "don't code".

I attended Open Source Day at the Grace Hopper celebration several years in a row. Over and over I asked if someone was going to stop by the event and was told "No, I don't code". Over and over I tried to explain the many other ways of contributing to opensource projects.

Thankfully the past few years have brought much more awareness in this realm. More and more projects have a community advocate. Conferences like OSCON promote community building, documentation workshops, and how to let people know how they can contribute. Conferences like "All Things Open" promote the idea that not all opensource is about code.

Non programmers can write docs. They can design logos. They can help with user interface design. They can test fixes or new features. They can triage bugs by verifying that the submitted report can be recreated and adding additional details, logs, or config files. Larger projects need some infrastructure support that is more administration and security compliance than Java programmer. Many people who consider themselves non-programmers do have some pretty good scripting skills and can assist with packaging for distributions.

Meanwhile many (not all) programs to enhance diversity in opensource projects (a much needed enhancement for many projects) appear to focus on the coding side of things. Girls who code, pyLadies, OutReachy, and even Google's Summer of Code. Some are more in name than content. For example I know of at least one summer of code project that was more about documentation and packaging than programming. OpenHatch on campus programs are focused on programming contributions but their database of projects looking for assistance also includes a category of bugs labels as documentation.

Additionally - and much worse - calls for more contributions that end in hashtags like #programmer or look for "non-technical" people to write docs and test code, just further alienate non-programmer contributors. I may not feel like a "coder", but I am definitely "technical" and I can and do contribute to open source projects.

I wonder how those that complain "we have too many users and not enough contributors" count those contributions?
  • Is is purely with the committer logs to the code source?
  • Do they count contributions to documentation? Or infrastructure trac systems?
  • What about (valid) bug reports?
  • The person that tests fixes, new features, or early release code AND provides feedback in crucial to a project. Are they a user or a contributor?
  • What about the person who helps out other users on a mailing list or in a chat room only a user or are they also a contributor?
  • Do the project developers really want to provide all the support and bug triaging in addition to writing the code and test suites?
What is the distinction between committer and contributor? Does it matter? Should it matter? The nature of open source is that anyone can use it without contributing back. Contributions may be the currency of open source (another OSCON quote), and suggestions, requests, and word of mouth advertising  may only be worth pennies, but they are contributions and just as important to a project as the trackable technical contributions. Once you catch and real in the interested technical contributor that can help out so much with non-programming tasks, what is to say they won't learn some programming along the way and even create a patch or even a new feature for your project in the future! Meanwhile they are doing other valuable work so programmers can code.

There were two talks at OSCON this year that I missed but by their descriptions address some related concerns:


1 comment:

Gordonbp said...

Don't believe it! The slides for "The value of the Noob" were created in POWERPOINT not does that relate to Open Source?