Fresher to Expert

Knowledge sharing

Today people across the globe collaborate through internet. You can share your idea or queries in different forums and people from different parts of the world. In this chapter we are going to discuss about few of the resources you can use for sharing the knowledge with others.

Mailing lists

Every open source project normally comes with a mailing list. Mailing list is just a common email address that you can send mails or receive mails from the group of people.

Mailing list is a group mail. You can subscribe to this group mail. The following are few of things you can do with them

  • You can ask questions about the project
  • You can view other's questions
  • You can answer to other's questions
  • You can put forward new development ideas for the project

So if you have doubts on specific feature of a project, it's mailing list is the best place to ask. By doing so you will become more familiar with the project, you can also help other's by answering their questions.

Mailing lists are not just limited for Q&A. They are also used for proposing new changes and voting for the releases. So if you have a great idea to improve project, you can propose your idea in mailing list. If other members of the community are keen on the feature you propose, it will be accepted.

There will be different mailing lists for a given project. There will be dedicated mailing list for users, developers and committers of the project.

The following are few of mailing lists you can start with. Just google "project mailing list" to get mailing list of any specific project you are interested in.

Groups

Mailing lists are based on email. Though email is great for communication, it poses few of below challenges

  • Too many emails from the project clutter the inbox
  • It's hard to search for previous queries
  • Difficult to follow a long running conversation
  • Difficult to link to the conversation

To overcome these challenges, few open source projects use something called Group.

Group is a website where you can create/join a group for specific project or topic. Groups are almost same as mailing list with a difference of dedicated website which solves the above mentioned challenges. Few of examples for Group sites are Google groups, Yahoo Groups

The following are few of the interesting groups to start with. Again google will be your best friend to find more groups.

IRC

Mailing lists and groups are great for passive communication. But what if you want to discuss about project like a chat. Then IRC channels are the right place to go.

IRC stands for Internet Relay Channel. It's a group chat service where people who are interested in a given project, can virtually hangout and communicate.

One of the advantage of IRC over mailing lists and groups is, it doesn't need any login. You can choose any pseudonym and use the irc channels.

If you want to know more about irc and how to use it refer this , an excellent guide.

The following

Stackoverflow

All above mentioned tools are generic communication tools which are specific to a project. But if you are looking for Q&A website which covers all different kinds of project, then stackoverflow [http://www.stackoverflow.com] is your friend.

You may already know stackoverflow. Whenever you search for specific programming question on google you may have ended up in stackoverflow. But what you may not know is that each project has dedicated stack overflow section where you can get answer to your question faster than Google.

In stackoverflow, you can ask a question or answer for a question also. So from now start searching in stackoverflow.

Social networks

You may have used different social network like Facebook,Orkut to share photos and be in touch with friends. But there are other social networks out there where you can follow the rock stars of the programming. Twitter and Google plus are two of such social networks. Using these networks you can get in touch with the people whose work you admire.

The following are few of the people you can start with.

So now you know different avenues to ask questions and answers other questions. Be on top of those resources. They will be extremely helpful to share ideas and queries.