JBoss Queries Apache Geronimo Code Similarity 293
Kanagawa writes "This morning, Jim Jagielski, Exec. V.P. and Secretary of the Apache Software Foundation, announced on the geronimo-dev mailing list that 'the ASF received a letter from JBoss's lawyers regarding... the similarity of code between [J2EE implementation] Geronimo and JBoss.' The letter
is available in PDF. According to the letter, similarities were noticed back in July, and haven't been fixed."
For a rebuttal of the claimed similarities... (Score:5, Informative)
You can also see Jim Jagielski's response to some questions here [apache.org] about this issue. Sounds pretty reasonable.
Re:Using the J2EE RI? (Score:2, Informative)
Re:Any point? (Score:5, Informative)
Re:For a rebuttal of the claimed similarities... (Score:3, Informative)
Re:Ouch! (Score:3, Informative)
However, if I say "Today the weather is nice, looks like I could go windsurfing on the highway", then they know I am joking. Even if the joke is awful.
Common origin? (Score:5, Informative)
org.jboss.logging.XLevel vs. org.apache.geronimo.core.log.XLevel
Both seem to be copied from log4j's examples.customLevel.XLevel
However, there are much more substantial allegations made here [theserverside.com]
Re:Even the variable names are the same (Score:5, Informative)
No mystery there. ThreadNDCConverter is capitalized *exactly* according to very established java code conventions. See for example http://java.sun.com/docs/codeconv/html/CodeConvent ions.doc8.html
They should retract that statement (Score:5, Informative)
Re:Even the variable names are the same (Score:4, Informative)
a) I don't think anyone would mix up CELLPADDING with PADCELL. What should PADCELL be or mean?
b) Its standard java coding style rules NOT TO USE a "_" in a constant.
Everybody using "cell padding" as a name for a constat wich is used like a enum would write CELLPADDING. Everybody.
The capitalization rules are also well defined. So if you consider to have a class "ThreadNDCConverter" a companay sticking to the original coding style rules will name that class or interface: ThreadNdcConverter. While my company OTOH will name it ThreadNDCConverter, as our rule is to capitalize all abreviations, like FTP, RMI and such.
angel'o'sphere
Re:Doesn't really look that much the same (Score:3, Informative)
Re:Both sides seem to be handling it well (Score:5, Informative)
Minor nit: This is actually the first time this was raised directly. Early on, the ASF was contacted by JBoss simply to "remind" us that JBoss is covered under GPL and that any derived code could not be relicensed (under the Apache License). At the time, no real work on Geronimo had been done so that there was no actual code that could be shown to be similar. The above leaves the impression that the ASF had ignored a previous notice from JBoss, which is certainly not the case.
Comment from J2EE "TheServerSide" (Score:5, Informative)
Just a short note: It is, and has always been, the stated baseline of Geronimo that it not contain any (L)GPL code, whether JBoss derived (in legally specified copyright sense) or not. It's not for any political reasons (and I'm glad to see that this is not degrading into such a forum) but simply because of the letter and spirit of the Apache License. It should also be noted that Geronimo itself is an "project in incubation" within the ASF. It is not (yet) a formal, official ASF project (or subproject under one of the other top level ASF projects). If there is any (L)GPL code within Geronimo, or code that is derived from (L)GPL code (in the legal sense), it will be stripped and replaced. That's just the way it is and it's the way the ASF has always operated.
Also, it should be noted that some exhibits referred to are no longer applicable. For example, Geronimo's Invocation class was entirely rewritten from what was noted in the letter. In other cases, the similarities are due to the fact that they are simple (and trivial) extensions. With XLevel, org.apache.log4j.Level is itself extended, which imposes and provides some of the common structure and names. It has also been noted that for PatternParser, the similarities come from the fact that both code bases implement "nested diagnostic contexts" as described by Neil Harrison in "Patterns for Logging Diagnostic Messages", which can be found in the book "Pattern Languages of Program Design 3", published in 1997 by Addison-Wesley (ISBN: 0201310112). Apache Log4J implements this class in org.apache.log4j.NDC. This class describes how it is to be used, including the use of a "distinctive stamp."
Comment removed (Score:2, Informative)
copying design and ideas, but not code (Score:3, Informative)
There's no protection in copyright law for copying ideas, style and design (this is why we have patent and design protection). There's nothing to stop one person reading a copyright protected work, and extracting basic ideas, style, themes, etc and using that in their own work.
So, there's nothing that can stop one programmer from looking at one set of code, and then walking away and producing an independent version of similar design, but different expression. This could mean that there are similar functions and mechanisms, but looking at the detail it would be obvious that they might be similar, but are not exact copies.
There's a difference here between commercial strategy of clean-room software development. In clean-room approach, what you're getting around is not just copyright, but issues of commercial confidentiality and so on. Confidentiality is not a problem with open source software.
Re:Not copied? (Score:3, Informative)
I think this is a patent vs copyright issue.
Copyrights protect from direct copying, patents protect from copying ideas.
Is JBoss's API copyrighted would be the question that I would be looking at. The J2EE API may or may not be copyrighted as well, but JBoss doesn't hold that copyright.
I think it's fair game to steal design from any unpatented source. Design is not concrete enough that copying it would make a working product. Consider the design of books. Almost all books use similar design in that they put related information into smaller sections known as chapters. If you wanted to prevent anyone else from doing this in their book, you would need to own a patent, not a copyright.
As far as I can tell Marc Fleury is in one of his moods again. Most of those developers tried to be part of the JBoss project to contribute their code to JBoss where beneficial but were kicked off the team from what I can tell. In fact, this seems to be the whole purpose of Elba.
I like JBoss, and I like most of the very friendly developers, but some of the things that Marc has done, have been petty.
Re:Any point? (Score:2, Informative)
You should check your facts. The first version of the J2EE spec that allows for an Open Source implementation to be certified will be the yet-to-be released version 1.4.
So it's not as if the open source J2EE implementations didn't want to make use of the TCK, but Sun has disallowed them to do so!