Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
The GPL says I can rip off other's code but can I REALLY do?
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
bleakcabal
Guru
Guru


Joined: 10 Oct 2002
Posts: 301
Location: Montreal, Québec, Canada

PostPosted: Sun Feb 01, 2004 9:01 pm    Post subject: The GPL says I can rip off other's code but can I REALLY do? Reply with quote

I know that with GPL licensed code I am allowed ( at least that's how I understand it ) to either take some code from a program I like and put it in my new GPL program I am coding. I could also take this program and just fork it.

That's what the license states. But in reality can I just do this ? Is it considered bad ? Should I ask the original code authors permission ? What if they refuse ? I imagine I must give them credit for their code ( which I will be more than grateful to do ) somewhere in my program ?

Are there some things there are polite/impolite to do when doing this ?

Or does the original code sitll belongs to it's author because of copyright and the GPL still requires me to have permission from the author ?

I have all these questions because I have begun coding a small program as a hobby ( a game which probably will never be finished ) and was thinking of re-using the code from another linux game ( I have already looked at the code ) but I don't know the etiquette and how it's really done in real life about GPL code reuse. Also how to approach other poeple about it.

I don't want to be branded as a low-life thief for having made a "faux pas" or broken an unwritten rule.
Back to top
View user's profile Send private message
CheshireCat
Guru
Guru


Joined: 25 Aug 2002
Posts: 572

PostPosted: Sun Feb 01, 2004 9:24 pm    Post subject: Reply with quote

The original author still owns the code after you incorporate it into your program. By licensing it under the GPL, they have explicitly granted permission for you to do this, as long as you follow the requirements outlined in the GPL.
Back to top
View user's profile Send private message
TheCoop
Veteran
Veteran


Joined: 15 Jun 2002
Posts: 1814
Location: Where you least expect it

PostPosted: Sun Feb 01, 2004 9:27 pm    Post subject: Reply with quote

It is perfectly legal, but there IS significant community opposition to it. Basically, it splits the available thinking-time into two, which can only be bad for both projects. For more details, have a look at http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/ by ESR
_________________
95% of all computer errors occur between chair and keyboard (TM)

"One World, One web, One program" - Microsoft Promo ad.
"Ein Volk, Ein Reich, Ein Führer" - Adolf Hitler

Change the world - move a rock
Back to top
View user's profile Send private message
bleakcabal
Guru
Guru


Joined: 10 Oct 2002
Posts: 301
Location: Montreal, Québec, Canada

PostPosted: Sun Feb 01, 2004 9:45 pm    Post subject: Reply with quote

I have read most of the essay and basicly it says not to fork and not to create rogue binaries, rogue patches, etc. And that code reuse like I was talking about is a big taboo and for good reasons.

Personnally I think this sucks big time. Why have a gpl like license then ?
If even with all those GPL programs around I am supposed to either :

1: patch a near complete project when I would rather develop my own
2: Write everything from scratch and not reuse any code, just like in the windows propriety world

I am not trying to fit in a "gift culture" as the author puts it. I tought it would be more fun to do something on my own.
Back to top
View user's profile Send private message
TheCoop
Veteran
Veteran


Joined: 15 Jun 2002
Posts: 1814
Location: Where you least expect it

PostPosted: Sun Feb 01, 2004 9:51 pm    Post subject: Reply with quote

there is nothing against you using some other projects code in your own seperate project, and that is in fact welcomed - 'dont waste time reinventing the wheel', as long as you give credit. But there is community pressure not to fork and not to plagerise (but they are still legal)
_________________
95% of all computer errors occur between chair and keyboard (TM)

"One World, One web, One program" - Microsoft Promo ad.
"Ein Volk, Ein Reich, Ein Führer" - Adolf Hitler

Change the world - move a rock
Back to top
View user's profile Send private message
Lews_Therin
l33t
l33t


Joined: 03 Oct 2003
Posts: 657
Location: Banned

PostPosted: Sun Feb 01, 2004 10:03 pm    Post subject: Reply with quote

From what you say, it seems your use for the code would be OK. Just put a little comment in there, like:
Code:
This is some code I used from game X, in foo.cpp


Forking is when an existing project gets split apart (think *BSD) and plagarising would be if you took something, changed the name, and called it yours. It's not illegal, but it's not nice.

Code resuse like you plan is the whole idea behind Open Source, there's no point in writing the same code 200 times for 200 projects. As long as you're nice about it, there's no problem. Rogue patches and rogue binaries are supposedly program X, when they are actually the author's veiw of what program X should be. I would make a new program if you don't like the old one, or submit my patch to the devs.

If you want to create a new program on your own that is distinct from the old one, such as Quake 3 is different from ET, then by all means go ahead. But if you just want to make a new program in a niche that already exists when the old one is active and can be patched, that is a Bad Thing.

For example, say you want to make a new IRC chat program because XChat doesn't support some feature. The polite thing to do is to make a patch for XChat and submit it to the devs, so that there is a superior product available. Making your own will probably not succede, there will not be a program anywhere with that ability, and the community will have lost something.

I hope my post was at least halfway coherant.
Back to top
View user's profile Send private message
bleakcabal
Guru
Guru


Joined: 10 Oct 2002
Posts: 301
Location: Montreal, Québec, Canada

PostPosted: Sun Feb 01, 2004 10:16 pm    Post subject: Reply with quote

So I can better understand your post what is ET ( sorry ).

When you compare Quake 3 to ET ?


EDIT : Ok I just got it, must be a typo, it must be UT right ?
Back to top
View user's profile Send private message
CheshireCat
Guru
Guru


Joined: 25 Aug 2002
Posts: 572

PostPosted: Sun Feb 01, 2004 10:21 pm    Post subject: Reply with quote

Heh, UT would be a good example as well, I suppose. ET refers to Enemy Territory, a free game based on Return to Castle Wolfenstein.
Back to top
View user's profile Send private message
Boris27
Guru
Guru


Joined: 05 Nov 2003
Posts: 562
Location: Almelo, The Netherlands

PostPosted: Sun Feb 01, 2004 10:43 pm    Post subject: Reply with quote

CheshireCat wrote:
Heh, UT would be a good example as well, I suppose. ET refers to Enemy Territory, a free game based on Return to Castle Wolfenstein.


And RTCW in return, is based on Quake3.

Basically, ET runs on the Quake3 engine. ET is a reuse of the Q3 engine, but with different weapons.
Back to top
View user's profile Send private message
Lews_Therin
l33t
l33t


Joined: 03 Oct 2003
Posts: 657
Location: Banned

PostPosted: Sun Feb 01, 2004 11:24 pm    Post subject: Reply with quote

I thought the game ET ran on the Quake3 engine, sorry. But hopefully you get the idea.
Back to top
View user's profile Send private message
bleakcabal
Guru
Guru


Joined: 10 Oct 2002
Posts: 301
Location: Montreal, Québec, Canada

PostPosted: Sun Feb 01, 2004 11:27 pm    Post subject: Reply with quote

So I can take code from other projects but it's better not to.

I may be better off writing patches for a game which has a project on sourceforge or something. So that's probably what I will do.
Back to top
View user's profile Send private message
EzInKy
Veteran
Veteran


Joined: 11 Oct 2002
Posts: 1742
Location: Kentucky

PostPosted: Sun Feb 01, 2004 11:45 pm    Post subject: Reply with quote

bleakcabal wrote:
So I can take code from other projects but it's better not to.

I may be better off writing patches for a game which has a project on sourceforge or something. So that's probably what I will do.


That's why forking simply for the sake is forking is frowned upon. Ten people submitting improvements to an existing project is just more efficient than ten people starting the same project from scratch. But I do think the "don't reinvent the wheel" phrase is way overused. How is one to get a better wheel, or even a replacement for it, if the basic concept isn't reexamined now and then? If you look at Linux as a reinvention of Unix then the benefits of occasionally starting from scratch become obvious.
Back to top
View user's profile Send private message
StringCheesian
l33t
l33t


Joined: 21 Oct 2003
Posts: 887

PostPosted: Mon Feb 02, 2004 2:51 am    Post subject: Reply with quote

IANAL (I Am Not A Lawyer)

TheCoop wrote:
But there is community pressure not to fork and not to plagerise (but they are still legal)

It's never legal to plagerise, not even if the code is GPL. Sure you can take the code and use/fork it because of the GPL, but you cannot put your name on it, say you wrote it yourself, and change the copyright notice to have your name instead. That's more than just "not nice" - it really is illegal.

This is exactly the kind of misconception that makes people think that open source is communistic. You're just giving SCO ammunition. Get it straight, ok?

You can use other people's GPL code for free, but you can't (to quote the topic title) "rip [it] off".
Back to top
View user's profile Send private message
beowulf
Apprentice
Apprentice


Joined: 07 Apr 2003
Posts: 225

PostPosted: Mon Feb 02, 2004 11:09 am    Post subject: Reply with quote

I don't think anyone would mind terribly... they say immatation is the finest form of flatery... whether you think that or not however doesn't really matter....

What would appear to be taboo, or against the un-written rules would be to fork code, but make trivial changes to it so that it runs exactly the same and any enhancements you have made could easily be sent to the original authors for incorporation in the already existing code... This is what many developers find annoying... your changes are so small that instead of sending in a patch, or feature enhancement, you fork it and keep the changes for yourself.

To borrow code though is fine... Just make a little note about it... for instance: "This algorithm was copied from the XXXX project"... I see nothing wrong with that... and imo, that is proper code re-use... Copying algo's is the best thing about GPL... I don't have to solve the same problem that's been solved countless other times....

IMO projects are only forked (and accepted whole heartily by the community) when you have made an effort to get your rather large changes into a project, been declined... and then decided to fork the code....
_________________
I have nothing witty to say here... ever :-(
Back to top
View user's profile Send private message
Arker
Apprentice
Apprentice


Joined: 10 Sep 2002
Posts: 205

PostPosted: Mon Feb 02, 2004 1:38 pm    Post subject: Reply with quote

I am also a little unsure about how these things work as well. I use a little application Z. There are a handful of features that many users and me would like to see in Z, but the Z developers refuse to include the features for whatever reason (even when the work is done/ patch is submitted). I most certainly respect their decision to not include these features, after all, it is their project.

But now, I end up modifying my own copy of application Z. I add the features that several users would like but will never see. I keep my patches current with the project's CVS. But I cannot make these patches available to others even though I want to. These are what the essay refers to as "rogue patches" I assume.

I also do not want to anger anyone or break any unwritten rules, so I will just keep my patches to myself. It is a shame though, because I believe strongly in sharing software, and I know many others would like these extensions to application Z.


Cheers,
~djc
Back to top
View user's profile Send private message
gsfgf
Veteran
Veteran


Joined: 08 May 2002
Posts: 1266

PostPosted: Mon Feb 02, 2004 2:12 pm    Post subject: Reply with quote

For a game, you're fin as long as the game is unique. You will be creating gameplay, not technology, so use what's available.
_________________
Aim:gsfgf0
Back to top
View user's profile Send private message
bleakcabal
Guru
Guru


Joined: 10 Oct 2002
Posts: 301
Location: Montreal, Québec, Canada

PostPosted: Mon Feb 02, 2004 3:16 pm    Post subject: Reply with quote

Quote:
For a game, you're fin as long as the game is unique. You will be creating gameplay, not technology, so use what's available.


That is another aspect which I think is important. Games are also about gameplay, content, game mechanics and storyline.

When I play a game I don't care how the pathing algorythm has been implemented. All I care about is wether the game is fun to play, if it isn't I would'nt be playing it anyway.

I think that when you are creating a new game it isn't the same as creating another text editor in a crowded environment full of text editors.

I always use the same text editors and im sure most poeple don't use more than 1, 2 or 3 different text editors frequently. ( Im not saying that there is no more than 3 frequently used text editors, but that poeple don't use a lot of these ).

On the other hand I have played a countless number of games on the various consoles and the PC. I am currently playing 2 games at the same time right now and I don't see how having more games on linux could be considered a problem.

Of course if there were just plain to many half-finished projects ( which may be the case ), but also when you want to create a game that is your own and you have some ideas for it, your sometimes not as motivated working on another game where all the ideas and concept work has already been done for you.
Back to top
View user's profile Send private message
AgenT
Apprentice
Apprentice


Joined: 18 May 2003
Posts: 280

PostPosted: Mon Feb 02, 2004 3:50 pm    Post subject: Reply with quote

From the looks of it, you want to create something unique. And this new game will incorporate GPL code (plus your own code). Unless your are just forking a game (and therefore making a copy with a few improvements), I say go for it. So for example, if you want to start from an existing 3d engine, use it! However, if you just want to make improvements, work on an existing project and submit patches. In fact, if you are making a unique game, I would highly suggest using GPL code as this would save precious time and you would not have to 'reinvent the wheel'. Of course, you will have to release your game under the GPL liscence when you release it to the public.
Back to top
View user's profile Send private message
WindKin
n00b
n00b


Joined: 23 Jul 2003
Posts: 40
Location: Sarpsborg, Norway

PostPosted: Mon Feb 02, 2004 4:23 pm    Post subject: Another PoV Reply with quote

For an example on how this may be a good thing to do, take a look
at two common vm's.
Waimea vs Kahakai.
Kahakai != Waimea.

Waimea "died", or at least no one has heard anything, and the webpage has been stating "coming soon" for a pretty long time now.
When a good project suffers a sudden death like that, a fork might be a good option. Althoug I generally agree to what is said, I just wantet to point out an exeption.


Cheers
_________________
There are 10 kinds of people. Those who understand binary, and those who don't.
Back to top
View user's profile Send private message
zojas
Veteran
Veteran


Joined: 22 Apr 2002
Posts: 1138
Location: Phoenix, AZ

PostPosted: Mon Feb 02, 2004 9:43 pm    Post subject: Reply with quote

Arker wrote:
I am also a little unsure about how these things work as well. I use a little application Z. There are a handful of features that many users and me would like to see in Z, but the Z developers refuse to include the features for whatever reason (even when the work is done/ patch is submitted). I most certainly respect their decision to not include these features, after all, it is their project.

But now, I end up modifying my own copy of application Z. I add the features that several users would like but will never see. I keep my patches current with the project's CVS. But I cannot make these patches available to others even though I want to. These are what the essay refers to as "rogue patches" I assume.

I also do not want to anger anyone or break any unwritten rules, so I will just keep my patches to myself. It is a shame though, because I believe strongly in sharing software, and I know many others would like these extensions to application Z.


Cheers,
~djc


this sounds like an appropriate situation to start a fork. you want to take an existing code base in a new direction
_________________
http://www.desertsol.com/~kevin/ppc
Back to top
View user's profile Send private message
Arker
Apprentice
Apprentice


Joined: 10 Sep 2002
Posts: 205

PostPosted: Tue Feb 03, 2004 12:19 pm    Post subject: Reply with quote

zojas wrote:
this sounds like an appropriate situation to start a fork. you want to take an existing code base in a new direction

Well that's just it, I really don't think the changes I've made warrant their own fork, nor do I have enough interest in the project to fork it. These are just features that myself and others felt were appropriate for such an application, and they were very easy to implement, so I made them.

This really isn't such a big deal or anything, It's just one of the dilemmas of GPL'd software I guess. It's a shame that for software that is so free, that one can't make such patches public without feeling guilty. I do understand the reasons though, and the people who want the features that I've implemented will live long and may even prosper without them still.

~djc
Back to top
View user's profile Send private message
zojas
Veteran
Veteran


Joined: 22 Apr 2002
Posts: 1138
Location: Phoenix, AZ

PostPosted: Tue Feb 03, 2004 12:30 pm    Post subject: Reply with quote

you could just put your patches up on a webpage somewhere, that's what I do
_________________
http://www.desertsol.com/~kevin/ppc
Back to top
View user's profile Send private message
Genone
Retired Dev
Retired Dev


Joined: 14 Mar 2003
Posts: 9538
Location: beyond the rim

PostPosted: Tue Feb 03, 2004 3:29 pm    Post subject: Reply with quote

No reason to feel guilty for making patches public after they were rejected. What should not be done is advertising them without asking the original authors to include them.
Back to top
View user's profile Send private message
bleakcabal
Guru
Guru


Joined: 10 Oct 2002
Posts: 301
Location: Montreal, Québec, Canada

PostPosted: Tue Feb 03, 2004 8:47 pm    Post subject: Reply with quote

Genone wrote:
No reason to feel guilty for making patches public after they were rejected. What should not be done is advertising them without asking the original authors to include them.


That's a great idea. I could make my mods, email the original authors, say if they wish to include them in the game or as a separate similar one. If they refuse, I will publish them quietly on some web page.
Back to top
View user's profile Send private message
polin8
n00b
n00b


Joined: 03 Oct 2002
Posts: 74
Location: Baltimore, MD USA

PostPosted: Tue Feb 03, 2004 9:14 pm    Post subject: Reply with quote

Are you creating a clone of the game? Or a totally new game that uses some of the same code?

Example:

You want to write pacman

Pacman allready exists, but you don't like the color of the ghosts.

so don't write Ms. Pacman with no difference but the new ghost color. send a patch to change the color.

On the other hand. If you want to write asteroids. and you want to use the rotation code from pacman. please do, don't write new rotation code. but politely cite the source.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum