Top

IceFaces Copies PrimeFaces Line by Line

IceFaces Copies PrimeFaces Line by Line

After release of IceFaces 3, we have been getting reports from PrimeFaces Community that IceFaces Ace Components look similar to PrimeFaces. After looking at Ice Ace Components, frankly, we are shocked and disappointed! IceSoft copied PrimeFaces code LINE BY LINE to come up with it’s new set of components named Ace. We are aware that we can’t take any action legally as code is open however we just want to let you know about this. Here is an example of PrimeFaces Panel and Ice Panel as a case study;

PrimeFaces PanelRenderer

IceFaces PanelRenderer

PrimeFaces Panel.js

IceFaces Panel.js

We have looked in detail of all IceFaces Ace Components and more than 90% of IceFaces components are like Panel. They are copied line by line, only difference is the change of package names from prime to ice. This duplication applies to java renderers, components codes, javascripts and css files as well.

License of IceFaces components start with this line;

“Original Code developed and contributed by Prime Technology. Subsequent Code Modifications Copyright 2011-2012 ICEsoft Technologies Canada Corp. (c)”

First of all we are not aware of any “contribution”, we haven’t done any contribution to IceFaces or signed any contribution agreement just like a CLA (Contributor License Agreement). Their code includes reference to our work with the line above, however nowhere on their release announcements here or here this was mentioned at all, it’s like they have written the code themselves. This “tiny” detail is hidden from public and marketing point of view. This also explains why IceFaces license is now Apache, because PrimeFaces is Apache.

IceFaces has lost significant of it’s user base to PrimeFaces since 2009 and they are trying to get their popularity back. Last year, IceSoft has approached us with the idea of sponsoring PrimeFaces by paying 60K $ per year. Our clear answer was a big NO, it seems after getting rejected, they have chosen a very very wrong way when trying to build their new ACE Components that is aimed to replace their legacy components, which is copying our code line by line and offer commercial services like support, consulting and training over our copy-paste code. Competition should be about providing alternative solutions not copy-paste your competitors just because the license permits and it is legal.

We’ve also realized that IceSoft has copied the code from PrimeFaces 2 which was released a year ago, PrimeFaces 3 is much better than PrimeFaces 2, this seems to be second mistake of IceFaces. They have copied the wrong branch!.

We don’t think there is a stealing here as the code is open and free to anyone. Incorporating OSS code in another OSS code is totally fine and result of OSS nature. However we think it is wrong and not cool when the two OSS products are competing and on the same line. There are various OSS projects that use PrimeFaces out there, all of them link to PrimeFaces and use the library, none of them actually copies the code and renames the packages like Ice does. We’ll be happy if IceSoft updates their Ace component pages or release announcements to add the fact that, IceFaces Ace components are forked from PrimeFaces Codebase instead of advertising it as a home grown product. We don’t see a public reference or a credits in NOTICE file in icefaces jar at all.

As of PrimeFaces 3, we use 3rd party libraries as minimal as possible, for example PrimeFaces 2 which IceFaces copies, use jQuery UI and YUI a lot. Components like accordion, tabview, menu, menubar, autocomplete, paginator, buttons and many more were based on 3rd party widgets. With PrimeFaces 3 we have written the client side widgets of these and more by ourselves with JSF in mind which gave us the power to add advanced new features that you can’t find in these widgets. PrimeFaces 1 or 2 can be seen as a wrapper of 3rd party libs but PrimeFaces 3 is not, we are even considering to externalize our own javascript library for non-jsf use. We spent our days, nights and weekends to come up with our own ideas and the implementation of our own ideas. This is the reason of our success, the passion! PrimeFaces has became the leading component suite as can be seen from Google Trends as well. In addition PrimeFaces is the RIA library with the most followers on twitter. At time of writing stats are PrimeFaces 2067, RichFaces 1687, IceFaces 951, Vaadin 1554, ZK 706.

In the end, we are not annoyed at all, just disappointed to see a competitor of PrimeFaces copying our code. It is really not that hard to create rich JSF components, it would be better if IceFaces implemented their own solutions and provided a new alternative to the JSF ecosystem. We don’t think anyone needs IceSoft to enhance PrimeFaces, we as PrimeFaces team have already done it and it is called PrimeFaces 3.

Please share this article on social media so we can let more people know about this!

!!!You may copy our code, but you’ll never take our PASSION!!!

Optimus Prime
On Behalf of All AutoBots in PrimeFaces Community

Updates

  • They have added this page after getting so much criticism from the community.om the community. This reveals PrimeFaces is a core technology of IceFaces. IceFaces is powered by PrimeFaces. It is great to hear that we are now powering our competitors. It is not stated but Slider, DateTimeEntry and Core Engine (core.js) is also based on jQuery/PrimeFaces.
  • Our posts and posts of many PrimeFaces users in IceFaces forums has been deleted by IceSoft. Free Speech!
  • We have done a new and final announcement regarding this to state our final words and leave this behind. Thanks everyone for their feedback!

 

117 Comments

Post a Comment