One of my mentors who I consider him as my teacher, friend and colleague (James Michael Dupont) wrote an email which was very inspiring for me to start writing this blog (mostly pasting what he wrote), and it was about Sharing and the importance of it.
What could other people benefit from the experience you share with them and what could they learn from that ?!
As the old quote stands: “If you give a man a fish, you feed him for a day but if you teach him how to fish, you feed him for his entire life”.
Lots of things today are achieved by sharing knowledge with people around you, ideas are free to copy and that doesn't cost you anything if you write them down and put them on-line, share them on Internet and in this way contribute together with other people to make the world a better place to live in.
Finding answers to problems today is very easy, you'll only have to Google them and you'll find pretty much everything you want.
Why is it that you find the answer of your problem in Google ?
Because someone somewhere spent his time writing a blog or an article and shared his knowledge on solving the problem and he din't help only you, but he might have been helping thousands of other people who had the same problem.
When no one shares or communicates, there will be no learning in the community.
Working in Free and Open Source projects is really important to share your knowledge and progress. By doing that, as said above, you don't only help others, instead you'll creates a good image of the place you're working. For example if FLOSSK members share their knowledge and work experience during their projects, that means that people will read and share that which means people will know more about FLOSSK, they will know who we are and what we do, this might be also a good motivation for someone to help you back, someday, somehow.
We need to share what we learn and encourage other people to do so. If you spent an hour to figure out a problem, save the others time of doing the same thing and also share what you learned from doing that.
If you are a member of a project, use the mailing lists, blogs, wikis, and tell people about things you are doing. Include links and keywords, or take a moment to create your own blog on Blogger, Wordpress or Posterous etc, use twitter and other tools. Share what you are doing, give that back to the community. That is a small investment that pays off in the long run, write that stuff as if you were writing to a good friend to tell them about what you did, do so when it is still fresh in your mind, practice and keep on practicing. You can post it in English or whatever language you want, this is an important skill you will use also in your future job and also at school.
Communities are based on people working towards a common goal, and we need to help each other.
“You get what you give”, share your code, share your idea(whatever it is), share your knowledge, share your experience, share everything.
Sharing teaches and reinforces good skills and after all “Sharing is Caring”.
So many people sometimes are daunted by what they imagine is a high barrier to entry into a project, they keep saying that they would love to contribute but can't do that because they probably don't know in what project to work on or they don't have much time on working on it or probably they're not good at programming or managing stuff. Projects need contributions from everyone of all skills and levels of expertise.
Just start by joining a mailing list, following a blog, joining an IRC channel or whatever, projects don't need just coders, writing good bug reports and helping with bug triage is another option or if you are a designer, you can help from the design/user experience side, work with documentation, test a beta or release candidate of a project, localize the project in your own language if it isn't, help on marketing/promoting the project in your country, do tutorials about a specific thing for that project, create examples of how to use for example any open source tool and much more things.
There are so many projects out there for you to contribute, you can find some interesting ones below, you might maybe want to join them...
Here is also a blog that James Michael Dupont wrote some months ago related to the same topic “What can I do to help FLOSSK” but despite helping FLOSSK of course it can be used to help whatever other project.
Most of what makes FLOSS (Free Libre and Open Source Software) work is actual work, time spent making things happen for the project.
Contributing in a project will be helping you to learn lots of new stuff, you will learn by doing, bolster your CV and meet so many interesting new people (create contacts) and experience things that will be very important for your career.