Code Copying Survey for Developers 389
Struan Robertson writes "With all the controversy surrounding SCO's allegations that its Unix code was copied into Linux, we're running a survey with ZD Net to gauge industry practice on code copying. Do you keep a code library? Do you take it from one employer to another? These are the questions we're asking. All answers will be anonymous. The results - with expert legal analysis - will be published free - we're not doing this to sell reports etc. If you're a developer and happy to help, see our
questions on SurveyMonkey.com."
Larger companies (Score:3, Informative)
But this is pre-existing company code, not from a personel library. Many do keep a personel library of generic modules that can be assembled to do many things in many ways. None of this would be considered proprietery IP by anyone. Although I'm sure some companies and Universities would try. There are only x number of ways to do any function in any language. Similarities will abound between programs that do the same thing, written in the same language. You can't avoid it.
Survey has no provision for legal code libraries! (Score:4, Informative)
To the point - This survey did not allow me to clarify that my code library brought between jobs was legal, and it bugs me that it may be used to support the position that more people ignore the law than may actually do so.
Re:Kind of a stupid survey. (Score:4, Informative)
I generally just turn over copyright to the owner, so it does not come up, but I believe you would have to do significant, original work, in order to hold the copyright.
But in that case, it's not derivative anyway and you hold copyright alone.
Re:Kind of a stupid survey. (Score:3, Informative)
I'm kind of spamming this thread, but this is a common misconception that I think is important for us all to be aware of. If you're coding as a contractor in North America, it is not considered a work-for-hire unless you have a contract that explicitly states that it is. That code is a big part of your value as a contractor. Don't be too quick to give it away.
(See my comment here [slashdot.org])
European software patents (Score:3, Informative)
http://webshop.ffii.org/ [ffii.org]
And if you're an European citizen, please sign the petition:
http://petition.eurolinux.org/ [eurolinux.org]
MS Astroturfers! (Score:5, Informative)
The survey is full of misleading questions and will *force* you to admit you steal. Watch out.
Re:Good reason... (Score:3, Informative)
indeed.
i started out as a 'hack' basically finding code snippets that almost did what i wanted, but i found in every case that i had to modify these code snippets to perform the exact task i was after.
do this for a few years and pretty soon you migrate from a 'hack' into a 'programmer'.
from one employment to another, i keep all the code that i contributed. i don't do this to simply drop this code into another project, but i use it as a reference and how i did a particular thing.
Good coders don't copy and paste (Score:3, Informative)
I can say that as a Sun Certified Java Instructor one of the most common questions I see from entry level developers is "are there any gode sites I can copy and paste from?". I usually point these type of people to JavaAlmanac [javaalmanac.com]. In more advanced classes we end up spending more and more time talking about design patterns because there really is no point to reinventing the wheel. A this level most developers treat design patterns as more of a framework then anything else, mantaining a code library for examples but writing new code to tailor to the need at hand. After all the end job of most developers is to implement business logic and since business processes always change you're never going to be able to copy and paste for any decent sized business app.
Re:Code library. (Score:3, Informative)
Actually, most of the world [qsl.net] is following ISO 8601 standard [cam.ac.uk], which says that you should use YYYY-MM-DD instead. The ISO 8601 time format is also recommended by W3C [w3.org].
Re:Kind of a stupid survey. (Score:3, Informative)
Depends on the situation...I've rarely been an employee, so I'll answer for clients.
First, I don't usually bring it up. The chances of my/our code finding it's way into the wild this way aren't that great. We're not doing anything cutting edge, just your standard business logic kind of stuff. Bringing up IP during contract negotiations is a great way to lose contracts. Some might consider it kind of sneaky, but unfortunately, it's the world we live in. It's not like we're looking for reasons to sue people, the important thing is that we keep the right to use it.
You have to be careful with that - if you explicitly sign over the rights to the code, they can come after you if you ever re-use it. They probably won't, but I have seen situations where I was glad that it wasn't a risk I had to think about. On the other hand, if you mean you just use your code and never discuss IP with them, it's still yours.
When it has come up, in almost every situation they were fine with a license that said (roughly) that they can use it or modify it themselves as they see fit and sell it providing no copies are retained and that this same license transfers with the sale. We've occasionally broached various open source licenses as a good way around this, and it's almost universally not understood. So we stopped doing that - don't scare your clients.
Dr. Lessig Would Agree (Score:3, Informative)
You've just summed up a major point that Lawrence Lessig makes in his new book, Free Culture.
For those who don't know, Dr. Lessig argued "our side" before the Supreme Court in Eldred v. Ashcroft.
In his new book Dr. Lessig discusses that case, how every new content industry (radio, film, cable, etc..) has "pirated" an existing industry, how our government willingly allowed this to happen, and many other excellent points.
The entire book is available for FREE (as in speech) as a PDF here [free-culture.org].
Those who want to buy a hard copy and have the referrer commission go to Creative Commons can do so here [free-culture.org].
- Neil Wehneman
Re:Sure, Why Not? (Score:1, Informative)
The only NDA that can be legally made without a preset time limit are those that affect national security. Even those terminate eventually, however... at such time that it is determined that the information is no longer sensitive enough to affect security, the NDA is lifted.
Re:Kind of a stupid survey. (Score:3, Informative)
"I don't think you hold copyright on a derivative work - not even the "diff" you created."
No you don't own the collective work, that generally is held by the original author, but you most certainly DO own the code which you actually wrote if said code is copyrightable. Which is why you must explicitly contribute it and there are no shortage of projects which require you to turn copyright over to them or at least sign some sort of legal permission slip.
"I generally just turn over copyright to the owner, so it does not come up, but I believe you would have to do significant, original work, in order to hold the copyright.
But in that case, it's not derivative anyway and you hold copyright alone."
If there is a single line of original open source code in your source then you most defininately do NOT own the copyright. If what you wrote is significant (read copyrightable) or even the entire project minus one sort routine you "borrowed", then it qualifies as a derivative, and if it did not, you have no legal rights to distribute a binary (or even source under an imcompatible license) which contains that routine (of course personal use is another matter. All the code you wrote however you own, so you'd probably just write your own routine and finish things off in this case.
Re:Loop (Score:2, Informative)
Compare that to an early instruction set (like MIX in TAOCP 1-3). Subroutines are faked with self-modifying code (which makes recursion impossible):
If subroutine recurses on itself, you lose the return address. I'm not an export on early ISAs, but many of the ones I've seen had to do stuff like that.