Re: Question: Can I donate to an Apache project? (was Re: Will Tomee be discontinued ?)

Jens Zurawski <[email protected]> Fri, 22 Mar 2024 13:59:53 +0100
Newsgroups gmane.comp.java.openejb.user
Message-ID <[email protected]>
Hi David,

thanks for your reply. It's a difficult situation right now, feels a bit 
like a "deadlock": No relief for the active rest of the committers 
without new and "educated" team members, but no new team members without 
additional time invest of the current committers. As with technical 
deadlocks, it has to be broken up at some point (even with some small 
loss somewhere if there is no other way). So, I'm looking forward if 
it's possible to re-activate one of the retired committers. At least to 
be available as a kind of "big brother" who can be asked some questions 
once in a while when the newbies get stuck somewhere. And, of course, a 
short introduction into what/where/when/how.

Just out of curiosity I've started a quick and naive attempt to check 
the TCKs on my machine. I actually don't have the time slices to dig 
deeper into this, but I wanted to get a feeling of what's coming up if I 
decide to get into it.

So I just installed a new WSL ubuntu 22.04 instance (if that won't work, 
I would have continued with a dedicated linux VM), installed git and 
maven, and followed the instructions on https://github.com/apache/tomee-tck/

It doesn't work out of the box on a fresh ubuntu. "bsdtar" is not 
installed in default dist setup. Why bsdtar? Maybe could be changed to 
just use GNU tar?
Now, with bsdtar installed, after setup.sh has finished (there is no 
setup-tck9.sh, the README.adoc should be adapted), there were no error 
messages or warnings, but glassfish-7.0.0-M8 download/unzip wasn't 
successful. Don't know why, I've done it manually then. When I have some 
more time, I may try to find out where the problem is.

Now, everything seems to be here and I started a first try with the 
sample from the README:
./runtests --web tomee-plume 
com.sun.ts.tests.ejb30.bb.localaccess.statelessclient

Nice, all tests passed :-)

Then, cheered up from this first success, tried a more comprehensive 
test with:
./runtests --web tomee-plume -c com.sun.ts.tests.ejb30

Could run in background during I was doing my daily stuff. Ok, seems 
this will take quite a while.... It's already running since 2 hours or 
so and I think I will stop it here. Until now, 795 tests passed and 1807 
tests failed. So what I learn from this quick shot: Something is not 
working correct by now or I have not understood correctly how it works, 
because a failed/passed ratio of 2:1 can't be correct. On the other 
hand, passing 795 tests with success also means I'm not totally off 
track ;-)

Yeah, well, without some educated hints it will take much more time to 
correctly get into this. I guess it's only some glitches in my setup, or 
I have forgotten something, or I'm just doing it wrong. For me to find 
out what's wrong, this could be a long journey and maybe cost me hours 
and hours and hours. At this point it would be perfect if there is one 
or two persons who can take a look and out of experience say "of course 
it's not working, you have to do this and that" or even if they are only 
pointing me in the right direction of where to search would already be 
helpful.

cu
Jens



Am 21.03.2024 um 18:47 schrieb David Blevins:
>> On Mar 21, 2024, at 5:54 AM, Jens Zurawski <[email protected]> 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
>