in reply to What I am paid for

Svante,
...in which he asserted that he "owns" his code, and that someone who paid him to write it should not....

I think this guy is an ass but that's not what you have written isn't what I understood from the article.

He knows he doesn't operate the way most customers expect and he also knows that if he made this clear up front (contract), he would lose business so instead he insists on a substantial payment up front so when the customer becomes savvy he doesn't get left holding the bag. Did I mention, I think this guy is an ass.

In a nutshell, what he is saying is that when you hire him to deliver a solution, what you are paying for is the end product and nothing else. He goes on to say he is more than happy to sell you the portions of the code that he had to create specifically for your end product at an additional cost. What he is unwilling to sell is the libraries he has created prior to taking on your project. The question is why?

Well, the reason he gives is because he would have to create it in a new form and that it would take longer and cost more. I think this is a relatively simple problem to solve with copyright and licenses. That is, if the customer truly didn't pay to have them developed. Why then hide code that is legally your intellectual property? It seems to me that he has chosen job security through obscurity and shady business practices. If he made the code legible then anyone looking at it could be unscrupulous and then start using it themselves to under bid him. Did I mention, I think he is an ass.

Cheers - L~R

Replies are listed 'Best First'.
Re^2: What I am paid for
by BrowserUk (Patriarch) on Mar 07, 2010 at 18:01 UTC
    I think this is a relatively simple problem to solve with copyright and licenses.

    It really isn't that simple.

    20 years ago I was contracted by a large, very well known company in the UK to do some system testing on the latest version of an in-house developed piece of software used widely across the companies many sites. Early on, I detected a problem by accident that fell outside of the prescribed test regime, but that manifest itself when setting up the tests. With a little effort I reduced it to reproducible scenario, and reported it. Big business being what it is, they asked me for the test ideintifier that produced the problem, and when I couldn't give them one, they dismissed it as irrelevant. Luckily, bug reports weren't only sent to the IT department, but also to the Production sysadmins for sign-off. And one of them recognised some of the symptoms as being the same as a transient, but recurrant problem that had bugged production systems for the past several years and versions.

    What's this got to do with your post I hear you ask. Once authorised to track down the bug, I traced it back to a rs232 comms library used by the application suite. Whilst the source code for this was 'on file', the code was actually owned and licenced from a third-party company. Actually just a one-man band, that had been brought in to develop the original system. When I suggested that it would probably take me a couple of weeks or more to understand that library sufficiently to implement a fix. And that it would then need testing. The IT department, mindful of their testing and rollout schedule stepped in with. "It's not our problem to fix it. Call in the original developer". Which they did.

    It turned out that he had been paid for his original work, and the licence for the first year. But from that point forward, he had never seen a dime. That was 6 years, 3 major versions including a switch of OS (DOS to OS/2), and a myriad of minor releases. As well as a near doubling of the sites and quadrupling of the servers on which his copyrighted and licenced code ran. Had the bug not come to light and the IT dept. called him back for "service" under the original contract (despite it being long expired), he would never have known.

    And that's the problem with copyright & licencing for the small business and lone programmer. It is impossible to police what a company does with the code, once your initial contract (and access) expires.

    Note:There was never any suggestion that the big company deliberately set out to cheat him. It simply slipped through the cracks of their procedures and staff continuity. (He was actually overjoyed with the settlement they offered by way of compensation, without him having to take any kind of legal action. It paid off his mortgage and brought him a new car.)


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      BrowserUk,
      The point you raised is a different problem then the one I am saying is addressed by licenses and copyright. I don't take exception with one thing you said and agree that it is a real problem - just not the one argued by the author of the article (as I understood it). His biggest concern was that if he sold it, he would have to start over for every client. Now that problem is easily solved by retaining the intellectual property and licensing it. Elsewhere in the article, he also mentions he has no problem agreeing to sell the project specific code if they also agree to the inevitable maintenance contract.

      Getting back to your point: It is a UK based company I never heard of so I can't say how large or small it is. It doesn't really matter, it hardly seems a desirable situation to constantly policing your former clients to see if they are adhering to your license agreement. I wouldn't think the guy so much of an ass if he had presented his article in the following manner:

      I have spent a lot of my personal time and resources developing libraries that help me build web based applications quickly. This is an enticing quality to have to prospective clients. One of the situations I often run into though is the thought that when I build a web application that they own my libraries as well. I would be happy to start from scratch so that the customer could own 100% of the code that I develop, but the reason I am sought in the first place is the speed with which I deliver solutions. So how do I deal with customers that want their cake and eat it too?

      Since I tend to work with languages that don't readily compile to native binaries such as PHP, I have to rely on copyright and licenses to protect my intellectual property. I do not have the time nor resources to police all my clients to ensure they are adhering to the terms of the agreement, so I additionally obfuscate the portions that I used in building the custom web application that were not paid for - my personally developed libraries. I know that obfuscation is a poor solution but my personal experience has been problems ranging from non-malicious issues due to lack of understanding to the willful violation of the unscrupulous.

      Cheers - L~R

        The point you raised is a different problem then the one I am saying is addressed by licenses and copyright

        Indeed. I agree I got the wrong end of the stick about your point.

        That said, there is also a problem with the assumption that copyright and non-exclusive licencing would protect the programmer (or his new clients), from legal claims by his previous clients.

        There was a case came up in the news in the last 2 or 3 months, (by I cannot track down the story), where a (I think) music site in (I think) China or Tiawan, was taking legal action against Microsoft because the latter's latest design for their similar site had a functionally nearly identical user interface. Different chrome (schema, text, fonts, colors), but an essentially identical UI. I'm also not sure what if any mutual or legal settlement has come out of the case, but it serves as an intro to my point.

        If this guys develops a commercially successful site for one client, and then later does a similar site for another client and that starts to be successful also, then even with the protection of non-exclusive licencing, any case of 'look & feel plagerism' claims would be so much harder to defend against, if the underlying libraries are, (even legally), the same.

        And it is often a consequence of using common libraries, that even independantly designed, similar applications, will tend to work in much the same way.

        That said, I don't see that obfuscation of those libraries would provide him any legal protection at all. Nor do I see that obfuscating the libraries would would either protect his clients, one from the other, nor satisfy their desire to own 100% of the applications he writes for them.

        he also mentions he has no problem agreeing to sell the project specific code if they also agree to the inevitable maintenance contract.

        Hm. If he "sells" them the code, then there is no inevitability about their need for, much less, obligation to purchase, a maintenace contract. If they own the code, they can maintain it (or not) in whatever way they see fit. I guess he means maintenance of the underlying, unsold libraries, but if they are neither included in the purchase price, nor licenced, what has he sold them?

        I'm kind of on the fence here. I can see some of what he is trying to protect himself against, but I think that he is going about it entirely the wrong way. But equally, I do not have any solutions to offer. Especially in the field of interpreted code delivered in source form.


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.