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

21 of 448 comments (clear)

  1. 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 molnarcs · · Score: 2, Informative
      "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. It was picked up by NetBSD devs, who enchanched it, and went trough OpenBSD as well - now FreeBSD folks are reintegrating the code (it's still work in progress). Note that the BSD licence wouldn't even force anyone to give back ... it just makes a lot of sense, and I say: forget the whino. If he wan't to spend time on obsfucating changelogs instead of developing, there won't be too much his fork could offer you after a while.

    2. Re:Spirit of the GPL by EastyZ · · Score: 3, Informative

      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 than the GPL.

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

  3. 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?" `":" #");}
  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: When code is GPL'ed... by jcole · · Score: 2, Informative

    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
    "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 notice and disclaimer of warranty;"

    -Joe

  6. Re:Sounds like a... by slashdevslashtty · · Score: 2, Informative

    Mod parent up! (If you want proof, check McWizard's only comment.)

    --


    M$ Lawyer: But `gcc /dev/random -o kernel.dll` is our trade secret!
  7. 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?

  8. On Obfuscation and Open Source by cookie_cutter · · Score: 4, Informative
    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, 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.

  9. Ask permission of others? by vinn · · Score: 2, Informative

    A really interesting split to study is what happened to Wine a few years ago. In 2002, Wine was under the X11/BSD license. A lot of people wanted to move to LGPL and a pretty big debate occurred. In the end, a vote was taken and the decision to move to LGPL was made.

    Obviously that's not a concern you had, but we'll assume you guys did do some kind of vote for forking the project and that it was a fairly civil process. If you didn't - well, that was the start of your problems and unfortunately it's not that easy to go back.

    Now, if the fork you're talking about has multiple developers, what you should do is something similar to what Wine (actually Wine's X11 fork, ReWind) did - contact each developer individually and ask them for permission to use their patches. You seem to have one person who disagrees and it doesn't seem like you'll get their consent, but shouldn't you at least ask the other developers?
    Then, make it easy for people to submit patches against your project as well as the one they regularly submit to.

    So that's the nice thing to do. Keep in mind what you're probably doing is only a short-term solution. Eventually your codebases will diverge enough that it may not be worth trying to integrate patches. At that point, you're going to have to realize that two teams are duplicating each others work and figure out whether or not that's productive.

    Try to keep in mind why you guys chose the GPL in the first place. If it's a license you truly believe in, then it's pretty hard to argue against people reusing bits of code.

    --
    ----- obSig
  10. Re:NOT the spirit of the BSD license. by mabinogi · · Score: 2, Informative

    you're confusing a side effect of the license with the spirit of the license.

    The difference between the GPL and BSD licenses is that the GPL enforces the spirit, that doesn't mean that BSD doesn't have the spirit of freely available and shareable code at its heart.

    --
    Advanced users are users too!
  11. He forked YOUR project by Anonymous Coward · · Score: 1, Informative

    and now he's mad you're using HIS code?

    Where does he think the base code came from?!?

  12. Re:Reminiscent of an older story by Anonymous Coward · · Score: 1, Informative

    That would be PocketNES, coded by Loopy. The game was Jajamaru Jr. by Jaleco.

    And to think that people called it stealing even AFTER Loopy spoke on the matter. As if it was their place to make that call, and not Loopy's. Fucking idiots.

  13. Re:No problem by HiThere · · Score: 2, Informative

    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.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  14. Re:Forks are quite common by ComputerSlicer23 · · Score: 2, Informative
    Uhhh, I'm fairly sure this is a reference towards "egcs", which the problem was (according to the egcs guys at least). GNU GCC folks wouldn't get off their ass and apply patches that fixed real life bugs (or give feedback on what had to be done to the patches to get them applied). In the end, everybody was applying a huge set of patches to gcc that the maintainers wouldn't take. Some people got tired of it, and formed egcs (I believe that's the cygwin guys who are now RedHat guys, but don't quote me on that one).

    GCC at the time was pretty well know for being overly conservative for accepting patches. It appears that this is long since past. Essentially, because GCC lost and EGCS won. EGCS proved it was stable and produced better code then the GCC tree. So egcs 1.X.YY became gcc 2.91 I believe.

    (By the way, what the heck is ssp? I've heard of SSA, but not ssp in reference to GCC).

    Kirby

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

  16. Open Source Softward is about sharing by Anonymous Coward · · Score: 1, Informative

    So what, your GPL'd code is open source for only the people you like? That isn't the way it should work. If someone hates me, makes a fork of my program, and steals my code (I'm not saying this is the author, just a theoretical situation), I'd be HAPPY!

    Don't you want people to use your code?

    Isn't that what this is all about?

    Leave your ego at the door, please.

  17. Doesn't depend; the GPL is clear by Anonymous Coward · · Score: 1, Informative

    In this case there is no question. The GPL is the license that people who want cooperation choose. If you choose the Modified Berkely Licenses or whatever, then incompatible forks are possible. The Mozilla Public License is specifically designed to allow incompatible forks.

    The GPL is the license which says clearly and upfront:


    If you want to fork then you will still have to share and cooperate. Whether you like it or not.

    Which is why forking is such a strong part of the Linux development model. And why you can feel that you gave fair warning. Everybody knows this; BSD people have moralised about this; Courts have made judgements about it; Microsoft has complained about it (they don't want to cooperate with anyone and have said so). The spin off doesn't have a leg to stand on.
  18. Re:Sounds like a... by BeeRockxs · · Score: 4, Informative

    It's MegamekNET, not MegaMek, and the fork is MekWars. (all three are on sourceforge.net)

  19. Me too! by Kidbro · · Score: 2, Informative

    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!