Alls well that ends well, we hope

PrimeFaces vs ICEfaces – ICEfaces President and CEO Brian McKinney’s response

Chris Mayer

Tensions ease between the two parties over code-usage

Following on from this week’s article, in which we reported on the fallout between the JavaServer Faces competitors, we realised we weren’t entirely being fair in not allowing ICEfaces to defend themselves.
PrimeFaces accused their rival of some fairly uncomplimentary methods regarding the use of their code base to form a good proportion of their ACE components, which is all fair in the open source game. But they were irked by what they saw as a lack of recognition for it.
We talked to CEO and President of ICEsoft, Brian McKinney who sets the record straight.
Can you explain briefly why ICEsoft chose to fork the Primefaces code in the first place? What attracted you to using part of their library?

We had received extensive feedback from the ICEfaces development community that they wanted to be able to integrate some of the popular jQuery library elements within their ICEfaces / JSF 2 applications.  We were aware that Prime Technology had done a great job of wrapping JQuery and YUI components so that they would work in JSF 2 applications. We chose to leverage the PrimeFaces 2 open source component library because it represented the best JSF 2 compliant solution for accessing jQuery components at the time.
Code changes were required however in order to integrate the select PrimeFaces components into the ICEfaces application framework, and to implement some of the other feature enhancement requests we had received from our customers. In order to meet our support obligations and our committed service level agreements, ICEsoft had to retain the ability to make code changes on an ongoing basis so we could resolve bugs and affect solutions in a timely manner. We had originally hoped that we could achieve this under some kind of sponsorship arrangement with the PrimeFaces project. Unfortunately the two parties were unable to come to terms and we made the decision to fork the project.
By selecting the Apache license, do you not feel that ICEsoft should be giving something back? Do you in fact have an obligation to improve the code? If so, what has ICEsoft brought back into the process?

ICEsoft is a strong and active proponent of the open source model, and a big piece of the open source culture is this notion of taking a piece of open source software, building upon it and enhancing it, and finally returning those enhancements back to the community for others to do the same. Which is exactly what happened here.
In the course of our integration of various PrimeFaces, jQuery and YUI components we made over two hundred code submissions to resolve bugs or provide enhancements to the components. The data table is a good example of feature enhancements that were made. Data tables are traditionally one of the most popular and frequently used components in the the web application developers toolbox.  With its enhancements, the data table component is now one of the richest and most comprehensive components in the industry. All of which, the enhancements the bug fixes etc. was returned back to the open source community for users to freely use and further enhance on their own.
Do you feel an ethical line was crossed?

No ethical lines were crossed. We believe that everything we have done is fully consistent with the primary intent and spirit of open source development.  
That said, open source also has a long history of providing transparency to developers and a tradition of giving credit were credit it due. This is where much of the discussion on the Web appears to be focused. When we released the ACE library, we chose to recognize the contributions made by the PrimeFaces, jQuery and YUI open source projects in our product collateral and in the product source code. No attempts were made to hide this contribution.
We believed that the level of acknowledgement provided to Prime Technology regarding its contribution was appropriate, commensurate with other cases in the industry, and consistent with the level of benefits realized from the other open source projects, jQuery and YUI. It is clear that others felt the level of acknowledgment was insufficient and in hindsight, perhaps it was. It was certainly not our intent to diminish their contributions and we have taken recent steps to increase the transparency associated with integration of elements of the PrimeFaces, jQuery, and YUI open source libraries.  
Did you see this as an attempt from a competitor to slur your name? 
No. Open source communities are filled with dedicated and passionate members that are used to voicing their opinions. The challenge is to make sure that they have access to all the information they need to come up with a fully informed opinion.
Where do you believe the 90% figure came from, purely from the selected components in the blogpost?
I think we are all guilty of exaggerating numbers when we are engaged in lively and impassioned debate and dialog.   I believe a rough number was thrown out early in the dialog as part of a broader point.  Unfortunately it was picked up on as gospel and repeated over and over again by others even though it wasn’t accurate at all.  
Do you feel PrimeFaces made a fuss about a very small part of your work?

ICEsoft sponsors a number of popular open source projects, including ICEmobile and ICEpdf as well as ICEfaces.  All of which are available for free to the open source community.  It is unfortunate that this discussion has distracted from the value that they are delivering to the community.
Do you feel you can both co-exist in the same field?

Absolutely.  We have in the past and I believe we will continue into the future.

ICEfaces have released an FAQ page which deals with the claims made against them and answers in detail their stance on the whole debacle. PrimeFaces in response issued a final blog – contesting that they had been advised about ICEfaces decision to fork – but that they were satisified with the credit given.

Thankfully it appears that both sides in this argument would prefer to focus on developing for the timebeing – a wise move as we want both to be the best they can. Squabbling really gets us nowhere and we think it’s best to draw a line under the whole issue.

Inline Feedbacks
View all comments