Code Copying Survey for Developers
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."
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.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
we're not doing this to sell reports etc.
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.
Is unreasonable. You are assuming I would reuse code but not saying if its in house or between companies. In my stats class this question would be deemed unethical and slanted. Thus, the results of the survey would be thrown out.
It asks
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.
Ah, good. One presumes then, that *you* will be writing and posting on the net a library of routines and snippets donated to posterity.
Didn't think so.
Sounds like you don't really understand much of the code you put out . . . I just hope you're not "writing" anything critical.
Unless you specifically sign an NDA or it's in your contract that you are not allowed to do this, I don't see what the problem is. Writing everything from scratch every time you go onto a new project at a new company when you have code snippets that could be used would be ridiculous - it would be a waste of time and money for your employer. On the other hand, taking work that was done by you (and probably other programmers) and using it at another employer is certainly underhanded, especially if you've signed an NDA stating that you will not do it. If you haven't signed an NDA, check your contract. If nothing about code is mentioned, you are probably safe. Even a lot of "intellectual property" paragraphs can be invalid - people falsely assume that if the y have "intellectual property" protection, they are safe. Actually, the terms have to be very verbose and descriptive, incorporating either copyright rules or patent rules. A lot of NDA contracts that I've seen from prospective employees from their former companies (in the gaming arena, where NDAs are almost universal) were invalid!
Let's take a look at the game industry, the same code is often used over and over, or at least the same algorithms because you can't afford to loose efficiency in your engine. Especially with modern game engines where the best cards on the market still choke... FarCry? Doom3?. Sharing of code in games is not required, but as an earlier post said, why reinvent the wheel?
... I make sure that I write in a different programming language every time I change jobs.
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).
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.
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.
flossie
Write now. Defend liberty
Wow, this survey will produce helpful results. For some reason I'm guessing it'll conclude that 100% of programmers would copy code. Genius.
It's pretty ridiculous to lament the current state of average software quality and then require developers to reinvent the wheel every time they're on a new job or working for a new client. It may not be lawful, in all instances, to copy code between projects and clients, but in order to meet requirements, especially time requirments, while ensuring a quality project that's as bug free as possible, copying is not only a necessity but a common practice.
...
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
Chr0m0Dr0m!C
If I write a program that performs a particular function, and then later want to write a program to do the same thing, I end up producing an almost exact replica of what I coded previously. Maybe it's just me, but my coding style is basically set in stone.
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.
...not to document your own code?
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.
...in my brain.
How about c) If the license permitted it? I've written code for employers under the GPL and the BSD licenses. (My current project is to work on BSD-licensed code). I've even worked under contract where part of the terms were my retaining copyright on the code I wrote. Of course, I'd re-use any of this code in a heartbeat. Just yesterday, I got special permission to use code I wrote on contract three years ago. I'll re-use that code too. This is an extremely poor survey. I can't answer honestly with this survey since there is no option for me to do so.
myself and every other developer I know it's common to build up an arsenal of code (written or otherwise collected/customized) for various things. more importantly there's the problems and how you solved them that you'll never forget but the problem may come up frequently regardless of where you work.
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
bite my glorious golden ass.
You never ask whether the person wrote the code in their code library on their own time. It seems like you assume that it is all written on someone's dime and then reused in someone else's project.
It does. Stupid questions of the type "have you stopped drinking whiskey in the morning?". I got really aggravated after answering 5 questions.
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.
I passed the Turing test.
Uh, how is taking code from your personal code library copying code without permission? Where do you work? Do you actually work in the industry?
--------
Create a WAP server
To risk using a Slashdot cliche, you're new here, aren't you? Thinking that the mods are going to do anything is rather naive around here. Most of the time they can't even be bothered to spell or grammar check submissions, and now you're expecting them to edit another person's survey?
I really want to haul the same old bloated and broken code that I wrote 5 years ago from job to job, like an albatross around my neck. That would really make me happy.
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.
That's "Mr. Soulless Automaton" to you, Bub.
I think the parent comment is a lot more accurate than you might first think, for people with both good AND bad memories. My memory sucks - as is true of all good C++ coders - wrap and forget. :> I often search for instances of variables with names I can't remember using the name that seems most reasonable, and I'm constantly surprised by my success.
Then again, now that I think about it, maybe I'm just the type that's constantly surprised, period. Ha!
Infinite loop? Nonsense. There's no such thing. They're fairy tales told to scare young programmers into submission. I've been programming for 100 years and I've yet to see a loop that ran forever. One way or another, they always terminate, whether by a Control-C, hardware failure, or any of a million other ways. Infinite indeed.
For every post, there is an equal and opposite re-post.
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 ?
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?