“Open Source” is a development model where the source code is available to all people for use or modification. The contributors of the open source project collaborate to achieve high quality programs. Open source is a way of thinking and a way of working.
The following are some routines that are used to be done by Open Source community:
As A User Into An Open Source Community
If you have a problem or you have something to say about the project’s usage:
- Search in the project’s mailing list archive to see if someone had same problem like you. Read how they solved such problem.
- Browse the tutorials/use cases in the project’s web site/blog/wiki/…. You could find what you want there.
- Use a search engine like Google to find if there is an article/post/… that explains same issue.
- Join the project’s chat channel on the IRC network. For example the users group channel “#opensips” on “Freenode” IRC network (irc.freenode.net). You need to have an IRC client like Pidgin.
- Use the project’s user mailing list for discussions about project’s usage.
- Join the project’s group on Linkedin social network: usually the Open Source project has a group on Linkedin with the same name of the project.
- Watch the videos on the project’s Youtube channel.
- Attend conferences that the project’s member(s) has/have joined.
- Make friends from the project’s community if you can.
- Paste your configuration file somewhere on the internet to be checked by someone (e.g. GIST).
- Paste the Log file, dumps,…. somewhere on the internet to be checked by someone from project side who wants to help you.
- If you want to inform the main contributors about a mistake you have found or have an idea for a new feature, you can create an issue in the web of the repository hosting service where the project resides (Or any submission mechanism preferred by project’s members). For example If the project resides in GitHub repository service: click the Issue button–> New issue–> Submit .
As A Contributor Into An Open Source Community
If you are a developer and you are planning to make a contribution:
- Use the project’s development mailing list for the discussions about development of the project.
- Join IRC channel of the project you are interested in. This help you find the current pain points of the project so you can make a contribution.
- To clone a repository to your computer: # git clone HTTP-Repo-Address
- To connect to the original repository: # git remote add upstream HTTP-Repo-Address. upstream is the name of the connection.
- If you are a contributor and you want to make any additions, first pull the changes made by other contributors to be up to date (getting changes from the master branch): # git pull upstream master. Then you can start to change.
- If you made any changes, push these changes to your forked copy of the repository (linked copy of the original code/repository onto another GitHub account). Then submit the changes to the original. These are helpful:
- To get information about the changes you did: # git status
- To Create the difference file (‘-‘ for deleted lines and ‘+’ for added lines): # git diff
- Add the changed file: # git add Changed-File-Name
- Commit the changes: # git commit -m “Description of Changes”
- Push changes to the forked repo: # git push ForkedRepo-Name master
- Now the local files on your computer and the files on the forked copy match. Now submit the changes to be added to the original (Submit Pull request to the original repo): You can do this online in the forked repo page on GitHub website (Pull Request button).
- Create a forked repository is done online on GitHub website.
- Be updated with the latest news in Open Source world by following the experts in Twitter.