PrimeFaces angered over copycat Icefaces code use
ICEfaces deceptive use of PrimeFaces code base for their latest version raises huge debate surrounding the fair usage of open code.
A row has erupted over the latest version of JavaServer Faces
suite, ICEFaces 3.0.0 after competitor PrimeFaces exposed
the Canadian company’s mimicry in developing their product,
claiming that over 90% of the components had been duplicated.
PrimeFaces demonstrated in their developer blog that their rival
had copied line by line the code for their Panel (code in the
link), and stated that they were ‘shocked and disappointed’
by ICEFaces’ decision to effectively plagiarise a rival’s codebase
for their own product.
The only slightly confusing detail is that ICEsoft used
code from PrimeFaces 2 and not the latest version. Picking the
inferior version seems rather odd and selling it to the community
as ‘much improved’ leaves a bitter aftertaste.
PrimeFaces became aware of the deception after various
PrimeFaces users contacted them. The leader of the PrimeFaces
community, under the pseudonym ‘Optimus Prime’ commented on the
whole sorry situation, saying:
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
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
Legally speaking, ICEFaces has done nothing wrong as the
PrimeFaces source code is freely available to fork under the Apache
License, but this surely reeks of dishonesty. The real issue here
isn’t that ICEsoft took the code, more how they didn’t offer their
own spin on things, despite being Apache licensed.
PrimeFaces points out that ICEsoft doesn’t publicise their input
into the product, it is there . This isn’t exactly prominent, as it
is within FAQs and not the jar file. Following on from this furore,
ICEfaces has updated their reference
documentation to denote which components are PrimeFaces
technology – which is a step in the right direction at least.
…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). This “tiny” detail
is hidden from public and marketing point of view. This also
explains why IceFaces license is now Apache, because PrimeFaces is
Packaging such a large amount of a competitor’s work as your own
strikes us firstly as brazen but also as a method of throwing in
the towel to the better package. PrimeFaces has long been leading
the battle for RIA and JSF2 supremacy and with a rival basically
bowing to the competiiton, it can be seen as a positive thing in
the power struggle.
They do say imitation is the sincerest form of flattery after
What are your thoughts of ICEsoft’s behaviour? Do you think they
were right to use their competitor’s code and package it as their
own or is it well within their rights? Comment below…