Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

How does this work?

Code Block
titleContributor.java

public void contributeToOpenSource() {

    boolean stillInterestedAndHavingFun = true;
    int taskSize = 1;
    
    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 (!committed(patchFile)) {
    
            try {
                pokeAtSometingElse();
                helpOnUserList();
                dayDream();
            } catch (MoreThanAWeekException e) {
                // Assume it fell off the radar -- happens.
                // Evidence we need more committers.
                bumpThreadOnList(task);
            }
        }
    }

}

Be Brave

Don't assume everything has already been discussed a million times and you're the only one who doesn't know and so you shouldn't bother anyone and should just figure it out on your own. That thinking is your enemy. Don't do that or you will get nowhere ... very slowly. So slowly that now you feel you really can't ask about it because surely everyone assumes you know it or have done it by now. That thinking is a terrible trap. Ask questions. Post your thoughts.

...