Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Technology

On the Ethics of a Code Split? 448

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."
This discussion has been archived. No new comments can be posted.

On the Ethics of a Code Split?

Comments Filter:
  • No problem (Score:5, Interesting)

    by perlionex ( 703104 ) * <[joseph] [at] [ganfamily.com]> on Wednesday December 22, 2004 @10:01PM (#11164685)

    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.

    • Re:No problem (Score:5, Insightful)

      by Anonymous Coward on Wednesday December 22, 2004 @10:03PM (#11164715)
      Depends on whether both teams are more interested in politics or good software...
      • Re:No problem (Score:5, Insightful)

        by Alan Cox ( 27532 ) on Thursday December 23, 2004 @08:01AM (#11166898) Homepage
        That appears to have been answered already. Anyone who talks about "their code" in GPL software made up from code by many contributors has a problem already.

        The fork can certainly hide its code until releases, but then it's got all the disadvantages of a proprietary software product - it's hard to work on and has no community. Plus when it comes out a little bit of diff and reading will deal with anything of interest. And obfuscate the changelog - as a user would you trust software whose author has made changes unauditable ?

        If the fundamental design goals are different then the chances are that the opportunities for sharing will go down over time anyway.

        Alan
      • If I'm understanding this right, someone forked a GPL'd project, but they're now claiming that the original project is being unethical in back-porting changes from the fork? That's crazy! Surely the whole point of the GPL, as opposed to say BSD-style licences, is that if you take GPL'd code you have to give back what you build on it? I don't see how the spin-off project have a leg to stand on, either morally or legally.

        On the subject of obfuscation, it seems clear that they only have to give back the "fin

      • Re:No problem (Score:3, Insightful)

        by ratamacue ( 593855 )
        No, it depends on the license and the license only. By choosing the GPL, the original author already made clear that forks are acceptable ("ethical" if you insist). If the author thought otherwise, he would have chosen a different license.

        Clean, simple, and unambiguous. Why did we have to muddy the waters by questioning "ethics"?
    • Re:No problem (Score:5, Insightful)

      by ClamChwdrMan ( 790007 ) * <ira.snyder@ g m a il.com> on Wednesday December 22, 2004 @10:06PM (#11164749) Homepage
      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.
      • Re:No problem (Score:5, Informative)

        by System.out.println() ( 755533 ) on Wednesday December 22, 2004 @10:28PM (#11164889) Journal
        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...
        • Re:No problem (Score:5, Insightful)

          by bdash ( 598142 ) <slashdot DOT org AT bdash DOT net DOT nz> on Wednesday December 22, 2004 @10:51PM (#11165013) Homepage
          In my opinion the open source community around Fire, Adium, Colloquy and Gaim is a good example of how things are intended to be. Fire and Adium are "competing" in the sense that they are both high-quality IM programs for Mac OS X, yet the developers have no problems collaborating. As mentioned in the parent post, a nice tabbed window controller was written for Adium, and was then adopted into both Colloquy and Fire. In the reverse direction, Colloquy's WebView-based message displays were adapted for use in both Fire and Adium. Gaim's service libraries have been factored into "libgaim" and are used to provide the core functionality of Adium, while Fire's AIM code is based heavily on Gaim's implementation.

          Open source is about sharing work to prevent reinventing of the wheel. Occasionally it is still necessary to re-implement functionality that exists elsewhere, but in general it is more sensible to build upon others work than to duplicate effort.

          "Good artists copy. Great artists steal." ;-)
          • by Frymaster ( 171343 ) on Thursday December 23, 2004 @12:58AM (#11165683) Homepage Journal
            Open source is about sharing work to prevent reinventing of the wheel

            of course everyone here thinks picking code out of the split is a good idea. but... let's consider the flip side for a moment:

            why did the code base split in the first place? obviously, because a group of developers in the team felt they had a better vision or method or whatever than the team leads. a code split is only a last resort, so we can probably assume that the developers who went on to form the split put a lot of effort into trying to get their ideas into the original source tree and were unsuccessful.

            so, now that the split team has got a project up and running and is writing new code that embodies their vision of the project, they find that the original team who probably rejected at least some of the split team's ideas before the split is now suitably impressed with the results to roll them into the original source tree.

            the question the split team may be asking themselves right now is this: if our ideas and code are so hot, why didn't you pay attention to them originally? and, furthermore, if the original team is so impressed with the features of the split project, why don't they put their effort into working on the split instead of the first source tree?

            not meant to be flamebait: just trying to consider the motivations and rationales of the split team since no member of that team was given the opportunity to present their opinions or views in the original post.

            • Based on the topic if the post, I would suggest that personality conflicts probably played some part in the split of the project.

              That said, the majority of your post seems based on the idea that the original project is using significant pieces of code from the new project -- the post clearly says "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)". Your argument would be completely valid, and I would probably agree with it, if the original project was rolling in the new features that they objected to which resulted in the split in the first place.
            • A good example of this is the Linux kernel. Linus encourages the other kernels to experiment with newer code and thus prove its usefulness. Getting a patch to

              a) work
              b) be used by some distribution for some actual purpose

              is generally part of getting into the main tree.

              the question the split team may be asking themselves right now is this: if our ideas and code are so hot, why didn't you pay attention to them originally?

              The answer might be, "Because before you implemented these ideas we weren't su
      • by csguy314 ( 559705 ) on Thursday December 23, 2004 @12:13AM (#11165427) Homepage
        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]
    • Re:No problem (Score:4, Insightful)

      by adeydas ( 837049 ) <adeydas@iCOMMAnbox.com minus punct> on Wednesday December 22, 2004 @10:10PM (#11164779) Homepage Journal
      i don't think it should be an ethical problem either because development in any field should be considered a continuation where you should make only new stuff. if you have to start from scratch every time, then it will be a serious hindrance to development...
    • Re:No problem (Score:5, Insightful)

      by nuggz ( 69912 ) on Wednesday December 22, 2004 @10:17PM (#11164817) Homepage
      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.
      • Re:No problem (Score:5, Insightful)

        by theonetruekeebler ( 60888 ) on Thursday December 23, 2004 @12:30AM (#11165501) Homepage Journal
        If he doesn't like people poaching "his code", he shouldn't use a free license.

        A fork from a GPL'd project is subject to the GPL. RTFGPL section 2.b for the specifics.

        If the forker starts obfuscating his code, he is locking in his clients as effectively as if he closed the source. From what I hear so far, it looks like the fork happened because somebody got into a dick-size-war and started to lose. Now, he is trying to make his project better by attempting to sabotage your project. While he is not circumventing the letter of the GPL, he is violating its spirit by forsaking cooperation for his own glory.

        Aside from the fact that he is, in effect, telling his users (if any are left) that he no longer gives a fuck about them, there is still nothing to prevent you from downloading the full source and running a diff to see what he's done.

        To summarize: What you are doing is not merely ethical but encouraged by the spirit of Open Source. What the forker is doing is unethical, unsportsmanlike, and contrary to the spirit of Open Source. If he's true to the pattern of the Wounded Ego, he will soon threaten some sort of legal action against you. Ignore him. At this point, he has about as much credibility as SCO.

        • by TWX ( 665546 ) on Thursday December 23, 2004 @01:56AM (#11165918)
          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...
      • Re:No problem (Score:5, Insightful)

        by Feztaa ( 633745 ) on Thursday December 23, 2004 @12:34AM (#11165550) Homepage
        I agree with you, and it's especially true if the submitter is the project leader from the *original* project, not the leader of the spinoff. In that situation, it's pretty hippocritical for somebody to fork your code, and then scream at you when you re-incorporate his changes -- afterall, he started his project by stealing 100% of your code, presumably because he wasn't happy with it. He should be happy to see that his improvements are making it back into the original project.
      • Re:No problem (Score:3, Informative)

        by HiThere ( 15173 ) *
        Your approach is both ethical and legally correct, but perhaps you should consider that the political cost of dealing with him isn't worth the effort.

        Were I in your position, I'd just stop looking at his project. Not because ethics demand it, but because I wouldn't want to deal with someone who acted as you describe him as acting.
      • by Ungrounded Lightning ( 62228 ) on Thursday December 23, 2004 @02:07AM (#11165960) Journal
        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.


        I see a lot of posts here that are assuming that the question came up because the person who forked the code is griping. Though the parent posting here doesn't explicitly say that, it is the first moderated-into-default-visibility where that possibility is implied. Hence I have chosen it for my reply.

        The original posting doesn't claim that there ever was any gripe. It is phrased as a simple question, by someone who is just concerned, himself, about possible ethical issues.

        Maybe it DID come up because there was a gripe. But let's assume not unless/until the the article author or someone else in the know says otherwise.

        Having said that, I'll now chime in on the original question.

        A number of other posters have already pointed out that due to the open license (clearly implied by the circumstances) it's squeaky-clean legal to backport any good pieces. And both because that's the intent of open licenses and because the fork essentially lifted the whole project, it's also fair. I concur with both points.

        Additionally, from a practical standpoint, backporting the good stuff from the fork to the main reduces the divergence (and reduces the total effort). This is good for both prongs: It makes it easier for someone familiar with one to work with, or work on, the other. And it simplifies matters if the two forks are ever to be remerged into a single project. These two argue for merging, not just where improvements or bug fixes are major, but even if the improvement is minor, cosmetic, or even when it makes an arbitrary choice among several roughly equal alternatives.

        So feel free to merge whenever it makes any sense at all for your branch of the tree.
        • by ndb82 ( 736898 ) * <nbailey@gmail.com> on Thursday December 23, 2004 @02:16AM (#11165993) Homepage
          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.
    • by EmbeddedJanitor ( 597831 ) on Wednesday December 22, 2004 @10:19PM (#11164826)
      Forking happens more than people realise. Something I've seen a few times is A is the developer/maintainer of some code and B develops a new feature/fixes a bug etc and sends it back to A. A refuses to accept the patch. This forces B to fork or live withouth the patch.

      I've seen this happen in pretty important chunks of code - even gcc - which is pretty sad.

      As a maintainer for a file system, I try to treat people as "customers". Sure, unless they're paying, they don't have any legal rights, but there is still some moral obligation to serve. I try to add the features that people want without breaking the design goals etc. I'm sure this is easier with a file system which is very deeply buried than with a userpsace program where everybody has a beef about itty-bitty features.

      • by Asprin ( 545477 ) <(moc.oohay) (ta) (dlonrasg)> on Thursday December 23, 2004 @01:31AM (#11165832) Homepage Journal

        As a maintainer for a file system, I try to treat people as "customers". Sure, unless they're paying, they don't have any legal rights, but there is still some moral obligation to serve.

        According to *my* EULAs, I don't have any legal rights even when I *am* paying. ;)
    • by Chuck Chunder ( 21021 ) on Wednesday December 22, 2004 @10:22PM (#11164842) Journal
      If anyone is being unethical it is the other party for trying to browbeat into place additional restrictions on top of the GPL

      Open Source and Free Software work so well because no matter what differing motivations and desires different people have we all can all come together with a given licence as a basis for a sort of social contract.

      If a party is trying to restrict what the licence in question normally allows then it is they that is being unethical.
      • I agree 100%. The purpose of the GPL is creating freely available software. In fact, anybody who's bothered to read the agreement knows that the developer is also bound by certain rules. One of which (at least in the case of the GNU GPL) is not to impose additional restrictions on the software. It's not just a matter of ethics.
    • The point of GPL is sharing. The other team leader is an egotistical idiot. Take what you want. If he were anything but an idiot, he would be flattered, and he would take anything from yours that came in handy. But he's one of those arrogant fools who thinks that everything he does is better than everyone else. His opinion is not worthy of consideration. So don't consider it.
    • I agree (Score:5, Insightful)

      by hayden ( 9724 ) on Wednesday December 22, 2004 @11:22PM (#11165175)
      Legally it's a non issue. Ethically it's a fine example of hypocrisy.

      My two step plan for dealing with the problem.

      Step 1:
      Politely and calmly explain it to him that as both code bases are GPL'd it's perfectly legal to do what you're doing. Also point out that he's benefitted from this arrangement by not having to recode everything to get the spin-off off the ground and doing what he's planning on doing will harm the spin-off.

      Step 2:
      If step 1 doesn't solve the problem then tell him to go fuck himself and use the code anyway.

    • Like the parent said: Legally there's no big deal as long as the resulting code is GPL. Code shareing is what the GPL is about. Morally, pretty much ditto... His project has gained from the work of many others, so why not the other way round?

      On a personal and social footing, however, if you've got an angry 'contributor' then you've got a problem on your hands. If it gets to the point where he's obfuscating his change logs, it's going to hurt his project and the bad blood can't do you any good.

      I'm guessing that he's upset about something else to do with the split (i.e. he may feel seriously unacknowledged for the work that he put into the project pre-split or dissed as a side-effect or something like that), and seeing 'his' code being 'lifted' into your fork is just re-opening old wounds for him.

      I think you're gonna have to do something to diagnose and heal that old wound, or the whole thing's just gonna end up an infected stinky mess.

  • losing sleep? (Score:5, Insightful)

    by jspectre ( 102549 ) on Wednesday December 22, 2004 @10:02PM (#11164699) Journal
    are you losing sleep over the matter? if not. don't worry about it and get on with the better things in life. let the weenie at the other project be a weenie.
  • Spirit of the GPL (Score:5, Informative)

    by dgerman ( 78602 ) on Wednesday December 22, 2004 @10:02PM (#11164700) Homepage
    That is the spirit of the GPL! You are allowed to copy and use GPL code if your code is also GPL!
    • Re:Spirit of the GPL (Score:3, Informative)

      by molnarcs ( 675885 )
      "That is the spirit of the GPL!"

      Not just GPL I would say. It is the spirit of Open Source. Take the BSD's for example. They not only think that code sharing between projects is fine, they also pay extra attention to portability - to make code sharing easier (and that's not just NetBSD, I've seen changelogs of commits in FreeBSD that's main purpose was to make the code more portable across BSD's).

      I good example is ehci (usb 2.0 support) that was written by FreeBSD devs, and then maintainer abandoned it.

    • Re:Spirit of the GPL (Score:3, Informative)

      by EastyZ ( 713095 )
      Not only the spirit of the GPL, but FOSS development in general, I would say. Being from the BSD camp myself, this is not only common, but normally actively encouraged. All the BSDs are forked from a common codebase at one point after all. So usually any snippets of code commited to one end up in the others with appropriate credits, if they are found useful. But then, BSD-folk have always been liberal about where the code is used anyway, that's the whole point of the BSD-license of course, even more so tha
  • by tpgp ( 48001 ) on Wednesday December 22, 2004 @10:03PM (#11164703) Homepage
    Weird.

    The other developer obviously does not understand the GPL. Of course you can use the code, just as long as you preserved the copyright notice.

    Use & share the code - thats the whole point of the GPL anyway.
  • by IO ERROR ( 128968 ) * <errorNO@SPAMioerror.us> on Wednesday December 22, 2004 @10:03PM (#11164705) Homepage Journal
    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.

    • It's *OURS*, not mine.

      That's the whole idea.

      Also, copying bits from one GPL program to another GPL program is not out of the ordinary. This is a constant in open source software.

      To minimize confusion, every developer should probably read (and understand) the GPL.

      http://www.gnu.org/copyleft/gpl.html [gnu.org]
      "You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright not
  • by Senjutsu ( 614542 ) on Wednesday December 22, 2004 @10:03PM (#11164712)
    Yes? Then I fail to see how this is an ethical question at all. If they didn't want others using it, they wouldn't have made it available for others to use.

    Never let your ego stand in the way of improving the software.
  • by xeon4life ( 668430 ) <devin@devintMOSCOWorres.com minus city> on Wednesday December 22, 2004 @10:04PM (#11164719) Homepage Journal
    Disgruntled XFree86 developer, are we?
  • Live by the GPL... (Score:5, Insightful)

    by Duncan3 ( 10537 ) on Wednesday December 22, 2004 @10:04PM (#11164724) Homepage
    ... die by the GPL.

    You're fine. If they didnt want to share, they shouldn't have stayed with the GPL.

    At least you're giving credit, which is a pile more then most bother to do.
    • by hazem ( 472289 )
      If they didnt want to share, they shouldn't have stayed with the GPL.

      I think they're pretty much stuck with the GPL unless they want to re-write anything that doesn't belong to them.
  • by jlgolson ( 19847 ) on Wednesday December 22, 2004 @10:04PM (#11164729) Homepage Journal
    Isn't the whole point of Open Source to share ideas and improve everybody's work?

    As long as you give credit and don't try to pass it off as your own, I don't see the problem... unless you are selling this product, in which case it's a tricky situation. Maybe take the idea and give credit but rewrite the code your own way?

    If you shared code originally, what's wrong with sharing it now?
  • If it is under the GPL and you are giving proper credit, I don't see the problem. I see this kind of sharing as part of the entire point of putting one's work under the GPL.

    There must be some bad blood for him to say something is under the GPL, except for you.
  • He's a twit (Score:5, Informative)

    by alw53 ( 702722 ) on Wednesday December 22, 2004 @10:05PM (#11164738)

    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.
  • by supabeast! ( 84658 ) on Wednesday December 22, 2004 @10:06PM (#11164741)
    It's open-source. If he doesn't want certain people re-using the code, well, then he shouldn't release his code under the GPL. Trying to restrict use of open-source code because he has a personal grudge with a project he split off of is the real unethical behavior.

    If he wants to do this and not share with everyone, he needs to start over with his own commercial implementation from scratch. Until he does, just tell him to suck down a nice big mug of STFU.
  • by perimorph ( 635149 ) on Wednesday December 22, 2004 @10:06PM (#11164744)
    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.)
  • It's fair game (Score:3, Insightful)

    by smartin ( 942 ) on Wednesday December 22, 2004 @10:06PM (#11164746)
    If it's an open source project their improvements are fair game, and it's in the best interests of both branches to share and use each others improvements on the common core parts of the software.
  • by dfay ( 75405 ) on Wednesday December 22, 2004 @10:07PM (#11164753)
    Of course, much depends upon the licenses, but pretty much all of the open source and free software licenses are based on lofty principles of the sharing of information and code.

    If you believe that the spinoff developers really adher to the principles embodied in their license, not only is it okay to borrow, they should encourage it.

    It's as simple as that.
  • Gentle Reader,

    If he doesn't want you to use his code, he shouldn't license his additions under the GPL, whereupon you can sue him into the ground.

    Since he is licensing it under the GPL (as he must, since the original codebase is GPL), you should gently remind him of that fact.
  • I think.. (Score:3, Insightful)

    by boomgopher ( 627124 ) on Wednesday December 22, 2004 @10:08PM (#11164758) Journal
    this guy needs to grow up. (Mods: I'm not trolling here). This is the worst thing about working in software: some developer's baby-like attitude about the code they write. Every fucking place I've worked has always had some guy who's pathological about his code. (for the peanut gallery: no, it's not me).

    What is it about coding that draws these types? Was it being beaten up in school, and now they're nuts about the one thing they're good at?

    • Re:I think.. (Score:5, Insightful)

      by the-build-chicken ( 644253 ) on Wednesday December 22, 2004 @10:52PM (#11165019)
      personally, I'll admit to being a bit of a nazi with code I've written...the reason has nothing to do with ego...it's because I'm sick of someone jumping into my code without consulting me, not truly understanding the reasons behind decisions I made, changing things and generally f#$%ing it all up...then, when the boss is looking for someone's ass to kick they're no where to be found or, when they are found, their response is "oh, thats name withhelds code".

      You could argue that I could blame those changes on the developer who checked them in, pull cvs logs etc etc...but when you're dealing with non technical bosses, you just look like you're trying to pass the buck, and they certainly don't understand the difference between lines 20-25 two days ago vs 25-29 now and why that broke things.

      So, code nazi-ism can be a self preservation method as well as being ego driven.
      • Re:I think.. (Score:4, Insightful)

        by fwr ( 69372 ) on Thursday December 23, 2004 @12:39AM (#11165579)
        I have to make a big assumption here, but it sounds to me like you work for a proprietary software company and not on an open source project. That is a totally different situation, and I can see your point in those circumstances. However, with open source projects the whole concept changes, and your concerns do not hold up to reality.
    • Re:I think.. (Score:3, Interesting)

      by ZorinLynx ( 31751 )
      I knew someone who had this problem. I frequent TinyMUCKs, which are online text-based environments much like MUDs, only more socially oriented. TinyMUCK has a programming language called MUF (Multi-User Forth), and lots of people write MUF programs to do various silly things in the system.

      A while back there was a particular developer; let's just call her M, who would go utterly BALLISTIC if anyone tried to port her code from one TinyMUCK system to another. Even though she wasn't being paid for the work, s
  • It doesn't matter... (Score:5, Interesting)

    by Tsugumi ( 553059 ) on Wednesday December 22, 2004 @10:09PM (#11164765)
    whether you call it GPL or not. The idea here, folks, is to get shit done. The GPL et al is a handy way of making sure that you don't have to jump through hoops, or reinvent the wheel in order to get shit done - you just use the accumalated sum of human knowledge at your disposal to make things that people can use to do stuff.

    Can you imagine human history without being able to use other people's good ideas? I mean even if it's not derived? "I'm sorry, you can't have that steam train - I represent the estate of the ancient greeks, and we have a patent on the steam engine."

    Having said all that, accreditation is nice - aknowledge the work that people have done, it's cool that you are doing this. This is what polite people in academia do - just recognise the derivation of the idea, then use it with what you're doing.

    T

  • The license says you can, and more than that it is completely within the spirit of the GPL. I'd go as far as saying its one of the cases that motivates people to use the GPL over other licenses (always being able to merge changes from other public forks and branches).
  • Code split? (Score:5, Funny)

    by dbIII ( 701233 ) on Wednesday December 22, 2004 @10:10PM (#11164780)
    Tell RMS you really do want to use Emacs on X-Windows, and since he's not the developer it's none of his business anyway - if he doesn't like it, he can appoint another developer, spend a year teaching him C and fork Emacs if he wants to.

    Oh, that already happened.

    If you have a good reason, just split the code - emacs survived it, XFree86 survived it.

  • by Jaywalk ( 94910 ) on Wednesday December 22, 2004 @10:11PM (#11164784) Homepage
    I'm pretty rigid when it comes to ethical stuff, but where is the ethical dilemma in this? Unless you're taking trade secrets from a competitor or claiming that the new code is your own, there is no moral conflict involved. Sure, you're using someone else's work, but isn't that what code reuse is all about? It sounds more like Best Practices than an ethical problem.

    Arguably, it might have been more polically aware to ask permission before using the code, but I'd say the more serious problem is that the leader of the spinoff doesn't appear to fully understand the concept of the GPL. Anybody can take a project and expand on it. That code can, in turn, be added to any other project. It's all about sharing and showing your stuff, so someone using your code should be taken as a compliment, not theft.

    Maybe you could try and talk to him and ask why this is a problem; perhaps it's a matter that can be settled. In any case I wouldn't borrow any more of their code until the matter is cleared up since that would only escalate the feud.

  • Who cares? (Score:2, Funny)

    by tomstdenis ( 446163 )
    If the other little dweeb released his code under the GPL too than I say suck it dry. Use all the work without a second thought.

    Of course if you guys share so much code why not just make a 3rd library of the shared code and be done with? E.g. take the intersection of your projects and make that a new library. That way you can focus on your particular tweaks and still be happy.

    Of course I can come up with these cool ideas because I'm a forking genious.

    Tom
  • As a developer... (Score:5, Insightful)

    by jd ( 1658 ) <imipak@ y a hoo.com> on Wednesday December 22, 2004 @10:15PM (#11164808) Homepage Journal
    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.

  • Huh? (Score:3, Interesting)

    by peterdaly ( 123554 ) <{petedaly} {at} {ix.netcom.com}> on Wednesday December 22, 2004 @10:17PM (#11164816)
    If we are talking about the GPL, not only is it ethical, but it's expected and encouraged by the community at large!
  • If both projects are under the GPL, there's no reason you shouldn't take his code and use it in your own. He has to realize that both projects are based on the same code and are aiming to do close to the same thing ... and also that he forked the code and is releasing it under the GPL himself (under the rules of the GPL). If he doesn't want you taking his GPL code when he took yours, then he's just being unreasonable and should rewrite everything and keep it closed. Additionally, aren't you guys supposed to
  • by drigz ( 804660 )
    First off, I'd have a look at their code and see if they'd taken anything from me...
  • Project is MegaMek (Score:3, Interesting)

    by ChrisDolan ( 24101 ) <chris+slashdot.chrisdolan@net> on Wednesday December 22, 2004 @10:24PM (#11164850) Homepage
    For the curious, Google turns up that mcwizard [sourceforge.net] is on the MegaMekNet [sourceforge.net] and MegaMek [sourceforge.net] projects. Both are games: Java clones of BattleTech.
  • Hmmm (Score:3, Funny)

    by Sophrosyne ( 630428 ) on Wednesday December 22, 2004 @10:24PM (#11164851) Homepage
    ...well, at least we finally know why Longhorn was delayed.
  • by Drgnkght ( 449916 ) on Wednesday December 22, 2004 @10:27PM (#11164873)
    How, exactly, is it unethical to take small snippets of code from a fork? Remember, to start the fork the spin-off team took the original project's entire codebase. All of it. You are not in the wrong here. The fork has to maintain the GPL license (or completely rewrite all the pre-existing code). Given that the GPL made it ok for them to take your project's codebase and start a fork, they can not claim foul when you do the same thing to them.

    This is all about someone's ego. Squash it or not as you see fit.

    In other words, do *you* care what they think of your use of their code. In this situation, that is about all that really matters.
  • Besides the ethics (Score:3, Interesting)

    by oo_waratah ( 699830 ) on Wednesday December 22, 2004 @10:30PM (#11164894)
    There is a difference of opinion. In both patches and directions. The trick here is to be the best person possible in these situations.

    a) Post minor bug fixes between code to their bug notification system. Prove that you have good faith and are not sabotaging their ability to compete, you have a difference in opinion about methods but you are working on the same goal.

    b) Post a request for developers to cross post any bug fixes into your system to the list. Request that the project sponsor post this on their page. (Sounds like they will decline but you should be polite and officially ask).

    There is no real ethical debate here. The reason for the fork is apparent and ANY code changes that makes the project a better one is for the common good. Is is anoying when the competition "stands upon the shoulder of giants", hell yes.

    Ego and programming do not mix and is the biggest problem with most developers.
  • by he-sk ( 103163 )
    Isn't that the whole point of Free Software?
  • by cookie_cutter ( 533841 ) on Wednesday December 22, 2004 @10:44PM (#11164970)
    Deliberate obfuscation of released source is a violation of the GPL, because obfuscated source is not the actual source; it is not what would be used for further development.

    This is laid out in the open source definition [opensource.org], of which the GPL fits, which explicitly forbids obfuscated source.

    Whether and how this applies to changelogs is another matter, since those could be interpreted as not being part of the source.

    However, if the changelog is important for understanding the source, then I would interpret the GPL as regarding the changelog as part of the source code for the project, and therefore subject to the redistribution clause of the GPL.

  • Unethical? What?! (Score:3, Insightful)

    by jidar ( 83795 ) on Wednesday December 22, 2004 @10:53PM (#11165022)
    Not only is it NOT unethical, it's precisely what you SHOULD be doing. Anyone who thinks this is unethical completely misses the point behind the free software movement. Quite frankly, I wouldn't trust anyone who takes that kind of position either.
  • Rude? (Score:5, Insightful)

    by SpecBear ( 769433 ) on Wednesday December 22, 2004 @10:53PM (#11165024)
    Say to him "No, rude would be if I told you to go get stuffed, like I'm about to do." You are using the code in a manner that isn't just permmited by the license, it's intended by the license.

    I'm sick and tired of these fairweather open source developers. They're all for it when it means they can get a jumpstart on their project using freely available code and not have to ask permission. They're all for it when it means they look at what others have done for inspiration. They're all for it when it means they can attract more developers with the promise that their code won't be locked away to wither and rot so long as someone, anyone is interested in it. But once someone starts using it in a manner they don't approve of, they're up in arms.

    Hey, that's the GPL. If it's all his code, he can stop releasing it under the GPL and use a more restrictive license. Otherwise, tell that arrogant bastard he needs to look down on all the GPL shoulders he's standing on and rethink his position.
  • Politics (Score:3, Insightful)

    by pugugly ( 152978 ) on Wednesday December 22, 2004 @10:55PM (#11165033)
    Honestly, this sounds like a political problem, not a coding or ethical problem. Going by the description here (and I'm only a so-so programmer, and don't know the community in question, so I'm assuming the description here is accurate) someone didn't like the way things were run and the amount of emphasis on the features *he* wanted, and decided to fork the code. Even got enough people who agreed with him (or were malleable) to support his side of the project.

    Good - evolution comes from competition, both sides of the fork are stronger thereby - it's one of the several reasons open source produces better code.

    But he left the main fork because he didn't *like* the way they were running things, and then they have the sheer temerity to use *his* code. Them B@st@rds!

    Which leaves you in the position of having to choose whether or not to ignore the spirit and letter of the GPL, leaving him his exclusive code, but preserve peace between the forks, or respectfully disagree, point out that he has the same option available to him, and use what you find useful, or even get nasty and tell him that he can keep his source secret, but needs to remove the GPL'd code from his project.

    Those are the options I see for you. Unfortunately, which of those you pursue is a poltical decision you need to make, not an ethical or legal one, so you need to talk to your base, not slashdot.

    That said - I would go to option two - respectfully disagree and exercise your rights, going to option three if he tries to make it difficult to do so, but I'm a very polite hardass when it comes to someone trying to infringe my rights. Your political situation may not have the stability to do so.

    But it doesn't really sound like the open source community is ready to tale up arms on his behalf, so at least that part of your equation is answered -
  • by GrouchoMarx ( 153170 ) on Wednesday December 22, 2004 @11:04PM (#11165080) Homepage
    The whole point of the GPL is specifically to allow that sort of sharing and cross pollination. The inability to do that in proprietary code is why Free Software exists in the first place.

    As long as you're giving due credit where credit is due (technically not required by the GPL, but I would consider it only honorable), then you're in the right. If the other guy doesn't like it, then his beef is with the way Free Software works in the fist place, not with you specifically.
  • by macdaddy ( 38372 ) * on Thursday December 23, 2004 @01:08AM (#11165729) Homepage Journal
    Don't keep this conflict from your userbase. They should be aware of the issue and what your stance is. This is a matter of perception and in a way politics. Telling your userbase about the problem will be seen by your userbase as being upfront about the problem. Not saying anything about it will make it appear as if you are trying to hide something, even if all you really intended to do was ignore the other party. Other open source project leaders/teams have come forward at one time or another to tell their userbase about similar problems. You should too. Don't be pissy in your message to your users. Don't try to blame the other party for their interpretations of the GPL or what the conflict that drove them away to begin with. You should simply be concise and factful. Don't go into a lot of detail. Just get to the point.

    You shouldn't hide this problem from your userbase or the other contributing developers. It will be worse for you and your project in the end if you don't go public.

  • by NitroWolf ( 72977 ) on Thursday December 23, 2004 @02:45AM (#11166118)
    I've had one of the most popular Sourceforge projects for a number of years now (the popularity is waning now, for obvious reasons... but I was in the top 10 for awhile) - My project is ShowEQ. We had a code split with SINS, and SINS developed in conjunction with ShowEQ for a time.

    We did incorporate a lot of SINS stuff back into ShowEQ, because I did believe some of the directions that SINS headed in were good, but the overall direction I did not believe was what was needed for the community. However, the code was not a drop in replacement into ShowEQ for current fuctions (or to add new functionality, etc...) so we used the SINS code as a starting point and wrote the SEQ code with SINS as a base idea.

    Regardless, the point is that Open Source and GPL are meant to do exactly this. There is _NOTHING_ unethical/immoral about taking bits and pieces of code from other projects and using them in your own. That's exactly what SHOULD be happening. The maintainer of SINS contacted me about using some of the code/ideas from SINS and asked me to give him credit in ShowEQ, which I had neglected to do since we didn't take the code directly and drop it in to the SEQ codebase... but I agreed that giving SINS credit within SEQ was the right thing to do... so in your case, I would definitely attribute portions of the code to the other guys project, even thank him. But there is certainly nothing what so ever immoral about what you are doing with GPL code.

    Whoever the guy is that said that is the immoral asshole for even suggesting that... especially if he is the one that forked the code base to begin with and is using other peoples code himself.
  • by aug24 ( 38229 ) on Thursday December 23, 2004 @04:04AM (#11166351) Homepage
    Does the other maintainer think it ethical to use the code base from the original project? Apparently so. In which case, in the gpl quid quo pro, his code is available to all (not just you) for use in *any* gpl'ed project.

    Go for it!

    J.
  • by Per Abrahamsen ( 1397 ) on Thursday December 23, 2004 @06:34AM (#11166674) Homepage
    As everyone else have said, legally there is no problem, and from a rigid ethical point of view you are also in the clear. Especially if the other guy is not the original author.

    However, this misses another point which is also very important, namely how to create an athmosphere of cooperation (or at least peaceful coexistence), which will benefit both of you. Or more specifically in this case, how to teach the other guy the value of sharing.

    If you say "fuck you, the GPL gives me the right to copy your code!", you can be pretty sure he will do his best to obstruct your work, and won't release any code again under the GPL (or any other free software license) when given a choice.

    And given that he actually does write code worth of copying, that would be a loss for the community.

    If you can give the impresion that you respect his wishes, but hope that you can find an arrangement so that you can incorporate his excellent work in a way he doesn't find unfair (maybe after an official release), and if there is any of your humble work he might find of use, you would be flattered to help make it accesible to him, and are there any other ways you could cooperate...

    The instinct of most of us is to stand proudly on our rights, but often better results are achieved by looking at what you really want to achieve. Is being "right" really your end goal?

  • Share the Code! (Score:3, Interesting)

    by Cros13 ( 206651 ) <cros13@nOsPam.gmail.com> on Thursday December 23, 2004 @06:36AM (#11166678) Homepage
    I work for a primarily FLOSS company. We recently developed an application which we were pushing at trade shows all over Europe. During our travels, we met several other companies' suits who were developing similar or identical solutions. Even though some of these companies are direct competitors, we encouraged them to look at our code, see the solutions we had created and adopt some of our code. Result: Out of 22 companies we talked to 20 made their solutions OSS. We have now integrated some of their code into our own product just as they have used our code. Moral of the story: Sharing makes the community stronger, eliminates much inefficiency and makes the software better! We survive separately BECAUSE we have different ideas of how features should be implemented.
  • Me too! (Score:3, Informative)

    by Kidbro ( 80868 ) on Thursday December 23, 2004 @07:03AM (#11166726)
    This is probably the most redundant post I've ever posted, but I just have to state that I don't think that what you're doing is the least bit unethical.
    To me, this is the whole point of the GPL. The end result is a better piece of software for the user, and that has to be good.
    If somebody decides that your code is good enough to "steal" (in the GPL way), you should feel honoured, not angry!
  • by mrjb ( 547783 ) on Thursday December 23, 2004 @07:12AM (#11166757)
    Both projects are GPLd.

    Not only is it ethical to copy back the code; this whole community thing of having other people contribute directly or indirectly to your code, is *the point* of GPLing it. NOT allowing others to do this would be unethical.

    Here's to the spinoffers: don't be a bunch of childish hypocrits. By making a spinoff of an existing project you benefited from the code of others, now give back something and let them benefit from your code.
  • by Kjella ( 173770 ) on Thursday December 23, 2004 @08:02AM (#11166901) Homepage
    ...I've seen similar complaints about mplayer vs xmms, and quite a few other "competing" projects. In most of the cases, it has been about taking all the hard back-end work, and slapping a new GUI on top promoting it as "their" product.

    At least in some of those cases it had merit because they are competing for developers, public support, financing, brand recognition etc. etc. But this looks more like a good old personal disagreement.

    His project will not be lessened by you taking his improvements. If he feels you're leeching off his project (i.e. providing nothing in return), that is his own fault for not using any of the possibilities the OSS licencing provides.

    There's nothing wrong or unethical with not wanting others to use your code. But you can't eat your cake and have it too. He took the GPL code, and he's bound by the GPL. If he wishes the licence was different, he should not be blaming his mistakes (basing his fork on a GPL project) on you. Who put a gun to his head and forced him to release it under the GPL? Only himself, by making it part of a GPL project.

    Kjella

"If it ain't broke, don't fix it." - Bert Lantz

Working...