Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411588 Posts in 69386 Topics- by 58443 Members - Latest Member: Mansreign

May 06, 2024, 11:50:46 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperBusinessBorrowing part of an engine?
Pages: [1]
Print
Author Topic: Borrowing part of an engine?  (Read 2193 times)
Zack Bell
Level 10
*****



View Profile WWW
« on: December 29, 2011, 11:41:30 PM »

Derp, I'm not exactly sure if this is "polite" or not?

I am making a game with GM and am in need of a solid room-change setup.

I started my own and it is coming along nicely, but I vaguely remember that the Grandma Engine had a nice way of doing it.

I have no need for the engine as a whole, but would like to use his method for moving from room to room. Can I just borrow the code and mention it in comments (and in the credits, obviously)?

Or is this something that I should ask Matt, directly?

Don't want to get in trouble or anything  Shrug
Logged

GZ
Level 1
*



View Profile WWW
« Reply #1 on: December 30, 2011, 12:10:39 AM »

I don't see a problem with this. There's a lot of things in programming that can only be done a certain way, or done in a manner which can be written several ways but essentially is the same. Think sorting algorithms, it's unlikely you'll make your own that would be effective. It's commonplace for programmers to "borrow" code.

The proper etiquette seems to be that any people who have helped the project substantially should be mentioned in the credits. If you gained a lot of knowledge from someone, be it by some source code they've put out there or just general helpfulness, just chuck their name in the credits somewhere. I'd say this is largely a personal thing. For instance, I put Mark Overmars (the creator of game maker) in quite a few of my game credits. Obviously, this is not required, but something I wanted to do.

There's the obvious exception if, as you have mentioned, you use something whole and credit is requested from the author. At the same time, if an author requests credit for something like 3 lines of code, then I wouldn't include them unless there were other instances where I used this authors help. In general though, people only ask for credit on substantial contributions.
Logged

Zack Bell
Level 10
*****



View Profile WWW
« Reply #2 on: December 30, 2011, 12:17:00 AM »

Thank you! That is kind of how I felt it should go. Matt seems like a cool dude though, I'll be sure to give him credit Smiley

It's about 20 lines of code and I am now realizing how similar it was to mine anyway.  Coffee
Logged

Fallsburg
Level 10
*****


Fear the CircleCat


View Profile
« Reply #3 on: December 30, 2011, 08:06:28 AM »

Quote
There's a lot of things in programming that can only be done a certain way, or done in a manner which can be written several ways but essentially is the same. Think sorting algorithms, it's unlikely you'll make your own that would be effective. It's commonplace for programmers to "borrow" code.
That is some bad advice.

There are two things you need to find out before you can use the code:
1) What is the license on the code?  Does it permit you to use the code?  Does it force licensing upon you?  What do you have to do to use the code (i.e. attribute the code, release your code, etc)?
2) Is there a patent on the code?  If there is, you will have to work out royalties with the patent holder.

In your case, I'm guessing the answer is that you can use the code with no/minimal fuss, but you should do your due diligence.

2 can be even stickier, because the patent might cover your own individually derived code even if you never used the other code.

Logged
Zack Bell
Level 10
*****



View Profile WWW
« Reply #4 on: December 30, 2011, 08:43:29 AM »

Matt's website says that I must include the engine and a link to his website in the credits. That sounds somewhat overboard for the 20 lines that I used, but I'm totally happy to do so.  Smiley
Logged

GZ
Level 1
*



View Profile WWW
« Reply #5 on: December 30, 2011, 09:42:50 AM »

That is some bad advice.

There are two things you need to find out before you can use the code:
1) What is the license on the code?  Does it permit you to use the code?  Does it force licensing upon you?  What do you have to do to use the code (i.e. attribute the code, release your code, etc)?
2) Is there a patent on the code?  If there is, you will have to work out royalties with the patent holder.

In your case, I'm guessing the answer is that you can use the code with no/minimal fuss, but you should do your due diligence.

2 can be even stickier, because the patent might cover your own individually derived code even if you never used the other code.

It's not bad advice. The points you bring up don't apply to partial use.

First, the idea of patented code you present of where you write code completely different yet it is owned by the patent holder is obscene. I can't think of any realistic example of where someone would encounter this, beyond how it goes completely against the progression of programming.

Second, the license goes out the window when it's partial use. A debate can be made as to how much use of the code would require you to follow the license, and that's what this is about. As someone who has used Matt's engine as a whole and credited him, I know the code he's talking about and I wouldn't credit for such a small amount of code, but it's perfectly fine to do so.

Adding to that, I've never seen anyone exclusively accused of code theft. Identifying stolen code is nearly impossible, damages are impossible to determine, and it's not worth going after someone over it (or even possible for most indies). This part of programming is left to good faith alone.
Logged

iffi
Guest
« Reply #6 on: December 30, 2011, 04:44:37 PM »

Adding to that, I've never seen anyone exclusively accused of code theft. Identifying stolen code is nearly impossible, damages are impossible to determine, and it's not worth going after someone over it (or even possible for most indies). This part of programming is left to good faith alone.
Accusations of code theft have happened before. That said, yes, it is very difficult to prove that code was stolen or to determine damages, and it's nothing to worry about in this case.
Logged
bateleur
Level 10
*****



View Profile
« Reply #7 on: December 31, 2011, 03:06:18 AM »

Second, the license goes out the window when it's partial use.
Nope, this is absolutely not true.

It may be the case that it won't be noticed, or that if it is noticed it will be overlooked, but that's not the same as being legal.

Also, if a function is short enough for your argument to apply then it shouldn't be much trouble to just rewrite it, so there's really no excuse.
Logged

moi
Level 10
*****


DILF SANTA


View Profile WWW
« Reply #8 on: December 31, 2011, 04:44:07 AM »

can you even license code inside of the game maker global license?
I know for a fact that in the unreal engine Epic considers every code created as being open source,so if a develloper can get access to unobfuscated code from another dev, it's free to copy.

Also what if you arrive at the same code without knowing about the granma engine. There are not a million different ways to create a platform engine.
« Last Edit: December 31, 2011, 04:51:11 AM by moi » Logged

subsystems   subsystems   subsystems
Falmil
Level 6
*


View Profile
« Reply #9 on: December 31, 2011, 06:42:56 AM »

It's not bad advice. The points you bring up don't apply to partial use.

First, the idea of patented code you present of where you write code completely different yet it is owned by the patent holder is obscene. I can't think of any realistic example of where someone would encounter this, beyond how it goes completely against the progression of programming.

Second, the license goes out the window when it's partial use. A debate can be made as to how much use of the code would require you to follow the license, and that's what this is about. As someone who has used Matt's engine as a whole and credited him, I know the code he's talking about and I wouldn't credit for such a small amount of code, but it's perfectly fine to do so.

Adding to that, I've never seen anyone exclusively accused of code theft. Identifying stolen code is nearly impossible, damages are impossible to determine, and it's not worth going after someone over it (or even possible for most indies). This part of programming is left to good faith alone.

This is horrible, horrible advice. On the first point, this is how software patents work. The most obvious way of coding a "thing" might be patented, leading to others infringing on it by accident. Depending on the algorithm used, it may require significant changes. Second, you can't just copy and paste someone else's code because its "partial use". That is just blatant infringement.
Its true even if you did, no one would probably find out and/or your game wouldn't be significant enough to make a big deal of it over, but it is still wrong. There is nothing "good faith" about taking someone else's work because you are lazy.
Logged
GZ
Level 1
*



View Profile WWW
« Reply #10 on: December 31, 2011, 07:48:45 AM »

Quote
This is horrible, horrible advice. On the first point, this is how software patents work. The most obvious way of coding a "thing" might be patented, leading to others infringing on it by accident. Depending on the algorithm used, it may require significant changes. Second, you can't just copy and paste someone else's code because its "partial use". That is just blatant infringement.
Its true even if you did, no one would probably find out and/or your game wouldn't be significant enough to make a big deal of it over, but it is still wrong. There is nothing "good faith" about taking someone else's work because you are lazy.

It's practical advice that applies to the members of this forum.

- As we speak the very idea of software patents is being debated and their actual usefulness is questionable.

- Software patents are almost exclusively at the enterprise level due to how expensive and difficult it is to obtain an effective patent.

- You won't find patented code by accident and I'd imagine almost none exists at the indie games level.

Unless you are making millions of dollars off some grand software you made, you won't encounter this. Even then, you'll still may get sued even without infringement because this is what big companies do to destroy competitors.

If you think someone is lazy because they copy code, then I guess we are all very lazy because the grand majority of all knowledge is taking other peoples word for truth, or as you would say, copying. You also seem to forget that a large chunk of programming is implementation, as copied code is nothing without how it's implemented, much in the same way a hammer can be used for more than just hitting nails.

Quote
Nope, this is absolutely not true.

It may be the case that it won't be noticed, or that if it is noticed it will be overlooked, but that's not the same as being legal.

Also, if a function is short enough for your argument to apply then it shouldn't be much trouble to just rewrite it, so there's really no excuse.

A license does not automatically uphold simply because the guy who wrote the license says any possible use of the code must follow the license. Much in the same way some EULA's are not considered to be legally valid. You're free to have your opinion on if it's legal or not, but you yourself even agree it won't be enforced.

It's common knowledge programmers borrow code. The concept that you should have to rewrite the code regardless makes no sense because all you are doing is fooling yourself. If you want to rewrite the code to suit your software better, great, but the idea that you should have to rewrite it is pointless if the code ends up being effectively the same.

If a member here asks for help, and someone provides code, does that mean they have to credit the person who helped them? What if, when a solution is provided, the user stipulates that credit must be given if they use the code? Then the person asking for help is forced to restructure code. Since it was derived from the solution, does that mean they still have to give credit anyway? What about the guy who wrote the code for the solution, what if his solution was identical to code someone else wrote earlier?

Forget that though, just continue to say I'm giving bad advice when none of what you are saying has any relevance here.
Logged

Fallsburg
Level 10
*****


Fear the CircleCat


View Profile
« Reply #11 on: December 31, 2011, 07:58:01 AM »

It's not bad advice. The points you bring up don't apply to partial use.
Thanks for piling on even more bad advice.
Quote
First, the idea of patented code you present of where you write code completely different yet it is owned by the patent holder is obscene. I can't think of any realistic example of where someone would encounter this, beyond how it goes completely against the progression of programming.
I agree that it is obscene, but it doesn't make it not true.
Read about Marching Cubes or  Jos-Stam's Navier-Stokes solver or hell people patenting geometry (not even specific geometry, but an abstract description of a whole range of topology.  People can patent crazy things because the people in charge of handing out patents don't understand what they are doing.  Odds are you won't get sued, but ignorance is no excuse.


Quote
Second, the license goes out the window when it's partial use.
Not true at all.


Quote
Adding to that, I've never seen anyone exclusively accused of code theft.
Ignorance isn't an excuse.

Quote
Identifying stolen code is nearly impossible,
True, but it isn't actually impossible.

Quote
damages are impossible to determine,
Most definitely not true.

Quote
and it's not worth going after someone over it (or even possible for most indies).
Probably not at this level, but what if he used the UDK and thought "Epic will never know about this, so I'm just going to use it, and not give them their share."  True, odds are Epic will never find out, but I'm pretty sure "I didn't think I would get caught." is a valid legal defense.

In conclusion, don't trust GZ on anything resembling legal advice.
Hell, don't trust me.  If you are really concerned, contact a lawyer who is up on patent/intellectual property law.

Or, you know, read the license and do what it says.


EDIT:
GZ, quit digging.
Logged
GZ
Level 1
*



View Profile WWW
« Reply #12 on: December 31, 2011, 08:35:56 AM »

I have severe disagreements with your interpretation of the law and relevance of your points to the members of this forum. I don't think it's helpful to anyone, much in the same way you believe I give bad legal advice. There's no reason to go further because this topic isn't about the additional points added (ie. patents) and the original question was answered with no disagreement from any of the members here.

The one thing we both agree on is that you should contact a lawyer for legal advice.
Logged

Falmil
Level 6
*


View Profile
« Reply #13 on: December 31, 2011, 08:37:25 AM »

While the usefulness of software patents are being questioned, it doesn't mean they are all completely invalid now. It is ridiculous to even bring up this point. Patents are easy to obtain because the patent office is run by idiots. It is very easy to write patented code by accident due to the previous point. You probably won't encounter problems from it, but your advice is the same thing as suggesting lying or cheating in anything that you can if there is little chance of you getting caught. It just isn't good practice.

There is a difference between using the concepts and knowledge of someone else, and blatantly copying their work without thinking of attribution or licensing simply because it is "parital". You say "copied code is nothing without how it's implemented" except CODE IS IMPLEMENTATION.

EULAs are different from software licenses because EULAs have different terms and may attempt to enforce ridiculous things like a person's right to sue or for them to surrender other rights they have. Software licenses like GPL or MIT are standardized in ways EULAs are not. If you want to use code, you either use it under its license or you write your own version of it that isn't copy-pasted from the source. We are not yet in an age where IP laws have been relaxed because of the pain they cause non-right's holders. To suggest that you can copy what you want because it is not the entire thing simply because that is the way the system should work is irresponsible and ignorant.

EDIT: The original question was in fact answered with disagreements, which is why we are at this point.
« Last Edit: December 31, 2011, 08:43:27 AM by Falmil » Logged
GZ
Level 1
*



View Profile WWW
« Reply #14 on: December 31, 2011, 08:58:11 AM »

Allow me to rephrase, the original question was solved with no disagreement from any of the members here. Credit was given.

You've made all the points you want to make and so have I. It's left to anyone reading this to make their own conclusions.
Logged

Falmil
Level 6
*


View Profile
« Reply #15 on: December 31, 2011, 09:33:24 AM »

You've made all the points you want to make and so have I. It's left to anyone reading this to make their own conclusions.
This is sounding like "Teach the Controversy".
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic