Common pitfalls of a newcomer in FOSS

Mon 27 January 2014

Every year, I see a trend. On-season means prior to announcement of Google Summer of Code and off-season means rest of the year. On-season the gnome-love mailing list sees high activity with mails from newcomers, all basically asking the same damn question "where to start" and "how to start". As much as developers and now, myself have gotten annoyed or had an eyesore reading these kind of emails, you know why we react to it the way we do? Because it pricks us, the knowledge we posses readily and build on everyday without breaking a sweat, these poor souls trying to so hard to find.

So this is a post that rounds up most seen newcomer behaviours and tries to reason where it is coming from and tell how to overcome it. I am putting in simple resolutions from both developers who answer mailing lists--point of view and from newcomers--disappointed from getting curt answers point of view.

  1. "Where to start": This whole "start" culture is because we all pre-dominantly come from having Windows for a good amount of time in our lives and expect to see familiar surroundings when it comes to Linux. So where is this elusive starting point?

Mailing list readers: Point them to the idea of having to build software from source.

Newcomers: Regardless of project, regardless of what area you want to contribute in, go to the project's official website and look for "Contribute" or "Get Involved" or "Help project X" and most importantly read what you see. These pages are written to help you find you your area to contribute. It couldn't be simpler than this.

  1. "Give me an idea for x": I often see this request from GSoC aspirants. GSoC is not just about ideas. GSoC is mainly about your readiness to learn and your passion for programming + FOSS combined. So you want ideas? The sure shot way you can get ideas is by using software and learning what it lacks. So do it and then ideas will flow to you.

Do you have a entirely new idea in mind? Please consider this perspective: Accepting a new idea from you for a project means a whole lot of processes. A new idea is like a planning a new building, so think about it, think about how you start with drawing up the blueprints, feasibility of the build, feasibility of location, scalability and does just one person build a building? Designers, Builders, Fabricators, Painters and that's just a few key people involved. So now liken this to proposing a new project within a existing FOSS project like GNOME or KDE. You can only build so much in 3 months and what after that? Are you willing to continue working on it? What good is it a project if it doesn't reach people? New ideas in GSoC have low acceptance rate because after GSoC, nobody can tell you what you can work on. So in all likelyhood, abandoned GSoC projects that start off with high enthusiasm are no good to FOSS.

Mailing list readers: Ask newcomers to propose the idea and open it up for discussion on a relevant mailing list.

Newcomers: Lay the groundwork for your new idea, build a prototype or at the very least, draw a mockup with a pen and some paper and put it up for comments from developers on a relevant mailing list.

  1. "I get an error": When newcomers start using software, they often encounter errors while building software and they halt. Yup, they just freeze, they don't know what to do and when I see such posts on mailing lists going unanswered, it breaks my heart. So here is a person who managed to break past the "where to start" reluctance and people are ignoring his plea for help?

Mailing list readers: Just type in a standard "need more info to understand or resolve you issue."

Newcomers: Understand that mailing list readers trying to help you are geographically distant from you, each with varying skillset. You need to present your problem in words that make it easy to visualize your scenario and your problem reproducible on other machines. Give basic relevant information such as the software you are running, what you have done, what you are trying to achieve, what was expected to happen but what's happening instead. There is a fine line between brevity and writing a detailed mailing list post asking for help. Write concisely with the aim that you will include information that is relevant to the problem you are facing. If someone is unable to understand you, then ask "what information can provide you with to help me better?"

That's all I can think for now, will revise the post later.

Category: Internship