You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Nelson Carpentier <ne...@gmail.com> on 2007/02/07 00:02:20 UTC

Initial impressions.

Hello Everybody!

Hopefully, this is more constructive than whiney.  I thought I'd share
my initial impressions with you about trying to contribute...

I recently got an inkling to add a cool bit of functionality to the
EqualsBuilder in the Commons-Lang project.

I went through the documentation and stuff, figured out some of the
style guidelines and other bits, then went ahead and did a "svn co" of
the code I wanted to help with...

I started up a project in Eclipse and though there were errors showing
up everywhere, I was able to get to the code I wanted to change.  I
started modifying a bit of the code, and only tried to tackle all the
errors popping up when I wanted to compile my code and write some
tests against it...

That's when I figured out I was having a JDK versioning problem.  I
was on a Mac (to which I am fairly new), and everything was running
the default of JDK 1.5.  I looked at some more of the documentation
and found that the JAR should be built with JDK 1.2.  I figured out
how to jump back to JDK 1.4.2 on the Mac, and maybe even to the JDK
1.3.X...  But no JDK 1.2.

While on JDK 1.4.2, a lot of things seem to resolve themselves, but
there are some packages I cannot fix, because they use "enum" which is
a reserved word in later JDK's.  I haven't yet checked this in JDK
1.3.X, but I figured "Hey, why not go back to the recommended JDK
1.2?"

So, I went straight to http://java.sun.com.  There in my initial
research, I found out that they really aren't keen on even giving out
the 1.2 JDK, and there was even a big ol' warning that 1.3.X was soon
to be EOL'd (End-of-life'd.).  (Nevermind the fact that I am not sure
I even COULD get 1.2 installed on my Mac even if I found it...)

So, now my question is this: Why must we support JDK 1.2 going
forward?  I get that we want to be backwards compatible, but how much
actual NEW development is going on in archaic JDK's?  If I, as a
potential contributor, can't even find the JDKs for compiling back
that far, shouldn't that be some kind of sign?  Is there no
consideration made weighing the consequences of upping the JDK
requirements VS. the consequences of making contribution so difficult?

<taking a breath...>

Ok.  Sorry if I got a bit rant-y there...

I am just kind of amazed the difficulty I am having.  I assume we
would want to make good contribution as easy as possible.  But if I
can't just use the published documentation and the source code to
figure out what I need to do, I think we are all doing the project(s)
and community a disservice.

So, did I miss something somewhere?  Is there a magic document
somewhere that allays all my fears and answers all my questions?  Did
I need to read all the archived forum responses?

Thanks for your time reading my long-winded email!

- Nelz

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: Initial impressions.

Posted by "listom@bestsolution.at" <li...@bestsolution.at>.
Hi,

Henri Yandell schrieb:
> On 2/6/07, Nelson Carpentier <ne...@gmail.com> wrote:
>> Hello Everybody!
>>
>> Hopefully, this is more constructive than whiney.  I thought I'd share
>> my initial impressions with you about trying to contribute...
> 
> Even whining can be good once we've got over the natural defensiveness :)
> 
>> I recently got an inkling to add a cool bit of functionality to the
>> EqualsBuilder in the Commons-Lang project.
>>
>> I went through the documentation and stuff, figured out some of the
>> style guidelines and other bits, then went ahead and did a "svn co" of
>> the code I wanted to help with...
> 
> Main style guideline for any source is to adhere to the apparent style
> of the source you're changing. And not to let the IDE reformat things
> in your patches/commits (just spent a while dealing with a 1200 line
> patch that was really only 200 lines... grrr).
> 
>> I started up a project in Eclipse and though there were errors showing
>> up everywhere, I was able to get to the code I wanted to change.  I
>> started modifying a bit of the code, and only tried to tackle all the
>> errors popping up when I wanted to compile my code and write some
>> tests against it...
> 
> Odd that there were errors. Lang's a very simple project in that the
> only dependency it has is JUnit and the only source trees you'll need
> to hook up are src/java and src/test. There will be lots of style
> warnings in Eclipse though.
> 
>> That's when I figured out I was having a JDK versioning problem.  I
> 
> Ah, and a bunch of warnings about 'enum'. And probably some deprecated 
> bits.
> 
>> was on a Mac (to which I am fairly new), and everything was running
> 
> I'm on a Mac too.
> 
>> the default of JDK 1.5.  I looked at some more of the documentation
>> and found that the JAR should be built with JDK 1.2.  I figured out
>> how to jump back to JDK 1.4.2 on the Mac, and maybe even to the JDK
>> 1.3.X...  But no JDK 1.2.
> 
> There is no 1.2 on the Mac, and getting it on Linux is a pain in the
> arse (apparantly it was poorly coded and used illegal APIs), so your
> choices are to use Windows, use an old Linux install or use a glibc
> patch on Linux. Oh - or use Solaris I presume.
> 
> Macs went from 1.1.x on OS 9 to 1.3.x on OS X.
> 
> For the last Lang release I pointed this out and we've moved the JVM
> on which we build from 1.2 to 1.3.
> 
>> While on JDK 1.4.2, a lot of things seem to resolve themselves, but
>> there are some packages I cannot fix, because they use "enum" which is
>> a reserved word in later JDK's.  I haven't yet checked this in JDK
>> 1.3.X, but I figured "Hey, why not go back to the recommended JDK
>> 1.2?"
> 
> The enum stuff is just a warning. Or should be. Are you sure these are
> errors and not just lots of warnings? I usually use the command line
> for developing Lang, but I go to Eclipse quite often to do the more in
> depth debugging.
> 
>> So, I went straight to http://java.sun.com.  There in my initial
>> research, I found out that they really aren't keen on even giving out
>> the 1.2 JDK, and there was even a big ol' warning that 1.3.X was soon
>> to be EOL'd (End-of-life'd.).  (Nevermind the fact that I am not sure
>> I even COULD get 1.2 installed on my Mac even if I found it...)
> 
> Once Lang 2.3 is out, I want to start thinking about 3.0 and
> suggesting the shocking idea of moving the support up to 1.5+.
> 

Although moving forward is good most of the times. Such central 
components like lang should stay behind the current JVM release as long 
as possible IMHO because other project who are depended on it might not 
always upgrade to the latest and greatest JVM-Release immediately.

I think it is better for these projects to stay at same JVM for a long 
time and than make a bigger step as proposed by you here. One more thing 
people might take into consideration (I don't know if applies here) is 
that java programs are not always running desktop JVMs but also ones for 
embedded devices, ... and not all classes are available everywhere!

Tom

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: Initial impressions.

Posted by Niall Pemberton <ni...@gmail.com>.
On 2/7/07, Nelson Carpentier <ne...@gmail.com> wrote:
> Henri,
>
> Thank you for the very calm, cool, collected response.  It definitely
> helped me to calm down...
>
> And, I figured out my problem, I had to change an Eclipse setting from
> 5.0 to 1.3...  After that, it all just fell into place.  I was able to
> run every single test in the LANG project.  Yay!
>
> So, now I've got my little addition in the code now, with tests to
> boot!  How do I submit the code for inclusion?  (I have attached the
> results of the "svn diff" to this email but I'm not sure if that makes
> the journey through the server...?)

Best way is to open a Jira issue ticket and attach the patch there -
less likely to get lost/forgotten than on the mailing list:

http://jakarta.apache.org/commons/lang/issue-tracking.html

Niall

> Thank you!
> - Nelz
>
> On 2/6/07, Henri Yandell <fl...@gmail.com> wrote:
> > On 2/6/07, Nelson Carpentier <ne...@gmail.com> wrote:
> > > Hello Everybody!
> > >
> > > Hopefully, this is more constructive than whiney.  I thought I'd share
> > > my initial impressions with you about trying to contribute...
> >
> > Even whining can be good once we've got over the natural defensiveness :)
> >
> > > I recently got an inkling to add a cool bit of functionality to the
> > > EqualsBuilder in the Commons-Lang project.
> > >
> > > I went through the documentation and stuff, figured out some of the
> > > style guidelines and other bits, then went ahead and did a "svn co" of
> > > the code I wanted to help with...
> >
> > Main style guideline for any source is to adhere to the apparent style
> > of the source you're changing. And not to let the IDE reformat things
> > in your patches/commits (just spent a while dealing with a 1200 line
> > patch that was really only 200 lines... grrr).
> >
> > > I started up a project in Eclipse and though there were errors showing
> > > up everywhere, I was able to get to the code I wanted to change.  I
> > > started modifying a bit of the code, and only tried to tackle all the
> > > errors popping up when I wanted to compile my code and write some
> > > tests against it...
> >
> > Odd that there were errors. Lang's a very simple project in that the
> > only dependency it has is JUnit and the only source trees you'll need
> > to hook up are src/java and src/test. There will be lots of style
> > warnings in Eclipse though.
> >
> > > That's when I figured out I was having a JDK versioning problem.  I
> >
> > Ah, and a bunch of warnings about 'enum'. And probably some deprecated bits.
> >
> > > was on a Mac (to which I am fairly new), and everything was running
> >
> > I'm on a Mac too.
> >
> > > the default of JDK 1.5.  I looked at some more of the documentation
> > > and found that the JAR should be built with JDK 1.2.  I figured out
> > > how to jump back to JDK 1.4.2 on the Mac, and maybe even to the JDK
> > > 1.3.X...  But no JDK 1.2.
> >
> > There is no 1.2 on the Mac, and getting it on Linux is a pain in the
> > arse (apparantly it was poorly coded and used illegal APIs), so your
> > choices are to use Windows, use an old Linux install or use a glibc
> > patch on Linux. Oh - or use Solaris I presume.
> >
> > Macs went from 1.1.x on OS 9 to 1.3.x on OS X.
> >
> > For the last Lang release I pointed this out and we've moved the JVM
> > on which we build from 1.2 to 1.3.
> >
> > > While on JDK 1.4.2, a lot of things seem to resolve themselves, but
> > > there are some packages I cannot fix, because they use "enum" which is
> > > a reserved word in later JDK's.  I haven't yet checked this in JDK
> > > 1.3.X, but I figured "Hey, why not go back to the recommended JDK
> > > 1.2?"
> >
> > The enum stuff is just a warning. Or should be. Are you sure these are
> > errors and not just lots of warnings? I usually use the command line
> > for developing Lang, but I go to Eclipse quite often to do the more in
> > depth debugging.
> >
> > > So, I went straight to http://java.sun.com.  There in my initial
> > > research, I found out that they really aren't keen on even giving out
> > > the 1.2 JDK, and there was even a big ol' warning that 1.3.X was soon
> > > to be EOL'd (End-of-life'd.).  (Nevermind the fact that I am not sure
> > > I even COULD get 1.2 installed on my Mac even if I found it...)
> >
> > Once Lang 2.3 is out, I want to start thinking about 3.0 and
> > suggesting the shocking idea of moving the support up to 1.5+.
> >
> > > So, now my question is this: Why must we support JDK 1.2 going
> > > forward?  I get that we want to be backwards compatible, but how much
> > > actual NEW development is going on in archaic JDK's?  If I, as a
> > > potential contributor, can't even find the JDKs for compiling back
> > > that far, shouldn't that be some kind of sign?  Is there no
> > > consideration made weighing the consequences of upping the JDK
> > > requirements VS. the consequences of making contribution so difficult?
> > >
> > > <taking a breath...>
> > >
> > > Ok.  Sorry if I got a bit rant-y there...
> >
> > Great to hear :) My reasoning for wanting to move to 1.5+ have been so
> > we can remove deprecated methods (and packages - ie: enum), so we can
> > look at doing some newer and more interesting things with the new
> > things in the JDK (logging, regexps, generics, varargs), and so we can
> > release using Maven (it's 1.4+). This adds another reason - makes it
> > easier for contributors.
> >
> > > I am just kind of amazed the difficulty I am having.
> >
> > I think the source of the difficulty is the Eclipse setup. Sounds like
> > something isn't quite right there, or maybe that you're reading too
> > much into warnings.
> >
> > > I assume we
> > > would want to make good contribution as easy as possible.  But if I
> > > can't just use the published documentation and the source code to
> > > figure out what I need to do, I think we are all doing the project(s)
> > > and community a disservice.
> > >
> > > So, did I miss something somewhere?  Is there a magic document
> > > somewhere that allays all my fears and answers all my questions?  Did
> > > I need to read all the archived forum responses?
> > >
> > > Thanks for your time reading my long-winded email!
> >
> > Thanks for sending it. I think the JVM version has been a bit of red
> > herring for whatever your actual setup issue is - but it's definitely
> > a valid issue.
> >
> > Hen
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: commons-dev-help@jakarta.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: Initial impressions.

Posted by Nelson Carpentier <ne...@gmail.com>.
Henri,

Thank you for the very calm, cool, collected response.  It definitely
helped me to calm down...

And, I figured out my problem, I had to change an Eclipse setting from
5.0 to 1.3...  After that, it all just fell into place.  I was able to
run every single test in the LANG project.  Yay!

So, now I've got my little addition in the code now, with tests to
boot!  How do I submit the code for inclusion?  (I have attached the
results of the "svn diff" to this email but I'm not sure if that makes
the journey through the server...?)

Thank you!
- Nelz

On 2/6/07, Henri Yandell <fl...@gmail.com> wrote:
> On 2/6/07, Nelson Carpentier <ne...@gmail.com> wrote:
> > Hello Everybody!
> >
> > Hopefully, this is more constructive than whiney.  I thought I'd share
> > my initial impressions with you about trying to contribute...
>
> Even whining can be good once we've got over the natural defensiveness :)
>
> > I recently got an inkling to add a cool bit of functionality to the
> > EqualsBuilder in the Commons-Lang project.
> >
> > I went through the documentation and stuff, figured out some of the
> > style guidelines and other bits, then went ahead and did a "svn co" of
> > the code I wanted to help with...
>
> Main style guideline for any source is to adhere to the apparent style
> of the source you're changing. And not to let the IDE reformat things
> in your patches/commits (just spent a while dealing with a 1200 line
> patch that was really only 200 lines... grrr).
>
> > I started up a project in Eclipse and though there were errors showing
> > up everywhere, I was able to get to the code I wanted to change.  I
> > started modifying a bit of the code, and only tried to tackle all the
> > errors popping up when I wanted to compile my code and write some
> > tests against it...
>
> Odd that there were errors. Lang's a very simple project in that the
> only dependency it has is JUnit and the only source trees you'll need
> to hook up are src/java and src/test. There will be lots of style
> warnings in Eclipse though.
>
> > That's when I figured out I was having a JDK versioning problem.  I
>
> Ah, and a bunch of warnings about 'enum'. And probably some deprecated bits.
>
> > was on a Mac (to which I am fairly new), and everything was running
>
> I'm on a Mac too.
>
> > the default of JDK 1.5.  I looked at some more of the documentation
> > and found that the JAR should be built with JDK 1.2.  I figured out
> > how to jump back to JDK 1.4.2 on the Mac, and maybe even to the JDK
> > 1.3.X...  But no JDK 1.2.
>
> There is no 1.2 on the Mac, and getting it on Linux is a pain in the
> arse (apparantly it was poorly coded and used illegal APIs), so your
> choices are to use Windows, use an old Linux install or use a glibc
> patch on Linux. Oh - or use Solaris I presume.
>
> Macs went from 1.1.x on OS 9 to 1.3.x on OS X.
>
> For the last Lang release I pointed this out and we've moved the JVM
> on which we build from 1.2 to 1.3.
>
> > While on JDK 1.4.2, a lot of things seem to resolve themselves, but
> > there are some packages I cannot fix, because they use "enum" which is
> > a reserved word in later JDK's.  I haven't yet checked this in JDK
> > 1.3.X, but I figured "Hey, why not go back to the recommended JDK
> > 1.2?"
>
> The enum stuff is just a warning. Or should be. Are you sure these are
> errors and not just lots of warnings? I usually use the command line
> for developing Lang, but I go to Eclipse quite often to do the more in
> depth debugging.
>
> > So, I went straight to http://java.sun.com.  There in my initial
> > research, I found out that they really aren't keen on even giving out
> > the 1.2 JDK, and there was even a big ol' warning that 1.3.X was soon
> > to be EOL'd (End-of-life'd.).  (Nevermind the fact that I am not sure
> > I even COULD get 1.2 installed on my Mac even if I found it...)
>
> Once Lang 2.3 is out, I want to start thinking about 3.0 and
> suggesting the shocking idea of moving the support up to 1.5+.
>
> > So, now my question is this: Why must we support JDK 1.2 going
> > forward?  I get that we want to be backwards compatible, but how much
> > actual NEW development is going on in archaic JDK's?  If I, as a
> > potential contributor, can't even find the JDKs for compiling back
> > that far, shouldn't that be some kind of sign?  Is there no
> > consideration made weighing the consequences of upping the JDK
> > requirements VS. the consequences of making contribution so difficult?
> >
> > <taking a breath...>
> >
> > Ok.  Sorry if I got a bit rant-y there...
>
> Great to hear :) My reasoning for wanting to move to 1.5+ have been so
> we can remove deprecated methods (and packages - ie: enum), so we can
> look at doing some newer and more interesting things with the new
> things in the JDK (logging, regexps, generics, varargs), and so we can
> release using Maven (it's 1.4+). This adds another reason - makes it
> easier for contributors.
>
> > I am just kind of amazed the difficulty I am having.
>
> I think the source of the difficulty is the Eclipse setup. Sounds like
> something isn't quite right there, or maybe that you're reading too
> much into warnings.
>
> > I assume we
> > would want to make good contribution as easy as possible.  But if I
> > can't just use the published documentation and the source code to
> > figure out what I need to do, I think we are all doing the project(s)
> > and community a disservice.
> >
> > So, did I miss something somewhere?  Is there a magic document
> > somewhere that allays all my fears and answers all my questions?  Did
> > I need to read all the archived forum responses?
> >
> > Thanks for your time reading my long-winded email!
>
> Thanks for sending it. I think the JVM version has been a bit of red
> herring for whatever your actual setup issue is - but it's definitely
> a valid issue.
>
> Hen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
>


Re: Initial impressions.

Posted by Henri Yandell <fl...@gmail.com>.
On 2/6/07, Nelson Carpentier <ne...@gmail.com> wrote:
> Hello Everybody!
>
> Hopefully, this is more constructive than whiney.  I thought I'd share
> my initial impressions with you about trying to contribute...

Even whining can be good once we've got over the natural defensiveness :)

> I recently got an inkling to add a cool bit of functionality to the
> EqualsBuilder in the Commons-Lang project.
>
> I went through the documentation and stuff, figured out some of the
> style guidelines and other bits, then went ahead and did a "svn co" of
> the code I wanted to help with...

Main style guideline for any source is to adhere to the apparent style
of the source you're changing. And not to let the IDE reformat things
in your patches/commits (just spent a while dealing with a 1200 line
patch that was really only 200 lines... grrr).

> I started up a project in Eclipse and though there were errors showing
> up everywhere, I was able to get to the code I wanted to change.  I
> started modifying a bit of the code, and only tried to tackle all the
> errors popping up when I wanted to compile my code and write some
> tests against it...

Odd that there were errors. Lang's a very simple project in that the
only dependency it has is JUnit and the only source trees you'll need
to hook up are src/java and src/test. There will be lots of style
warnings in Eclipse though.

> That's when I figured out I was having a JDK versioning problem.  I

Ah, and a bunch of warnings about 'enum'. And probably some deprecated bits.

> was on a Mac (to which I am fairly new), and everything was running

I'm on a Mac too.

> the default of JDK 1.5.  I looked at some more of the documentation
> and found that the JAR should be built with JDK 1.2.  I figured out
> how to jump back to JDK 1.4.2 on the Mac, and maybe even to the JDK
> 1.3.X...  But no JDK 1.2.

There is no 1.2 on the Mac, and getting it on Linux is a pain in the
arse (apparantly it was poorly coded and used illegal APIs), so your
choices are to use Windows, use an old Linux install or use a glibc
patch on Linux. Oh - or use Solaris I presume.

Macs went from 1.1.x on OS 9 to 1.3.x on OS X.

For the last Lang release I pointed this out and we've moved the JVM
on which we build from 1.2 to 1.3.

> While on JDK 1.4.2, a lot of things seem to resolve themselves, but
> there are some packages I cannot fix, because they use "enum" which is
> a reserved word in later JDK's.  I haven't yet checked this in JDK
> 1.3.X, but I figured "Hey, why not go back to the recommended JDK
> 1.2?"

The enum stuff is just a warning. Or should be. Are you sure these are
errors and not just lots of warnings? I usually use the command line
for developing Lang, but I go to Eclipse quite often to do the more in
depth debugging.

> So, I went straight to http://java.sun.com.  There in my initial
> research, I found out that they really aren't keen on even giving out
> the 1.2 JDK, and there was even a big ol' warning that 1.3.X was soon
> to be EOL'd (End-of-life'd.).  (Nevermind the fact that I am not sure
> I even COULD get 1.2 installed on my Mac even if I found it...)

Once Lang 2.3 is out, I want to start thinking about 3.0 and
suggesting the shocking idea of moving the support up to 1.5+.

> So, now my question is this: Why must we support JDK 1.2 going
> forward?  I get that we want to be backwards compatible, but how much
> actual NEW development is going on in archaic JDK's?  If I, as a
> potential contributor, can't even find the JDKs for compiling back
> that far, shouldn't that be some kind of sign?  Is there no
> consideration made weighing the consequences of upping the JDK
> requirements VS. the consequences of making contribution so difficult?
>
> <taking a breath...>
>
> Ok.  Sorry if I got a bit rant-y there...

Great to hear :) My reasoning for wanting to move to 1.5+ have been so
we can remove deprecated methods (and packages - ie: enum), so we can
look at doing some newer and more interesting things with the new
things in the JDK (logging, regexps, generics, varargs), and so we can
release using Maven (it's 1.4+). This adds another reason - makes it
easier for contributors.

> I am just kind of amazed the difficulty I am having.

I think the source of the difficulty is the Eclipse setup. Sounds like
something isn't quite right there, or maybe that you're reading too
much into warnings.

> I assume we
> would want to make good contribution as easy as possible.  But if I
> can't just use the published documentation and the source code to
> figure out what I need to do, I think we are all doing the project(s)
> and community a disservice.
>
> So, did I miss something somewhere?  Is there a magic document
> somewhere that allays all my fears and answers all my questions?  Did
> I need to read all the archived forum responses?
>
> Thanks for your time reading my long-winded email!

Thanks for sending it. I think the JVM version has been a bit of red
herring for whatever your actual setup issue is - but it's definitely
a valid issue.

Hen

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org