You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Hao Lieu <ha...@gmail.com> on 2011/05/26 05:53:11 UTC

becoming a contributor

hello,

just got on board and looking to eventually contribute to the project,
curious...

what's the expected progression from newbie to active contributor?
what's a typical timeline?
what do newbies typically do on an apache project before they become
contributors?

have to admit, my work has not been particularly challenging in terms of
keeping up with java,
been working with java for 3 years now and thought it'd be a good time to
turn it up.
so what are some of the more useful technologies and frameworks i should get
familar with?

i've used spring di, hibernate, jsf, websphere;
played a little with spring aop, ibatis, jboss.

btw, got m2, svn and built the openejb3 branch.
took me a while, new to maven and svn.
felt good to accomplish that.

hao

-- 
H

Re: becoming a contributor

Posted by Mohammad Nour El-Din <no...@gmail.com>.
On Thu, May 26, 2011 at 8:58 AM, David Blevins <da...@gmail.com> wrote:
> Hi Hao!
>
> On May 25, 2011, at 8:53 PM, Hao Lieu wrote:
>
>> hello,
>>
>> just got on board and looking to eventually contribute to the project,
>> curious...
>>
>> what's the expected progression from newbie to active contributor?
>> what's a typical timeline?
>> what do newbies typically do on an apache project before they become
>> contributors?
>
> Wish I had any UML skills, I'd make a flow chart :)  But basically:
>
>  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(patch)) {
>         pokeAtSometingElse() || helpOnUserList() || dayDream();
>
>         if (moreThanAWeek()) {
>            // assume it fell off the radar, happens
>            // evidence we need more committers
>            bumpThreadOnList(task);
>         }
>      }
>  }

Geeky :P

>
> After a while when people feel comfortable with you as contributor, they vote you in as a committer and ... big surprise ... there's almost no change in the daily routine.  You get access to svn and pretty much everything else stays the same.  Instead of submitting patches, now you have to help review them and commit them.  Instead of learning how to contribute to an open source project, now you have to learn how to help others get involved.  And of course it doesn't happen all at once, you never stop learning these things and you never stop wishing you had more time.
>
> No one cares how much code you can write or how fast you can write it.  We all just contribute what we can when we can and there are no expectations on how much, how often, or where.
>
> It's very much about the journey and there is no real end as long as you're having fun and learning.
>
> Here are some tips on ensuring you always have fun:  https://cwiki.apache.org/OPENEJB/contribution-tips.html
>
> I think I'm going to have to put that contribution pseudo code in there to.  That's kind of cool.  Wish I had thought of that earlier!
>
> Probably finding something to do when you do have time is the hardest part ... that never changes.
>
>
>> have to admit, my work has not been particularly challenging in terms of
>> keeping up with java,
>> been working with java for 3 years now and thought it'd be a good time to
>> turn it up.
>> so what are some of the more useful technologies and frameworks i should get
>> familar with?
>>
>> i've used spring di, hibernate, jsf, websphere;
>> played a little with spring aop, ibatis, jboss.
>>
>> btw, got m2, svn and built the openejb3 branch.
>> took me a while, new to maven and svn.
>> felt good to accomplish that.
>
> Awesome.  You were lucky enough to get in there when we had no build failures :)  Future note, someday you will cause them too, it's ok :)
>
> Maybe play around with the examples a little.  Some of them are pretty cool.  There are a few gems I would recommend:
>
>    simple-stateless
>    simple-stateful
>    simple-singleton
>    simple-mdb
>
>    async-methods
>    schedule-methods
>
>    injection-of-env-entry
>    injection-of-ejbs
>    injection-of-datasource
>    injection-of-entitymanager
>
>    testcase-injection
>
>    testing-transactions
>    transaction-rollback
>
>    testing-security
>    testing-security-2
>
>    simple-webservice
>
> (side note to Karan, this list would be good stuff for the future 4.x section of the website)
>
>
> -David
>
>



-- 
Thanks
- Mohammad Nour
  Author of (WebSphere Application Server Community Edition 2.0 User Guide)
  http://www.redbooks.ibm.com/abstracts/sg247585.html
- LinkedIn: http://www.linkedin.com/in/mnour
- Blog: http://tadabborat.blogspot.com
----
"Life is like riding a bicycle. To keep your balance you must keep moving"
- Albert Einstein

"Writing clean code is what you must do in order to call yourself a
professional. There is no reasonable excuse for doing anything less
than your best."
- Clean Code: A Handbook of Agile Software Craftsmanship

"Stay hungry, stay foolish."
- Steve Jobs

Re: becoming a contributor

Posted by Jean-Louis MONTEIRO <je...@gmail.com>.
Like the mail :)
Amazing.

Jean-Louis

2011/5/26 David Blevins <da...@gmail.com>

> Hi Hao!
>
> On May 25, 2011, at 8:53 PM, Hao Lieu wrote:
>
> > hello,
> >
> > just got on board and looking to eventually contribute to the project,
> > curious...
> >
> > what's the expected progression from newbie to active contributor?
> > what's a typical timeline?
> > what do newbies typically do on an apache project before they become
> > contributors?
>
> Wish I had any UML skills, I'd make a flow chart :)  But basically:
>
>  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(patch)) {
>         pokeAtSometingElse() || helpOnUserList() || dayDream();
>
>         if (moreThanAWeek()) {
>            // assume it fell off the radar, happens
>            // evidence we need more committers
>            bumpThreadOnList(task);
>         }
>      }
>  }
>
> After a while when people feel comfortable with you as contributor, they
> vote you in as a committer and ... big surprise ... there's almost no change
> in the daily routine.  You get access to svn and pretty much everything else
> stays the same.  Instead of submitting patches, now you have to help review
> them and commit them.  Instead of learning how to contribute to an open
> source project, now you have to learn how to help others get involved.  And
> of course it doesn't happen all at once, you never stop learning these
> things and you never stop wishing you had more time.
>
> No one cares how much code you can write or how fast you can write it.  We
> all just contribute what we can when we can and there are no expectations on
> how much, how often, or where.
>
> It's very much about the journey and there is no real end as long as you're
> having fun and learning.
>
> Here are some tips on ensuring you always have fun:
> https://cwiki.apache.org/OPENEJB/contribution-tips.html
>
> I think I'm going to have to put that contribution pseudo code in there to.
>  That's kind of cool.  Wish I had thought of that earlier!
>
> Probably finding something to do when you do have time is the hardest part
> ... that never changes.
>
>
> > have to admit, my work has not been particularly challenging in terms of
> > keeping up with java,
> > been working with java for 3 years now and thought it'd be a good time to
> > turn it up.
> > so what are some of the more useful technologies and frameworks i should
> get
> > familar with?
> >
> > i've used spring di, hibernate, jsf, websphere;
> > played a little with spring aop, ibatis, jboss.
> >
> > btw, got m2, svn and built the openejb3 branch.
> > took me a while, new to maven and svn.
> > felt good to accomplish that.
>
> Awesome.  You were lucky enough to get in there when we had no build
> failures :)  Future note, someday you will cause them too, it's ok :)
>
> Maybe play around with the examples a little.  Some of them are pretty
> cool.  There are a few gems I would recommend:
>
>    simple-stateless
>    simple-stateful
>    simple-singleton
>    simple-mdb
>
>    async-methods
>    schedule-methods
>
>    injection-of-env-entry
>    injection-of-ejbs
>    injection-of-datasource
>    injection-of-entitymanager
>
>    testcase-injection
>
>    testing-transactions
>    transaction-rollback
>
>    testing-security
>    testing-security-2
>
>    simple-webservice
>
> (side note to Karan, this list would be good stuff for the future 4.x
> section of the website)
>
>
> -David
>
>

Re: becoming a contributor

Posted by David Blevins <da...@gmail.com>.
Hi Hao!

On May 25, 2011, at 8:53 PM, Hao Lieu wrote:

> hello,
> 
> just got on board and looking to eventually contribute to the project,
> curious...
> 
> what's the expected progression from newbie to active contributor?
> what's a typical timeline?
> what do newbies typically do on an apache project before they become
> contributors?

Wish I had any UML skills, I'd make a flow chart :)  But basically:

  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(patch)) {
         pokeAtSometingElse() || helpOnUserList() || dayDream();
         
         if (moreThanAWeek()) {
            // assume it fell off the radar, happens
            // evidence we need more committers
            bumpThreadOnList(task);
         }
      }
  }

After a while when people feel comfortable with you as contributor, they vote you in as a committer and ... big surprise ... there's almost no change in the daily routine.  You get access to svn and pretty much everything else stays the same.  Instead of submitting patches, now you have to help review them and commit them.  Instead of learning how to contribute to an open source project, now you have to learn how to help others get involved.  And of course it doesn't happen all at once, you never stop learning these things and you never stop wishing you had more time.

No one cares how much code you can write or how fast you can write it.  We all just contribute what we can when we can and there are no expectations on how much, how often, or where.

It's very much about the journey and there is no real end as long as you're having fun and learning.

Here are some tips on ensuring you always have fun:  https://cwiki.apache.org/OPENEJB/contribution-tips.html

I think I'm going to have to put that contribution pseudo code in there to.  That's kind of cool.  Wish I had thought of that earlier!

Probably finding something to do when you do have time is the hardest part ... that never changes.


> have to admit, my work has not been particularly challenging in terms of
> keeping up with java,
> been working with java for 3 years now and thought it'd be a good time to
> turn it up.
> so what are some of the more useful technologies and frameworks i should get
> familar with?
> 
> i've used spring di, hibernate, jsf, websphere;
> played a little with spring aop, ibatis, jboss.
> 
> btw, got m2, svn and built the openejb3 branch.
> took me a while, new to maven and svn.
> felt good to accomplish that.

Awesome.  You were lucky enough to get in there when we had no build failures :)  Future note, someday you will cause them too, it's ok :)

Maybe play around with the examples a little.  Some of them are pretty cool.  There are a few gems I would recommend:

    simple-stateless
    simple-stateful
    simple-singleton
    simple-mdb

    async-methods
    schedule-methods

    injection-of-env-entry
    injection-of-ejbs
    injection-of-datasource
    injection-of-entitymanager

    testcase-injection

    testing-transactions
    transaction-rollback

    testing-security
    testing-security-2

    simple-webservice

(side note to Karan, this list would be good stuff for the future 4.x section of the website)


-David