Forum Moderators: phranque
I have created a website for a client and hosted it on my server. I have built a CMS so they are able to update the content of their page.
Now they have decided to move to a new host, and take the website there. Should I give them access to my FTP and to the source code? Should I ask for extra money to do that?
How many of you give the source code? Is that something that should be clearly said in the contract?
Thanks
However, if the CMS was a later addition for which you have not been paid, the problem is more complex.
Kaled.
Now might be a good time to consult a specialist lawyer, to get a boilerplate template drawn up for this sort of circumstance. It will stand you in good stead.
In your current situation, (especially if you have a good relationship with this client), you may simply want to take the time to move their files to the new webhost. If they are leaving your server and will no longer need your services, you may not want to give them FTP access. (Just my opinion)
Of course, if they don't want you having FTP access to their new host so that you may transfer the files, package the site on a CD and send it to them.
You can spend a lot of time explaining what those strange codes mean and why is that there!
Personally I wouldn't let them have it unless they stipulated in the contract.
It is a cassic question in this industry that for some reason but not in others doesn't have an obvious answer. If I hire you to build a house for me, who owns the house? Of course you do. Now if the electrition has some special way of wiring a house that he thinks is better then most, he can't take the wires with him when you hire another electrition even if he fears that the next electrition will see his clever ways and use them for his own work.
Developers have this guarded attidude that this code they wrote is somehow special and no other delveloper could conceive of the ideas that you yourself has come up with, and there for no one should be able to take a peak for fear of code pirating.
They are the client, you are the worker, if you didn't say otherwise then they own the code and I would say ship it to them. If you are worried about someone else going in and making code changes then remove all the line breaks from the scripts files first, it is unscrupulous, but if someone else does try to make code changes they will end up pulling out their hair first, which may send the client back your way, or piss them right off. One of the two.
In my experience though I have found that if you are totally up front about things then your clients won't want to go else where because they know they can get a straight answer from you. It is when you start double talking them with things like intellectual property and the like that they start wondering what you are talking about, and "Is this a scam to get more moeny?"
Taking your homebuilding and electrician analogy, it wouldn't make sense for the homebuilder or the electrician to walk away with wires, cables, shingles, wood, etc. The homebuilder and electricians don't own those things in the beginning. The fees you pay for electrical work or homebuilding are partly used to pay for the materials, while the rest may be used to pay the electrician/construction worker.
When writing code, you own that code until you are paid. If you're not paid, you walk away with your custom product.
Hopefully, most developers have stipulated in their contracts, how to handle this once the exchange of fees and contracts takes place.
If Cirilo007 has been paid for his/her work (with no contract stipulation) and this company wants to move their files to another webhost, I think (out of courtesy) he/she should help them.
If Cirilo007 hasn't been paid, then he/she still owns that code....whether it's stipulated in a written contract or not.
I did it grudgingly and was sad that I was losing the business, but I offered a support contract to the kid incase he had questions. In the end I made twice as much as I would have, because of course someone needed to go in and clean up this kids mess. Not to mention all the time I billed for when he would call in for some coding support.
Keep your clients happy even when they aren't going to be your client anymore, because a happy ex-client may soon become a regretful repeat client after learning that your stright talk and honesty is something they can't find elsewhere in this industry, and sadly that seems to be the case.
The real answer to this question is decide how you want to run your business and then create a policy up front that both parties agree to prior to the commencement of any project. However I am a strong advocate of open source and community programming so I am a little bias but anything less then allowing the client onwership of the code is going the way of the big evil $MS$
If the CMS (or any custom code) is provided as a service, i.e. part of the hosting package, then the client does not own it and cannot expect the source code when changing host.
However, the client can reasonably expect to take any material they have created to the new host so if that material requires the custom code for access, then it must be provided. For instance, if you write a custom database program, if the client needs the program to access the database they have created, then you must provide it.
Kaled.
if ($projectPaid && $code == $project &&!($contractSpecified))
{
$clientOwnsCode = true;
$q = "DELETE 'comments' FROM 'code';
echo "allow future developer to decipher code flow and logic";
}
else
{
$clientOwnsCode = false;
if (!($projectPaid)
{
echo "demand payment";
}
elseif ($contractSpecified)
{
echo "Remind client of contract terms";
}
else
{
$renegotiateContract = true;
}
}
WBF :)
I built my own CMS
Do sale my work including it
However portability of one item is OK
Multi use or re engineer is another bargain
A client has the right to one item for a given site
And not of one item for a myriad sites
I deal with this alot and it is an interesting thing. Someone wants lets say a dynamic news area that output RSS. So I build them one and add it into the CMS they linsence. Now I have charged him my hourly development rate to make a custom piece of code. Now does he own this feature of my CMS? Of course it comes down to the contract before hand, but I say he does.
Where this gets sticky is when another client comes to me and wants the same feature. Now the one I have built will work for both clients because they both have the same CMS. Do I now charge the second client the same as what I charged the first even though I am not going to rebuild it a second time? There are of course many ways of dealing with this and it is up to you, but I have always given some money back to the first client if someone else requests the same feature that I have built for them. I will collect a smaller fee from the second client and then rebate a small amount to the first cleint since he paid for the initial development time.
I mean I could tell the second client I will build him one and let him think I did from scratch and charge him up the bum, but that's not how I roll, it may sound silly but my repeat business and referred customers speaks for themselves.
It sounds weird I know but nothing makes a client all squishy and happy like telling them you are going to rebate them money. They mostly don't care why they are so stupid happy that they got anything,
However I am a strong advocate of open source and community programming so I am a little bias but anything less then allowing the client onwership of the code is