Slashdot Mirror


On the Ethics of a Code Split?

McWizard asks: "We've recently had a code split at a project I'm leading. (No name given, as this is a question, not an advertisement campaign). While both projects have done some major design decisions in opposing directions, we've been keeping a close eye on the changelog of the spinoff for small changes that could be used. So, whenever we've found an interesting piece of code (mostly GUI stuff, nothing longer than 20 lines of code), we transferred it to our project and gave credit to the spinoff team in the changelog. What does Slashdot say on that matter? Is this unethical or are such things fair game?" "Yesterday, I was contacted by the leader of the spinoff project who told me that he's quiet angry at us for doing that and that it's considered unethical and rude to copy code from the spinoff. As both projects are under the GPL, we have an opposing opinion on that matter and we've more than once invited him to copy code from our project. Nevertheless he's thinking about obfuscating his changelog and only open the source as packages when he's doing a release, which is, as he says, his right under the GPL."

18 of 448 comments (clear)

  1. No problem by perlionex · · Score: 5, Interesting

    Legally, there's nothing wrong since both projects are GPL'ed (I presume).

    Ethically, I don't see anything wrong with it. In the end, it's your design decisions that are going to make a difference, which is why the code split in the first place. In fact, there's no reason why both projects shouldn't take code from each other; if there are common areas where there's actually no disagreement, this will help to reduce duplication of effort.

    1. Re:No problem by Anonymous Coward · · Score: 5, Insightful

      Depends on whether both teams are more interested in politics or good software...

    2. Re:No problem by ClamChwdrMan · · Score: 5, Insightful

      I agree. Why bother duplicate the effort to write the same code between projects. Heck, open source projects should be encouraged to use each others code. That way some things could get done faster, and you already (hopefully) have some relatively debugged code that does what you want. This is probably just a matter of someone having an inflated ego.

    3. Re:No problem by nuggz · · Score: 5, Insightful

      If he doesn't like people poaching "his code", he shouldn't use a free license.
      If he starts to obfuscate everything, then he'll likely end up killing his fork anyway.

      Take the high road, continue to use the best available resources (even his code) and document and give credit to the appropriate people.

    4. Re:No problem by System.out.println() · · Score: 5, Informative

      I use several OSS programs whose authors borrow code from each other frequently. A very fancy tab window controller was written for Adium (IM client), which was promptly implemented in Colloquy (IRC). As I understand it, the author of Fire (another IM client) is close to being able to have AV chat, and if that happens that code will get inserted into Adium ASAP. Of course, Adium is already using GAIM's libgaim as well.

      It's like a giant orgy of shared code, and (to my knowledge) all of the authors are proud that their code is worth being implemented in other projects. Amazing how well we work together when money isn't involved...

    5. Re:No problem by csguy314 · · Score: 5, Funny

      Well I disagree. I think both should be doing their utmost to destroy the other project. I mean, isn't that the point of the split in the first place? Because you're absolutely right and the others are absolutely wrong... and they're assholes.
      [/sarcasm]

      --
      This is left as an exercise for the reader.
  2. Spirit of the GPL by dgerman · · Score: 5, Informative

    That is the spirit of the GPL! You are allowed to copy and use GPL code if your code is also GPL!

    1. Re:Spirit of the GPL by Dr.+Descartes · · Score: 5, Insightful

      In addition to the excellent above points, obfuscating the changelog also hurts his project. The true foundation of open source is the ability for Joe Coder to submit patches and additions to the project. He will limit others abilities and/or willingness to commit code to his project.

      The unfortunate aspect of an Ask Slashdot like this is we don't know the other developer's story. The developer has probably missed the point of open source and he's might even be a complete jackass but ultimately he's not here to defend himself. He may have some points missed by the author by mere nature of author's own subjectivity.

      That said, I'd keep on keepin' on. You are well within your rights to use code as long as it's credited. Furthermore, I think it's ethical and in keeping with the spirit of the GPL and open source culture to apply code that makes your application better. The point is to collaborate and make software that Sucks Less.

  3. Re:On the Ethics of a Code Split? by IO+ERROR · · Score: 5, Insightful
    Is it unethical? No way, it's GPL code, you have every right to take the code and put it back in the original project. Access to, and reuse of, the source is, after all, why the project is under the GPL in the first place. If somebody forks, he has to release under the GPL. And don't let him confuse the issue. If he's got a CVS repository open to the public, that's "distributed" code under the GPL.

    If the idiot who forked from you really wants to go closed source with it, he's going to have to change the license, and I bet most of that code was written by people on your side of the camp. I wish him lots of luck getting them to agree to license it to him under closed terms. If he just wants to close the CVS repository, or obscure the changelog, that's up to him, and the GPL permits this, but that would seriously hurt his fork, as people would be far less willing to get involved with it.

    So in short, it's not at all unethical. But is it rude?

    Again, I'm going to say no. It is, after all, a GPL project. You have to expect your code is going to wind up reused in other GPL projects sooner or later. That's a sign that you're writing good code. He should be flattered, not offended.

    In the long term, the politics are likely going to wind up killing one or both projects, so I'd suggest you try to keep the moral high ground, as it were, and let this guy run his fork into the ground. It sounds like he's well on his way there already.

    --
    How am I supposed to fit a pithy, relevant quote into 120 characters?
  4. Sounds like a... by xeon4life · · Score: 5, Funny

    Disgruntled XFree86 developer, are we?

    --
    Real programmers can write assembly code in any language. -- Larry Wall
    1. Re:Sounds like a... by Spy+Hunter · · Score: 5, Informative

      No, I believe the project is MegaMek, "an unofficial, online version of the classic BattleTech® board game." Unless McWizard at gmx dot com works on another GPL project.

      --
      main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
  5. He's a twit by alw53 · · Score: 5, Informative


    He's a twit. How did he get his code base in the first place? By copying it, under GPL, from a community of people who wrote it and released it.
    They didn't have veto power over others using their code and neither does he.

  6. As ethical in return.. by perimorph · · Score: 5, Insightful

    If it's unethical to legally bring in code from the spinoff project with full credit given and the license terms followed, then how could it have been ethical for them to legally take your code base and spin it off within the terms of the license?

    I see both as being perfectly fine, but if they're going to get angry about it, that's just hypocracy on their part. (At least that's what it looks like without reading their side of the story.)

  7. As a developer... by jd · · Score: 5, Insightful
    I'd say it's perfectly legal under the GPL - indeed, I asked Richard Stallman to confirm a very similar point, just in case I'd misunderstood the license.


    Is it ethical? Hell, yes! The whole idea of Open Source is to produce the best damn code possible. If it weren't, there'd be no point. It'd just be an ego-trip and flag-waving exhibition. Sure, some projects are just that, and some developers are only concerned with themselves. Such projects and such people rarely last, either in open or closed-source environments. When all you can see is yourself, you're obstructing the view of any goal you might want to reach.


    You cut bits out & give them credit. They do the same with what you produce. In the end, the fork will either produce two completely different products that were initially entangled, or will re-merge when it's finally understood that the different people were viewing the same problem, only from different viewpoints and/or with a focus on some specific part of it.


    For what it's worth, I say go for it. The other person has neither ethical nor legal ground to stand on, if it's GPL, LGPL or BSD.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  8. And here we have ... by Sweetshark · · Score: 5, Informative

    McWizard in the red corner with Megameknet/Megamek:
    http://sourceforge.net/projects/megameknet/
    and in the blue corner urgru with mekwars:
    http://sourceforge.net/projects/mekwars/

    Is this what its all about?

  9. Re:Forks are quite common by norwoodites · · Score: 5, Interesting

    The maintainer of gcc at that time was one person, Kenner, who said everytime someone submitted a patch, he would do a better patch next week. That is the reason for the split. Overly conservative is not the world for this, it was just plain stupid and a political mess.

    And it was more than just the cygnus people, it was also IBM and the fortran maintainer and other people too (yes IBM was involved with GCC before 1999) who founded EGCS, see about some of the history of EGCS project and GCC.

    SSP is also called propolice. The writter of it submitted it against a release branch which was the main reason why it got rejected and it was too big to review.

  10. idea and a limerick by TWX · · Score: 5, Funny
    I think that the grandparent was implying that if the fork maintainer doesn't like it, he's free to go and make his own product from scratch and license it however he chooses. He can't truly ignore the GPL (unless his userbase is so small that none of them care) and he can't rightfully claim the original code predating the fork as his, and since his changes are to GPLed code he has no standing as he knew the licensing conditions in the first place.

    I'd suggest replying to the guy with a limerick:
    There once was a man who did fork us,
    His etiquette complaints really torqued us.
    On Slashdot we moaned;
    posts left him quite 0wn3d,
    and now he looks like quite the dorkus...
    --
    Do not look into laser with remaining eye.
  11. Re:Did the forker really gripe? by ndb82 · · Score: 5, Informative

    There was a second paragraph in the original post... "Yesterday, I was contacted by the leader of the spinoff project who told me that he's quiet angry at us for doing that and that it's considered unethical and rude to copy code from the spinoff. As both projects are under the GPL, we have an opposing opinion on that matter and we've more than once invited him to copy code from our project. Nevertheless he's thinking about obfuscating his changelog and only open the source as packages when he's doing a release, which is, as he says, his right under the GPL." So, yeah, I'd say there was a gripe.