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."
That is the spirit of the GPL! You are allowed to copy and use GPL code if your code is also GPL!
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.
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?" `":" #");}
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...
I've got more mod points and GMail invi
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
Mod parent up! (If you want proof, check McWizard's only comment.)
M$ Lawyer: But `gcc
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?
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.
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
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!
and now he's mad you're using HIS code?
Where does he think the base code came from?!?
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.
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.
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
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.
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.
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:
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.
It's MegamekNET, not MegaMek, and the fork is MekWars. (all three are on sourceforge.net)
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!
May we live long and die out