I am pleased to announce a new podcast on JSF Central. In this podcast JSFCentral editor-in-chief Kito D. Mann interviews Jason Lee about Mojarra (the JSF reference implementation), the Scales component library, and all things JSF. This was recorded in September of 2008 at JSFOne.
Here is an excerpt:
Kito: Okay, cool. You do work on Mojarra, the implementation, but you also work on Scales which is like a Mojarra sub-project. So tell us a little bit about that.
Jason: Well, Scales started out in what we called at the time the “RI sandbox.” It was an area that Ryan had opened up for Mojarra developers to play in; if they wanted a feature to add to the implementation or that sort of thing they could work on it there. We relaxed the rules a little bit in terms of committing and code reviews. When I started doing the component development I needed a place to put that so Ryan and I got to talking and we stuck them there with the goal of eventually moving that out to the sub-project like we have.
What we found that motivated that to happen earlier is we have fairly strict rules on commit access to Mojarra. The implementation is governed by the Sun contributor agreement which some people kind of balk at. From my understanding it really just says “you retain rights to your code but you also give Sun the right to use it.” I don’t find it particularly onerous but some do, so to kind of ease that a little bit we moved that sandbox to a separate project. That also let us promote that as we got closer to a 1.0 version of that. We were able to manage that externally and hopefully get more external contributions. We have gotten some from that…
Scales is just a set of components that I mostly worked on, either because I really wanted to have that functionality in general, or we have a couple that I developed at a former shop that we needed for our business. We needed multiple file uploads. We were uploading 20-30 files at a time. We didn’t want to click “browse,” find it, and do that over and over, so we developed an applet based approach to that, and it is kind of wrapped up in a JSF component so we didn’t have to worry about all that stuff. You just drop the component on there and off your go. Those were developed at that company, and we were given permission to submit those to the sandbox.