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."
Sure, Why Not? (Score:5, Insightful)
This is one reason that software patents are just silly. At some point, virtually every technique will have been written, then software companies will indeed all become like SCO: A few developers and a fucking platoon of IP lawyers.
Anti-business? (Score:2, Insightful)
Not to troll, but why are so many people here opposed to business and money? The submitter probably knows (from experience) someone here will accuse him/her of greed in the first five posts if they didn't add that discaimer.
Question 6 (Score:5, Insightful)
Kind of a stupid survey. (Score:5, Insightful)
3. By law, who do you think owns the rights in a piece of software that you develop or in code that you write?
Me
My employer
The client who commissioned and is paying for the development
But never asks where I developed it, nor what legal documents exist to protect various parties.
Obviously, if I'm working on code under a work for hire agreement, it belongs to the guy with the cash. If not, It's copyright me. If it's OSS code that I need to improve for a client's benefit, of course it doesn't belong to either of us - it belongs to the original author.
Did I do it at home? Did I start it before or after getting involved with the company or client? Does the client mind freeing the source? Does it contain proprietary information?
This survey is worthless so far, except to publish articles.
Re:well.. (Score:2, Insightful)
Didn't think so.
Re:Youd be surprised how much of a career (Score:2, Insightful)
Sure, why not? (Score:3, Insightful)
Game Creation (Score:2, Insightful)
Just to be safe... (Score:3, Insightful)
Sriously though, the problem with coding, is that it is still more of an art than a science, and therefore the endproduct tends to reflect the style of the developers. It creates legal issues, but it's like asking Da Vinci to paint in a different style for a patron, "because we don't want those Sistine fellas complaining on infringement of copyright"- Ridiculous yes, but very real (IMHO).
Coding is like painting. (Score:4, Insightful)
Patenting or copyrighting an individual block of code is like patenting or copyrighting the color red. A painter would never be able to patent or copyright the color red and demand a royalty for all artists who use red. Painters copyright their entire image -- even a large enough sub section is copyrightable.
Coding should be the same. How many ways can somebody write a decimal to currency string formatting routine? How many ways can somebody write an RGP go greyscale conversion routine?
note: for those who say "what about Pantone?". Pantone does not copyright the color itself only the name and the Pantone color number is copyrightable. You are always free to use any RGB combination you want but Pantone will guarantee that their color system will always generate the same color on any printer that supports Pantone -- this is the value of Pantone.
Implicit assumptions (Score:3, Insightful)
The question that asks whether or not you think it is legal to re-use code for different employers needs another option: "it depends". For instance, code released under the GPL with a former employer's permission is free to be used elsewhere. However, the survey doesn't ask whether or not the code was supposed to be kept confidential.
Re:Choice? (Score:3, Insightful)
Give me copied code anytime (Score:3, Insightful)
Besides, what are we really talking about most of the time? Code libraries? What's the difference, really, if I copy code from my library or use routines from memory, things that I've been required to code over and over again, like validation routines, or basic algorithms?
No one is going to say that they go from client to client and write brand new code each time. Furthermore, if I were a client I would have to seriously question whether I'd even want that. If I were on a tight time constraint I wouldn't get it even if I did want it.
It would be like commissioning someone to build a bridge and then requiring that they only use brand new formulas anc techniques. Okay, but I'm not gonna be the first guy to test it
It's all the same to me (Score:4, Insightful)
So, in that key, I'm not physically keeping a code library, but I am reproducing code that may have become the property of another party.
Good reason... (Score:5, Insightful)
Sorry, but a hack != programmer. You can toss together a bunch of stuff other people have written, but when it breaks you'll need to be able to fix it. If you never learn how to do that, you'll never be more than a cut-and-paste drone.
It's great to be able to use resources like View Source to learn new stuff, see new techniques, even find quick examples of how something's done. But if you can't understand how to do it on your own (which may take much longer, granted) then you're not going to last.
I have a code library... (Score:2, Insightful)
Re:Choice? (Score:4, Insightful)
code arsenal (Score:3, Insightful)
it's pretty rare that you find code that you can copy paste and compile. usually you need to read the code to understand the algorithm, then rewrite it to suite your application/variable names/coding style.
one-off hacks and throw away code probably all looks the same company to company programmer to programmer. it's the overall system design and high level architecture that I would consider the meat of the IP anyways.. and it would typically take more than a single developer to pickup and rebuild it somewhere else
Re:Sure, Why Not? (Score:5, Insightful)
2) In the beginning, people shared code to do common things (e.g. sorting algorithems). I wonder if they mean "Do you keep a copy of your sorting algorithems to use in other programs?" or "Do you keep a copy of your accounting software to recompile at your next job?"
3) I agree w/ the parent. It's just plain stupid to re-write some things when you have a perfectly good solution already written. Besides, if you write it over enough times, you'll remember how to write it... then you are ALWAYS carrying around code from job to job. You can't not take it.
Re:Kind of a stupid survey. (Score:2, Insightful)
Exactly. Question #6 doesn't even have a "mu" option:
6. Would you re-use blocks of code written elsewhere
* Only if you were confident that nobody would find out
* Whether it would be found out or not
What if I already answered "I don't re-use code (that I don't own)"?
I think this matters (Score:3, Insightful)
this survey smells of trolls (Score:5, Insightful)
I have a "code library" (whatever they mean by that) which I wrote in my spare time. It is released under GPL. I'm the copyright holder. I can assign any other license to that code. Therefore I can embed parts of this library in any proprietary code I write for my employer.
I also reuse other people's code released under BSD, MPL etc. This is all legal, but the survey doesn't know about this stuff.
Re:Coding is like painting. (Score:2, Insightful)
When are you not just mixing colors, but making a painting? At what point does the combining of code become a unique work? One line? Ten? A Thousand?
There isn't an easy guage to determine that point, perhaps one needs to be developed? When does code truly change from General Purpose (a "color"), to specialized (a "painting")?
I think the colors should be free for all, and the paintings rights should be retained by the artist or whomever they are painting it for.
Re:I'm amazed (Score:1, Insightful)
Re:Kind of a stupid survey. (Score:4, Insightful)
It could have happened (Score:5, Insightful)
--------
Create a WAP server [chiralsoftware.net]
Re:Kind of a stupid survey. (Score:2, Insightful)
> client's benefit, of course it doesn't belong
> to either of us - it belongs to the original author.
Actually if doesn't matter if you're improving OSS code or writing from scratch, the code still belongs to the client. However if the original OSS code is used under a copyleft license like GPL the owner of the modifications is required to also release the modifications under the same copyleft license.
The distinction is that the original author of the unmodified OSS code cannot turn around and incorporate your modification into his/her codebase and license it to someone else under different terms.
Also, the GPL does not actually require you to release your modifications, it just restricts you from releasing the modification under any other terms than the GPL. I.e. you can keep the modification to your self or release them under GPL, but you cannot sell them.
Re:Sure, Why Not? (Score:5, Insightful)
Is that illegal? To be legal can I never write a program with similar functionality? Or do I just have to do it in a different way? How different does it need to be to be legal?
If you can defend reimplementing something very similar, then how different is that then copying the file exactly?
I guess my point is that at some point a reimplementation by the same person for the same thing looks like you copied it exactly then changed things around.
Re:bad questions (Score:3, Insightful)
Re:Kind of a stupid survey. (Score:2, Insightful)
Re:Sure, Why Not? (Score:2, Insightful)
And therein lies the game. What should be happening is for scientists to be working together and cooperating to achieve a common goal, not competing and impeding one another for their own betterment.
If your goal as a scientists is personal fame then you deserve no help whatsoever. If on the other hand you're trying to obtain the meaning of life for the people of the world's enjoyment, you should receive full cooperation.
Re:Sure, Why Not? (Score:2, Insightful)
I would rephrase that to "Because employers place erroneous (and, alas, believed by the courts) claims of ownership on the code that programmers bring into a workplace in their heads and notebooks."
This allows them to take the best features/ideas of their historical library and integrate those ideas in new and better ways...
As you pointed out, taking features/ideas from their historical library and integrating them in new and better ways can be illegal.
The problem is not that programmers sometimes reuse some of their own source code to avoid wasting time by having to reimplement some mundane algorithm, but that IP law does not recognize that the line between what code an employer owns and what an employee owns must fall somewhere outside of the employee's head rather than within it. You simply cannot own people's minds, humourous examples involving the current presidential administration notwithstanding.
Oh yeah (Score:5, Insightful)
The biggest tempatation in looking for new jobs is being able to forget the current code base forever, and never have to add YET ANOTHER feature onto already-baroque code that nobody wants to take the time to rewrite.
Good memories are for wimps (Score:3, Insightful)
Then again, now that I think about it, maybe I'm just the type that's constantly surprised, period. Ha!
Re:It could have happened (Score:4, Insightful)
Re:It could have happened (Score:3, Insightful)
Re:It could have happened (Score:2, Insightful)
Re:Loop (Score:3, Insightful)
Re:Sure, Why Not? (Score:4, Insightful)
On another slant, all the Safari sites, like this one [oreilly.com] have, right beneath the search function on the left a box you can check to "Search for code fragments only".... Of course, these are published expressly for the purpose of educating, so there's nothing illegal about using snippets of code from technical books. I wonder how much actual production code contains code from O'Reilly (or insert other publisher) books in it?
Re:Sure, Why Not? (Score:2, Insightful)
Survey is biased (Score:4, Insightful)
6. Would you re-use blocks of code written elsewhere
Only if you were confident that nobody would find out
Whether it would be found out or not
So where is the 'only if it were legal' option ?
Re:It could have happened (Score:3, Insightful)
Patents aren't boogeymen. Patents on things that haven't been invented (speculative patents), have already been invented (trivial patents), and things which shouldn't be invented (frivolous patents) are boogeymen. Patents on things you DO rather than things you MAKE are REALLY boogeymen, because they're extremely broad and conver the concept of doing something rather than a way of doing something, preventing innovation, and, incidently, being totally useless to the public domain once the patent expires.
Re:Sure, Why Not? (Score:2, Insightful)
Re:Sure, Why Not? (Score:3, Insightful)
As for using anything more significant than code snippets, I wouldn't do that. Standard libraries are available either freely (thanks GNU) or at a reasonable price in comparison to a project. I usually get a purchase order for any significant library which we will require to develop a project. For me, my library is all about saving keystrokes and reducing simple errors, rather than dropping in 10,000 lines of code that rightfully belongs to another company.
Why not give an examination? (Score:3, Insightful)
I know a lot of people hate job interview exams, but those are perfectly legal, ethical, reasonable assessments of fitness for a job. But asking to see already-written code is just asking for trouble -- how do you know they even wrote it?