Slashdot Mirror


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."

15 of 389 comments (clear)

  1. Loop by andy666 · · Score: 5, Funny

    I think the first person to write a loop should complain a lot!

  2. Yup, and I keep it... by tcopeland · · Score: 5, Funny

    ...right here. And here, too.

    And lots of other folks contribute too. Good times!

  3. Do you keep a code library? by Anonymous Coward · · Score: 5, Funny

    Hell no, I like rewriting conversion and formatting routines. That's like a paid vacation!

    1. Re:Do you keep a code library? by RLW · · Score: 5, Funny

      Exactly. Why keep a code library around when you can get paid to rewrite stuff which can be put together nearly in your sleep? It's a good way to start the day while I'm still groggy. Then I can get paid to debug it in the afternoon after I wake up.

  4. Sure, Why Not? by Saeed+al-Sahaf · · Score: 5, Insightful
    Yes, it's standard to keep a code lib, and take it from job to job. Why reinvent the wheel?

    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
    1. Re:Sure, Why Not? by mrtrumbe · · Score: 5, Interesting
      Because it's illegal?

      Seriously, though, would you really trust a person who completely relied on copy/pasting legacy code into current projects? Do you know where that person got the code to begin with? Did he write it? Does he even understand the code?

      While just about everyone I know keeps a personal code library containing *some* proprietary code, most don't actively use it. Those who are unscrupulous enough to copy/paste the code into current projects are not people you want around in the long term. I mean, did they even think about the best solution to the problem before doing that copy/paste?

      Most people I know use their library as a reference for future development. This allows them to take the best features/ideas of their historical library and integrate those ideas in new and better ways into their current projects. And I don't see a problem with this behavior. Any person with a decent memory would remember their best ideas and features, anyway, so the illegality of this behavior is questionable.

      Taft

    2. Re:Sure, Why Not? by somethinghollow · · Score: 5, Insightful

      1) Not only that, I think programmers should share. We are, after all, computer scientists. What if every other scientist locked up all of their secrets and just said, "Yeah the Earth moves around the Sun. I won't tell you why or how I know, though."

      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.

  5. Code library. by FictionPimp · · Score: 5, Interesting
    I maintain a code library. But its written very generic. I usually copy that code and use modify it to fit the project i'm working on. I dont see a problem with that because the code is technically different in each project and used in a different way. For example (this one is a little far fetched) Lets say I wrote a function to format a date. In 1 program I may use that function to only output as mm/dd/yyyy. In another program I may use that same function to only output mm/yy.

    Its technically the same code, but I remove the the parts that are not used.

    Besides, even if I didn't have the database. I will write a function to do something very close to the exact same way 90% of the time. Most of the developers I know have very reconizable styles. I can usually tell who on my team wrote what parts by the code alone.

    Sorry for my spelling errors, I dont have time to spellcheck.

  6. Question 6 by Anonymous Coward · · Score: 5, Insightful

    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.

  7. Kind of a stupid survey. by Queuetue · · Score: 5, Insightful

    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.

    1. Re:Kind of a stupid survey. by eddy+the+lip · · Score: 5, Interesting

      I'm pretty sure that this is what you meant, but just to clarify (under US law at least - it's the same in Canada, but I couldn't find a reference quickly) - if you're an independent contractor, the copyright only belongs to the guy with the cash if it's explicitly stated in the contract that this is a work for hire.

      Only certain kinds of work actually qualify as a "work for hire" under the copyright statute. For example, it is a common misconception that software qualifies as a work for hire. It is not, however, one of the enumerated categories of works that qualifies as a work for hire in the copyright statute.
      Source

      When freelancing, or representing my company, I never assign the copyright to the buyer, unless:

      • they understand that all code used will be written from scratch,
      • that this will dramatically increase the development time of the project
      • that $x is the price if it's not a work for hire, and that $x + $bignum is the price if it is.

      Part of what people get when they hire me or my company is a big-ass code library. It's impossible to be competitive these days without that. I'm not about to assign any part of that to someone else, and I'm not going to be giving them copyright on anything I might develop for them without appropriate compensation.

      As for the survey, yeah, most of the questions were maddeningly vague. They didn't include most of the copyright situations I've been faced with, including the one where I had an employee contract stating that they could use anything I wrote for them as they saw fit, and so could I.

      --

      This is the voice of World Control. I bring you Peace.

  8. Choice? by sploxx · · Score: 5, Interesting

    Emmm. Just got this question in the survey:

    6. Would you re-use blocks of code written elsewhere

    a) ( ) Only if you were confident that nobody would find out

    b) ( ) Whether it would be found out or not

    Where is 'c) I won't'?

  9. I get paid hourly by BillFarber · · Score: 5, Funny

    Why would I keep a library of code to help me get the job done faster and for less money?

  10. This is not a can of worms you want to open by Featureless · · Score: 5, Interesting

    ...unless you really know what you're in for, and are ready to talk about reforming our laws.

    Our intellectual property laws, when interpreted strictly, are a bit of a farce. Especially when it comes to thinks like patents, work for hire, the nebulous concept of derived works, "clean rooms..." all the way down to the embattled idea of fair use, backups, lending versus copying, onerous and unenforcable NDAs and employment contracts, and the end fact that, as a society, we have never ever, even for a day, played by the basic copyright rules "100%."

    Our whole industry functions by ignoring the rules most of the time. I have never worked anyplace where all the rules (licenses, for instance) were followed. I always follow them myself to the best of my abilities - but it's impossible. I've probably unintentionally violated a license by now, and I've almost certainly infringed thousands of patents. I have never brought code from one client to another without permission or license, not even once, not even when it would have saved untold time and money and was simply the most obvious, easy thing to do... but over the years I received quite a bit of pressure under various circumstances to do it, and I'm certain that quite a few other people do.

    That said, because the SCO issue (or non-issue, to be frank) is raised, let me say that it's a different thought process when you're going between the commercial and the free software world - both because the pressures to cheat don't exist (or hardly to any similar extent) in OSS, and because it is almost certain in OSS you'll be caught out. It's like parking a stolen car on the street in front of your house.

    But commercial project to commercial project, yes, I bet it happens quite often. And also from OSS to commercial - I would be shocked if there were many large commercial projects that don't have stolen OSS code in them...

  11. It could have happened by ChiralSoftware · · Score: 5, Insightful
    If software patents had existed thirty or forty years ago, there would be patents on the for loop, linked lists, the subroutine, use of buffers, storing text in the form of a sequence of bytes (an invention called a "string"), use of APIs, re-use of code in a form called a "library", the process of merging multiple files of executable code together known as "linking", and many other things, and the process of taking a file containing "source code" and turning it into executable (a novel invention known as "compiling"). All of these things would be patented. Non-commercial software could not exist because there's just no way to write a program without strings, lists and loops, unless your program just consists of a long list of NOOP instructions. But of course NOOP could have been patented too. In fact all these inventions are much more patentable than the stuff that is getting patented now, because when these software constructs were developed, they really were completely novel and non-obvious, unlike things like one-click ordering.

    --------
    Create a WAP server