Open Source owes you everything and nothing

So, I might not be a community manager nor have a community background but, I'm definitely part of many communities and the ones I spend most time on, are about software.

Being part of those communities is something that has always brought me happiness and frustration but, besides of what it is like to be a community member most of the time what really matters is how to become one and what it takes to stay there.

Before we get there, remember:

Open Source owes you everything and nothing

Along that line, that might (or not) sound reasonable, I'd like to share some thoughts from my developer point of view about how tough open source projects can be and how grateful they are as well. One of the first challenges developers have to face when they're looking for new projects is the fact that choosing one of those project is already hard enough. From my experience (and maybe I just like to repeat this to myself):

There's not such thing as right / wrong project. There are projects

It is fair to like them or not, criticize them or support them but that doesn't make them good or bad, instead, what really makes them such is their quality and stability and that's something that can be worked out. Projects are already successful from the moment they address someone's needs which means that even though they don't get trillions of forks, or thousands of followers they can also be successful.

Popularity doesn't mean being successful, it just means being known

If what you're looking for is to be known I don't think Open Source fits you because working on Open Source is more about being altruist than being popular. Projects' popularity defines their impact and helps on defining their community, contributions workflow and where they should be headed, in fact, the bigger a project is the more difficult it can be to contribute to. Read about every single project you like, get to know them as much as needed to make the right choice and remember that you can change whenever you want but make sure you give the best of you while you're there. For that to happen, you probably will have to:

Calm your EGO and keep Coding

Here's the thing. Nobody cares how many hours it took you to get that thing working. If it is ugly, out of standards or simply doesn't fit into the projects' needs / goals, IT WON'T GET IN! Don't push it, don't waste more time and most important, don't feel bad about it, It happens and you're definitely not perfect. Think about what you learned from it and how you can do it better next time, stop blaming projects' core / main developers 'cause everybody knows they're arrogant (most of the time) but this is not about democracy, this is about making things right so try to make them as good as possible from the beginning and save everybody some precious time. Project's developers care about their projects not about you or them so once you'll get it, you'll realize that everything you / they did was worth it.

Everybody shows gratitude in Open Source projects...

You just have to be patient and show some gratitude as well because nobody owes you nothing and nobody said it was easy, coding out there is NEVER easy. Code as your own life depends on what you're doing, submit everything for review (even if it is not required, you'll see the benefits of it), accept what others have to say, argue with them if you don't agree (IF YOU DO, BE SURE YOU MAKE YOUR POINT) and loop this as many times as needed. Open Source projects need quality and it doesn't come from a single person, it comes from a team, capable of following rules and working together. Team up, think of what's best for the project and final users, be sure to discuss everything with the team, use every tool you've got (irc, bug trackers, source control, mailing lists), spread the word, go out there and show you're passioned about it and keep coding.

Someday, you'll become arrogant too

And you'll find out that it wasn't about being arrogant but being able of making your point with few words because you know that project more than yourself. You'll learn to listen people capable of sharing ideas, code, passion and time. Once you're confident with a specific project and you feel you know what's best for it, most likely you'd have contributed to it (or at least used it) pretty much like everyone else, so don't expect anything else than gratitude, it still owes you nothing.

In Open Source you're expected to volunteer

Nobody will ask you anything, Why should them if they barely know you? Volunteer, show yourself. It is not just about coding, it's also about designing, brainstorming, talking, spreading the word and to be part of that, you'll have to volunteer. A good start could be fixing bugs, jump out there, start assigning bugs to yourself, take the most difficult ones.

Bug fixing shows the best and the worse of every project

And It also shows some hidden features ;) Again, calm your EGO, help others doing the dirty work, understand how important it is, review other people's code and learn from others, it is Open Source anyways and it is based on freedom.

Long story made short, becoming a member of a community and staying there takes as much as you're willing to give. Everything was, is and will be up to you so, take whatever you want, stay if you want and contribute as much as you want, either case everybody will thank you and nobody will owe you anything.

Hi. I’m Flavio Percoco (a.k.a flaper87), and I’m a Software Engineer at Red Hat, where I spend my days working on OpenStack, speaking at conferences. In my spare time I contribute to Rust, write, read, surf, travel, smoke my coffee and drink my pipe.