DEV Community

Smit Gabani
Smit Gabani

Posted on • Updated on

SPO600 Lab 1: Open source contribution and how they work.

Two open-source software packages I know of are jQuery (MIT Licensed) and VLC Media Player (GNU General Public License).

jQuery uses Source Code Management system (distributed version control) for a master version. The project is hosted on Git and contributors can use GitHub to use contribute to the software.
The steps for any patch are:

  1. Filing an issue (with proper description).

  2. If you want to contribute to the issue, you filed or any other issue you can create a fork. Fork is type of a copy of the repository you can work on.

  3. Once you have made the necessary changes you can submit a pull request.

  4. The pull request will be reviewed by people responsible for maintaining the repository (software code).

  5. Once the contributor is sure that your change will not cause any bug in the software he/she will approve your pull request.

  6. If you are contributing on a repository for a long period you should sync your fork with the current version of the repository.

Image description

The Issue: https://github.com/jquery/jquery/issues/4859

This is the pull requested submitted for the issue. This is shown in the same page.

GNU has a different process for contribution:

Each patch can be made if you submit a email for the patch.

Each patch has some requirements.

A description of the problem/bug and how your patch addresses it.

For new features a description of the feature and your implementation. For bugs a description of what was wrong with the existing code, and a reference to any previous bug report (in the GCC bug tracker) and any existing testcases for the problem in the GCC testsuite.

Testcases

If you cannot follow the recommendations of the GCC coding conventions about testcases, you should include a justification for why adequate testcases cannot be added.

ChangeLog

A ChangeLog entry as plaintext; see the GCC coding conventions and GNU Coding Standards for further information.

The git gcc-commit-mklog command from gcc-git-customization.sh (see here) automates a lot of ChangeLog generation.

Bootstrapping and testing

State the host and target combinations you used to do proper testing as described above, and the results of your testing.

The patch itself

Do not include generated files as part of the patch, just mention them in the ChangeLog (e.g., "* configure: Regenerate.").

My opinion on both contribution process.

I think the method used by jQuery contributors is more effective as the many contributors can work on the repository at the same time. The system used by GNU is not as much effective as not many contributors can work on the same issue on the same time.

Top comments (0)