> On Mar 21, 2024, at 5:54 AM, Jens Zurawski <j...@diegurus.de> wrote:
> 
> Another problem is: I'm afraid, I will have to learn quite a bunch of things 
> before I will be of any real help to the project. Although I'm already doing 
> some JSF Appliactions my knowledge of the EE universe/specifications is 
> limited. Up to now it's more cherry picking the stuff I need for my projects.

There is a learning curve that is steep and it does involve an up front 
investment of time before you're productive.  It can be done, though.  There 
were four of us who did most the work on the TomEE 1.0 TCK compliance and I was 
the only one who had any experience with it due to my time in Geronimo.  The 
others had to learn after hours from scratch.  They did it and were able to 
help get tests to pass.

More directly, if only full-time people were able to help there would never 
have been a TomEE in the first place.

You absolutely do need someone, however, helping you that is familiar with the 
TCKs.  We'd need to find someone with that time for anything to be successful, 
hence the other conversation.  In terms of how much time it takes to get tests 
to pass, it's hit and miss.  There are usually many easy wins when you're under 
80% passing.  As you approach the 95% it's harder.  Those last few tests at 98% 
passing are very hard and you can spend two weeks trying to get one test to 
pass.

In all cases it involves you running the test with remote debugging, attaching 
with a debugger and stepping through the code over and over and reading through 
the specification document to better understand the requirements the test 
claims it is asserting.  You quickly become deeply familiar with parts of the 
code and parts of the spec.  That knowledge expands the more tests you work on. 
 For sanity sake, it's usually best to focus on one section for a while (say 
JSF), otherwise it's too much context shifting.

The volume of tests makes it very easy for many people to work in parallel.  We 
also have a system that can run all the tests in parallel 
(https://tck.work/tomee/builds), which is useful only for finding failing tests 
that you then can run and debug locally.

The TCK setups themselves are getting far simpler than they were.  The legacy 
Jakarta EE TCK is a 500mb beast that uses a formerly proprietary testing 
framework created in the Sun days.  It's not much fun to work with.  The setup 
for that is here:

 - https://github.com/apache/tomee-tck/

Several of the Jakarta EE spec teams have been taking their tests out of the 
legacy TCK and have been converting them to JUnit and TestNG, sometimes using 
Arquillian.  These are far easier to get started with as it's what everyone is 
familiar with.


> So.... I really would like to contribute to the project, but it may turn out 
> that eventually I will not have enough time or will fail in understanding all 
> the EE specifications and their dependencies.  And because I know that it 
> will be additional work for you and the other active contributors to educate 
> me (or at least give helping hands here and there), I'm hesitating.

Then you'd be in the same boat as everyone else, including me.  That's just the 
way things go.  And it works in reverse as well, it's hard to encourage people 
when you know they'll need you and you know you're not available and they'll 
probably fail and have their time wasted.  Hence the idea of finding a person 
who used to contribute and became a committer and see if we can use some brief 
sponsorship to get them back on the project in their evening time for a while 
to help all of you.  We have 34 committers.  I bet we can find at least one to 
help bootstrap this if we throw something their way.

Short of that idea, we're kind of stuck for the same reasons.


-David

Reply via email to