OSD600: Journal Entry 11/5

There’s a new feature a contributor wanted to add to the Boostrap-Slider project. He already implemented the feature on his fork and actually uses it on a commercial investment website.

Add selection CSS classes to tick labels
pull request 752

Here’s a live demo of the feature.

As you can see, the feature works. But he said he wants to merge the feature back upstream because he doesn’t want to depend on his fork, which would require having to maintain the fork in parallel with the upstream version.

The Trouble with Parallel Forks

Do you remember that discussion in class about one of the major reasons why large corporations like Apple or Google would contribute fixes and features to an open source project that they use in their own proprietary software? Well, if you don’t remember. The answer is maintenance. Maintaining a fork of a project that coexists in parallel with the main version of the project requires a lot of effort. The maintainer(s) of the fork have to periodically pull in upstream fixes and new features, while at the same time, make sure those changes don’t break any existing feature(s) on their forked version.

Plans For the Future

The feature seems to work fine. The maintainers want to add the feature into the project but they also want unit tests to be added along with the new feature. The original author said he’ll be able to work on the unit tests when he has time. The problem is that, there’s hasn’t been any progress on the pull request, since Sep 7, 2017, a little over a year ago.

I’m thinking, “Well, the person just needs some unit tests. Sounds simple.” I had recently fixed a bug and wrote some unit tests to go along with it and I actually learned more about the project than I had expected by writing the unit tests. So, I thought, “Why not?” So that’s my plan. I will lend a hand and try to get the feature merged upstream by writing some unit tests for the new feature.

So I asked one of the maintainers, Kyle, if it was possible to be able to work on the pull request so I could get the new feature merged into the project. He said that Github maintainers can actually fork a contributor’s repository and push commits to their repository. I didn’t know you can do that, so I’m going continue where the person left off and try to finish his work. (Waiting for verification…)

Issues From Hacktoberfest

There were several issues I created during Hacktoberfest that I just didn’t have time to fix them. (I lied. I did have time but they were small fixes that could be completed in a few minutes so I left the “low-hanging fruit” on the ground for anyone who was interested).

I’ve created some issues on these projects and I haven’t had the time to work on them. If there’s anyone interested on contributing fixes, that would be great.

Summary: SchedulerBot is a Discord bot to create and manage events on Discord. Built in C#.
https://github.com/pyrox18/SchedulerBot/issues/15
https://github.com/pyrox18/SchedulerBot/issues/16

Summary Bootstrap-Slider is a slider UI component built using Javascript, CSS, and Bootstrap.
https://github.com/seiyria/bootstrap-slider/issues/865
https://github.com/seiyria/bootstrap-slider/issues/867
https://github.com/seiyria/bootstrap-slider/issues/868

Well, I guess the issues were too easy so nobody wanted to work on them (except for one issue that one of my classmates decided to work on which was good.)

Latest Pull Requests

https://github.com/seiyria/bootstrap-slider/pull/872
https://github.com/seiyria/bootstrap-slider/pull/871
https://github.com/seiyria/bootstrap-slider/pull/870
hacktoberfest pull requests

Feels good, man.

One thought on “OSD600: Journal Entry 11/5

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s