Skip to content

Instantly share code, notes, and snippets.

@cchacin
Last active August 29, 2015 14:06
Show Gist options
  • Save cchacin/f5ab6dbe423cd5ce6c5b to your computer and use it in GitHub Desktop.
Save cchacin/f5ab6dbe423cd5ce6c5b to your computer and use it in GitHub Desktop.
// Thanks Daniel Soro @dvlc_
public void contributeToOpenSource() {
boolean stillInterestedAndHavingFun = true;
int taskSize = 1; // start small!
contributing:
while (stillInterestedAndHavingFun) {
Task task = findSomethingInteresting(taskSize++);
if (!task.hasJira()) {
createJira(task);
} else {
requestToBeAssignedToJira(task.jiraId());
}
while (task.inProgress()) {
chatOnListALittleGetCleverIdeas(task, new Ideas(task));
hackALittle(task);
if (task.tooHard() || task.notFun()) {
// no big deal, try again with something else
taskSize--;
continue contributing;
}
}
File patchFile = createSvnOrGitPatch(task);
attachToJira(task.jiraId(), patchFile);
askForReviewOnList(task.jiraId());
while (!commited(patchFile)) {
try {
pokeSomethingElse();
helpOnUserList();
dayDream();
} catch (MoreThanWeekException e) {
// Asume it fell off the radar -- happens.
// Evidence we need more commiters.
bumpThreadOnList(task);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment