DEV Community

Gustavo Tavares
Gustavo Tavares

Posted on

SPO600 LAB 01

Selecting my Repositories with different licenses.

The repos I have selected:

React – MIT license

Linux - LGPL-2.0 and others

React procedure to accept code:

React and Facebook made a code of conduct and a guide on how to contribute to their projects.
How to contribute to React.

Steps needed to Contribute:

  • Semantic Versioning:

There is patch versions for critical bugfixes.

Minor versions for new features or non-essential changes.

Major versions for any breaking changes.

  • Branch Organization:

They submit all the changes to the main branch; they don’t use separated branches for developments.

To do that they use a series of tests to make sure nothing breaks when code is accepted.

  • Feature Flags:

Breaking changes and experimental features are gated behind a feature flag.

-Bugs

Bugs can be found on Github Issues

Successful Patch

Pull 23111

First the user explained the bug. Then he needed to sign a CLA to contribute.
The user requested a review from the team.
Sizebot compared the size of this commit with the previous commit.
A member of the React team reviewed his changes and approved the PR.

The procedure to accept the code was done using github.


Linux procedure to accept code:

Specific guideline on how to contribute can be found in Maintainers guidelines.
-Test
They make clear that you should test your changes before submitting it, on as many people as possible.
Releasing Alpha versions, it into the net and wait for feedback.
Send the code to one of the maintainers so they can review it.

-Compile
They enforce to make sure the changes compile corrects in different configurations.
An example of Successful patch:
Pull 27

This is an old Patch, the user just described the bug and submitted the fix, with was accepted.
Nowadays, if an user wants to submit a PR, the KernelPRBot shows them how to do it properly.

The procedure to accept the code was done using github.

Findings:

As a newcomer, I found React repository way more organized and friendly than Linux one.

Everything was well documented, and they had a website to teach how to collaborate.

Discussion (0)