Slashdot Mirror


JBoss Queries Apache Geronimo Code Similarity

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."

16 of 293 comments (clear)

  1. Doesn't really look that much the same by hazem · · Score: 4, Insightful

    I'm no expert coder, but these don't look the same to me. There are similarities, but one would presume they are doing the similar things.

    One of the functions is to convert an integer to a level. How many different ways could you do actually do this? Another function converts a string.

    If you assign a class to write functions that would change variable types. All 30 people will come up with different code, but the code is likely to look very similar - especially if you're encouraging them to use proper function/variable naming and comments.

    Kudos to JBoss for posting the code, but I don't see much here to be suing over.

  2. Both sides seem to be handling it well by burgburgburg · · Score: 5, Insightful
    JBoss has noticed similarities and has raised the issue (a second time) with Geronimo.

    Geronimo has requested that all developers confirm that either a) they didn't just submit JBoss code or b) they had the right as the original creators of the JBoss code section to also submit it to Geronimo.

    No FUD. No hyperbole in extremis. No crazed threats. Oh, wait: No SCO. Of course. What a breath of fresh air.

  3. Even the variable names are the same by goombah99 · · Score: 1, Insightful
    The similarities are too high to be considered a design pattern. The variable names and even choices for captialization are the same. for example, "ThreadNDCConverter" So are optional argument strings. like "CELLPADDING" which if two different people did might have come out as "CELL_PADDING" or "CELLPAD" or "PADCELL" etc...

    The best they can hope for is it was copied from a common source or contributed by the same copyright holder.

    --
    Some drink at the fountain of knowledge. Others just gargle.
    1. Re:Even the variable names are the same by hazem · · Score: 2, Insightful

      I've had programming classes where the teacher would specifically spell out EXACTLY how your code should look, such as full nouns for variable names (no abbreviations), and very specific capitalization schemes. Documentation was specified as well.

      If you look at most of the code excerpts, they're for basic things like string and integer conversions. Given a classroom full of people, and very specific instructions on what code should look like, you're not going to get much variation.

      One would need to look at the rest of the code as well to see if the excerpts from each side are consistent with the rest of the codebase. Does one use "CELL_PADDING" everywhere, but in this snippet they use "CELLPAD"?

    2. Re:Even the variable names are the same by Merk · · Score: 4, Insightful

      C'mon! CamelCase names in Java follow a some simple rules, there's even a documented way of how you're supposed to do it. As for CELLPADDING, since that's how it's named in HTML, it wouldn't surprise me to see it done identically in another place. Better go sue Netscape too.

      To see if the code is actually similar you'd have to look at algorithms and innovations. Looking at interfaces and their names isn't going to tell you anything at all.

    3. Re:Even the variable names are the same by DunbarTheInept · · Score: 2, Insightful

      "CELLPADDING" is a term in HTML, for example:
      <TD CELLPADDING='3'>data</TD>
      So any two people both familiar with this could very easily pick that same variable name, just as any two unix C programmers could both use "grep" for a searching function, or decide to name something that destroys threads based on a name "killall". It was already a convention before they used it.

      --

      Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.

  4. SCO by Dark+Fire · · Score: 3, Insightful

    A letter like that is really all everyone has been asking for from SCO. JBoss is doing this to protect their code. It makes you wonder why SCO hasn't done the same already. Unless of course their actions are not at all about protecting their source code and patents. Reminds of that bible story where King Solomon must decide a dispute over a newborn child. JBoss reacted in the interests of protecting their code, SCO has not. From this simple story, we see whose intentions are what they claim to be, and whose are not.

    On a side note, SCO's recent behavior has made it clear as to who the puppetmaster of this debacle really is:

    Here are two quotes from the Computer Business Review:

    "SCO would probably provide customers with financial incentives and discounts to migrate to SCO Unix, other vendors' Unix, and what he referred to as 'other proprietary operating systems' but probably Windows."

    "'We are offering a migration path to other operating systems that have a stronger IP basis than Linux,' the spokesperson said. Incentives will be offered 'in the coming months.'"

    If that move doesn't reveal the puppetmaster, nothing will.

    I sincerely doubted Microsoft's involvement for a while, this time though, the paranoid /.ers were on the money.

  5. Okay... by Fnkmaster · · Score: 4, Insightful
    I'm not clear about whether you really violated somebody's copyright if you looked at an LGPLed work and followed the same basic design structure to write your own work. I mean, the many instances of things like bean accessors/mutators having the same names and basic implementations are endemic to Java. Then there's stuff like logging based on other Apache licensed work.


    It does sound like there were a few particular instances where a class' design and the set of methods in the class were directly patterned on the JBoss design - not necessarily copied line-by-line, but the solution to a fundamental part of the J2EE specification "problem" was ripped from JBoss and modified to suit the code needs of Geronimo. Whether this is violation of copyright or not is a tough question. Copyright doesn't protect a design pattern, a solution to a problem, the logical organization of a set of objects, or an algorithm. Proving that somebody actually violated copyright in this case seems rather hard to me - though perhaps a bit of credit to the JBoss folks for their thoughts and design work is in order.

  6. Sketchy at best... by VirtualUK · · Score: 3, Insightful

    At what level though do you say that source was copied? Obviously the code isn't a 100% match, and for each problem a coder faces there is a shortest distance/most efficient solution, what's not to say that two developers wouldn't reach similar conclusions? Seeing as some of the exhibits were based around logging which is a very common task which I'd figure that a large portion of projects tackle the problem in the same fashion, I fail to see you could point out that someone had copied the solution if it was the best answer and other people could arrive at the same conclusion.

    If it was a line for line copy then I can see it being different, but IMHO I think there are sufficient difference between the two portions of code. Personally I think if JBoss doesn't have better things to do with it's time and money it should slash the cost of its ridiculously expensive (and pathetic) documentation and spend some time improving it instead!

  7. HMM, let me see by butane_bob2003 · · Score: 2, Insightful

    How could this be avoided? Both are implemented against the same guidelines, using the same suggested/implied patterns. I guess it's just a matter of who did it first a this point. Java's syntax does not allow for (thankfully) a million different ways of expressing the same idea (at the lanuage level anyway). Given the pervasiveness of design patterns, it's not unlikely that large pieces of architecture will be functionally and syntactically similar. And given that both are open source software, what are the chances that one developer happened to peek at the other's code for a little insight? Chances are pretty good. Once you see a solution or pattern/class design that works nicely, it's hard not to follow the idea.

    --


    TallGreen CMS hosting
  8. Re:Not copied? by dasmegabyte · · Score: 3, Insightful

    You're assuming by "copying" he means "cut and paste." Not at all. Copying could be somebody who read the JBoss code (which is open, and pretty good. I read quite a bit of it myself trying to decide whether it was a viable alternative to the ghastly expensive BEA WebSphere) writing identical functions for Geronimo. A bit like aspiring artists copying a famous painting, only much more illegal. Alternatively, it could be some well meaning developer thinking that "clean room" just means he has to retype it.

    I've seen a lot of aspiring programmers retype what's "in the book" and consider it their own work. It's entirely possible a contributor to Geronimo did the exact same thing.

    --
    Hey freaks: now you're ju
  9. JBoss vs. SCO by Empyrean9 · · Score: 2, Insightful

    After reading the letter, and looking through the exhibits it is evident that this particular Apache project has a systemic problem. In reading much of the preceding posts it would appear that many people equate this letter with the action taken by SCO, and are thus opposed to granting it any merit. On the contary, this is far from the opaque stance taken by the aforementioned SCO. The JBoss Group has shown specific instances of infringement, whereas SCO has not.

    What many do not seem to understand, is that this specific instance is exactly the kind of enforcement, of open source licenses, we should be encouraging! If we are to take them at face value, the JBoss Group is merely trying to maintain the integrity of the intellectual property rights of its contributors. I see no reason to demonish them for that! Futhermore, it should also be noted they have not instigated or blatantly threatened legal action, this is also to their credit.

  10. Re:For a rebuttal of the claimed similarities... by liloldme · · Score: 2, Insightful
    However, some of the similarities pointed out (like the fact that the Invocation object structure looks exactly the same, "asis", "marshall" and "transient" payloads -- things like this don't occur by accident.

    I read through the letter and tried to think, if I as a developer would be building a distributed object framework what would be the chances I'd come up with the same, 3 payloads with the same names. Seems like a pretty distant possibility to me.

    So IMO, someone *was* reading through JBoss source while contributing to Geronimo.

  11. Almost all Geronimo developers worked on Elba! by NZheretic · · Score: 3, Insightful
    Check out the names of the developers of the Elba project and the developers of the Geronomo project.

    Simone Bordet, David Blevins, David Jencks, Dain Sundstrom, Greg Wilkins, Bruce Snyder, Jan Bartel, Jeremy Boynes , James Strachan, Jules Golsnell, Richard Monson-Haefel and Jason Dillon.

    Almost ALL of the Geronimo developers with commit rights have also worked on the same JBoss code base. Thats too many developers in common to provide a fresh perspective nessary to create a non-derivative clone.

  12. as a frequent contributor by Anonymous Coward · · Score: 1, Insightful

    to apache projects and other OSS projects, this in no way turns me away from contributing. If anything, it shows how well open licenses work. Fixing the problems are straight forward. Some of the similarities are generic, while others appear inspired. I would say, fix it and get back to work.

  13. Re:For a rebuttal of the claimed similarities... by SerpentMage · · Score: 3, Insightful

    I think the argument here is not that one OS project copies another. It is more of a relicense issue. JBoss is LGPL and Apache is ASL.

    I think here JBoss is concerned with seeing their code embedded into a commercial J2EE implementation.

    Have they valid claims? Well, I look at the code and it is VERY similar. Identical? Almost...

    Frankly though, it is like driving a car. If a person is on the wrong side of the road any accident will be their fault. However, as we are all taught, we should avoid the accident in the first place. That is sort of how I see this code. Apache should have been smart enough to "rewrite" not "rehash".

    --

    "You can't make a race horse of a pig"
    "No," said Samuel, "but you can make very fast pig"