So, you’ve just paid for your website. That means you own all the copyright to the source code and the design, right? Almost certainly not. Here's why:
Copyright is automatically granted to the entity who creates the work at the time of its creation. You do not need to place a copyright symbol (©) on anything to activate the copyright though people still do this as it serves as a reminder the work is not in the public domain.
An exception to the above rule is if you work for a company or are subcontracting for a company under a contract that explicitly states you don't own the copyright. This is known as “works made for hire” and in such instances the copyright belongs to the employing entity, not the author of the work.
So what are you getting in exchange for what you paid? By default, the software and other files are simply being licensed to you for use as a website. This might sound odd but the chances are you've done this kind of thing time and time again outside of the world of web design. For example, it’s exactly the same when you buy a music CD. It would be ridiculous to think you own the rights to the music just because you bought a copy of it — you’re really just being licensed a copy that you can use on a personal basis. The license will have restrictions too such as you can’t copy it for other people, play it in public places or create derivative works from it.
If you have paid to have a site developed the developer or development company would have to explicitly sign copyright over to you for you to own it. If this isn’t done the authoring entity automatically owns the copyright. Often developers won’t stipulate the terms by which the code can be used so if it came to any sort of legal battle I guess there’d be a bit of a grey area there as to what assumed acceptable usage is. One of the many advantages of having a web design contract is that it should state in writing what your rights are.
I have a copyright notice at the top of all my server-side source files that reflect the restrictions laid out in my contract recognising me as the author. It licenses it to the client in perpetuity for use on a single test site and a single live site. I allow them to change the code so long as I am still recognised as one of the authors. I do, however, prohibit the code from being used on additional sites and state that it cannot be distributed, resold or deployed on additional servers or domains without my permission. Furthermore, the code cannot be published or made publicly available in any way.
I feel this is a fair way to operate as it means the client can develop the site with a third party (i.e. they’re not tied in to me) but they cannot use it for anything other than the site it was originally made for.
Note that this only applies to work I code, design or otherwise “create”. Developers strive to reuse other people's open source code as much as possible. Really, when a site is handed over to a client no single person owns the entire thing. There is likely some original design and development that belongs to the web person/company, content that is owned by the client, software licensed to you freely or commercially, photography owned by the photographer but licensed to you and so on. It would be nigh impossible for the copyright/ownership for your entire site to be transferred over to you by a web person/company since most of it is not theirs to sign over.
Signing the copyright over is almost always a bad idea from the designer’s/developer’s point-of-view. It would require keeping track of code snippets and design elements that you no longer own and ensuring they aren’t used again. Not reinventing the wheel helps us to keep costs down and produce better quality work. Signing away copyright not only impedes this it opens us up for litigation. I have never signed anything away, nor would I ever.
Not owning everything on your site is pefectly normal. However, always read your web designer’s terms before signing on the dotted line.