stainless at January 11th, 2012 17:43 — #1
I have just ported my old software renderer to AGP, mostly because of the lack of a render to texture feature in most mobile platforms.
When I originally wrote it, I was inspired by some code I found on the web. I took some parts of it unchanged, but massively altered other whole sections of it. Some changes were for feature extension, some for speed.
This has got me thinking about when code actually becomes yours.
Now if you take someone else's code, change a couple of lines to get it to run on your platform, I still consider this to be owned by the original coder.
However if I read someone else's code and then write my own based on similar principles, I consider that mine.
In between there are millions of test cases.
Probably one per line of code in the original download.
Where do you guys think the line should be drawn?
reedbeta at January 11th, 2012 18:11 — #2
It's an interesting question. The issue seems very subjective and slippery to me. I've thought of similar issues with regard to proprietary information. If I see some code at work, and then go home and build something very conceptually similar in my own engine (not copying the actual code, but copying a nontrivial amount of the architecture or idea), how can I know when that's OK vs misusing my access to the company's property? I pretty much go with my gut instinct / intuition as to what feels "right" or "wrong", but it's a tricky issue.
thenut at January 11th, 2012 19:20 — #3
Since his code was out in the open, learning from it doesn't automatically label you a thief. It sounds like you forked enough of the code to call it your own, which is quite a common practice these days with certain projects (VNC servers come to mind). Personally I stay away from 3rd party code unless it's a black box library and the license is reasonable (ie: Zlib/MIT). The first thing you should look for is a GPL clause, cause if so then you're screwed either way
Work - life balance can be a bit of a fuzzy line though. I often bring my own knowledge and code to work, which is why I was hired in the first place. I respect that the software I built is theirs, but the experience and knowledge I gain is mine. I just avoid any competition with current and former employers to stay in the clear, and of course out of respect.
stainless at January 12th, 2012 07:57 — #4
With work I tend to negotiate my contract very carefully. Like at the moment some of the stuff I do is owned completely by the company, and some I own parts of the copyright (with another guy) and they have rights to it.
You can forget some things when you leave a company, but in general, if the company does not have a post employment clause in the contract I don't think there is anything they can do about knowledge and ideas.
A couple of guys I know have golden handcuffs on them at the moment.
alphadog at January 12th, 2012 10:05 — #5
There are two legal issues being mixed here: copyright and non-compete.
Copyright is something that applies to all equally and internationally. As to how much code can be the same before you have a copyright issue? Well, that's a key question; the critical issue is whether there is so-called "substantial similarity". Just changing a few words doesn't absolve you. Just look up the AFC (a.k.a. Altai) Test for how courts commonly ascertain this. Sometimes, it just depends on who has the best lawyer.
Non-compete is a function of each individual's employment contract. The only silver lining there is that most non-competes are so poorly written that they can be defeated in court pretty easily, assuming things like if you have the money to go through the process and you don't do it in a state (US, of course) that is pro-employer, like Florida vs. California.
stainless at January 13th, 2012 06:26 — #6
Non-compete for me comes down to the financial package. There are three types as I see it.
You get paid a salary to come into the office and stare out of the window
You get paid a lump sum to sit on a beach for a few years
You don't get paid at all
All can be beaten as alphadog said, but the second one ..... maybe worth while living with.
I'll have a look at that test, would be interesting to apply it to a few products and see what results we get.
On a side issue, royalties. How many of us still have royalties built into their salary? and how important do we think they are.
I get royalties on the games I write, but I don't expect them to amount to anything worthwhile. It's not like the days of Lemmings when a single product can set you up for life.
I was in Psygnosis' office the day he picked up his first royalty cheque, it was for a little over £1,000,000.00. he had another one due five days later that was over £900,000.00, but Psygnosis said he may have to wait a few days for that. Don't think I would have been worried.
I left Gremlin when I was handed the minutes for the board meeting and item 1 on the issues list was "another way of ripping the programmers off for their royalties", don't know if it was a real idea or some kind of sick joke, but it was the last straw for me.