datadriven — 2012-11-24T16:53:05-05:00 — #1
As a designer/developer - with my own way of processing forms, use of snippets, css layout and most things in general (not ordinarily viewable absent a 'view source') I'm wondering the best approach to treating code that is found to be similar from site to site. That is, from one customer to the next. It's been expressed to me by some local businesses now the problems that have happened with designers who retain the rights/passwords to their sites who then later want seemingly high fees for making updates, or for entire rewrites. Therefore, they want to retain the rights to their own sites.
Does server-side code really need to be unique? Clearly client side should, at least main content blocks while surely sections like meta can be somewhat similar.
Should there be renaming of tags, variables, tables, etc, every time a new site is begun? Does it really matter?
I've heard of simple graphics being used by web designers from site to site, but shouldn't this occur when the designer retains the right and one way or another 'licenses back' the use of site to customer? And is this licensing a tactic to overcome code similarity by a single designer?
BTW - I'm not referring to 'templated' sites in any way here. Only portions of code that are found to be the same or similar to one another. Also, is it unrealistic for a customer to expect that a site be created entirely from scratch, even one considered to be custom.
mikl — 2012-11-25T04:52:19-05:00 — #2
Just to be clear: Are you asking about your own code being unique from site to site? In other words, are you worried about the code you wrote for one client being seen on another client's site?
If so, then the answer is to make sure your contract is framed accordingly. Basically, you've got to give each client full ownership of the code you wrote for them, but with you retaining the right to re-use any fragments of code on other client's sites. If necessary, this could be limited to generic code which implements general techniques, like menus and carousels, rather the actual functional stuff that is specific to the client.
So, to answer your final point: No, it is not realistic for a client to expect each site to be done entirely from scratch.You are a professional in your field, and you have the right to exploit and re-use any skill and knowledge that you gain while working for a client. A client can't reasonably expect you to contract out of that right.
By the way, this is separate from the issue of whether the developer should retain the passwords to the sites. Of course the client must have the passwords (and whatever else is needed to maintain the site) - and they should be free to change the passwords without reference to the developer. It would be most unprofessional for a developer to try to prevent that. But that's got nothing to do with the issue of re-using code on other sites.
datadriven — 2012-11-25T14:41:54-05:00 — #3
Thanks for the thoughtful reply.
Then I should itemize which parts of code I retain the right to re-use, while at the same time they own the code handed over to them ONLY in its working entirety -- is this correct? Then I can replicate/adapt sections?
I've seen many times where html/css/php/mysql simply must be formatted in the same way to execute similar purposes. Also I can't fathom where simple statements and snippets could be considered creative enough to warrant protection.
Then there is the case of public license and re-use. I plan on simply saying all others retain their respective rights where code is being applied from another source (which could also be paid for by me, such as for customized drop menus, etc) while giving credit onsite where credit is due, without getting too detailed. I'm also assuming public license can be applied within sites done by designers, I've seen it so many times.
I have a client, whose prior designer won't hand over the login credentials. Any suggestions? How could it be within my sphere to get between their agreement?
promptspace — 2012-11-26T03:11:26-05:00 — #4
Mostly I have seen designers create a design framework for themselves and then build on top of it according to the client's requirements. You being the designer have the complete right to re-use your code and skills from past projects.
mikl — 2012-11-26T07:05:05-05:00 — #5
Then I should itemize which parts of code I retain the right to re-use, while at the same time they own the code handed over to them ONLY in its working entirety -- is this correct?
That's not quite how I would do it. I generally say something like this:
On completion of the project, ownership of all program code and web page markup developed for the project will pass to you. However, I will retain the right to re-use portions of the code and markup for other projects, without reference to yourself.
That's just to give you the general idea. Obviously, you can fine-tune the wording. The point is that you establish the general fact, rather than itemising specific bits of code.
I would add that I've been using this sort of contract clause for over 30 years, and I've never had a client query or comment on it, and it's never caused a problem.
ralphm — 2012-11-26T07:20:25-05:00 — #6
Perhaps ask your clients if they demand that every part of the car they drive needs to be unique—and unlike any parts of any other car that was ever designed or built. And then, perhaps in the same breath, ask how many millions of dollars they are happy to spend on their car.
The point of a website is to meet a need, and that need is largely independent of the code that's used. Of course, it should be well formed, efficient code, but beyond that, it's crazy to expect that it's completely unique.
shadowbox — 2012-11-26T08:46:19-05:00 — #7
My suggestion is, leave it to your client and the other designer to battle it out. You definitely should not get directly involved.
As for the general issue, it's no big deal. Probably best to retain ownership to all code and just license the use to your client. This can simply be a perceptual, non exclusive, non-transferrable license for your client. That way you can do what you want with your classes and functions, and he gets on with his life. I always transfer the graphical site design, logos etc to the client in full, I see no need to retain anything about such things, I cannot 'reuse' the entire site design.
Just remember you are creating a web site for the client, that's it. If he were hiring you to develop a commercial application (which he'll resell etc) then that presents a different challenge, but for the web site, the client just needs it to function, so no need for him to 'own' the code behind it. But design is a different matter IMO.