Leeeeeeeroy Jenkins!
Loosely Typed in Ohio

Open Source, Software GitHub Saves The Day

In the dark times (a few years ago) if Innova decided to make use of a third-party library that had bugs, we essentially had three options:

  1. App-specific workarounds: sometimes feasible, sometimes not
  2. Local modifications: wherein we dork around with the library code on our end, fix the bugs, and then maintain our own separate branch of the library. These made merging in new changes from upstream fun (in that why was I programmed to feel pain kind of way).
  3. Find/Write a replacement: You’d be shocked at how often we didn’t do this. Or, alternatively, underestimated how difficult a particular issue is.

In the last few weeks alone, GitHub’s changed that. Now, the libraries I want are on GitHub as rubygems or PHP tarballs or what have you. And when we encounter issues, the process is smooth:

  1. Fork project. GitHub has a button for this.
  2. Get our fork, make local changes, commit and push up to GitHub.
  3. Send a “pull request” to the original author to let them know we have patches that they may want. GitHub has a button for this.

My contributions are available for whoever wants them.

Now, if the original project checks in a few bugfixes I want, I can cleanly merge them in and keep my local fixes. And if upstream wants my fixes for the “canonical” repository for a project, then they’re welcome to them whenever they like. Git makes the magic happen, and GitHub makes the magic ridiculously easy.

How the hell did we develop software before this?

Close
E-mail It
Socialized through Gregarious 42