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.
| [reply] |
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.
| [reply] |
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.
| [reply] |