473,394 Members | 1,722 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

How to copyright source?

I am writing commersial code for clients.

It sometime seems like common practice to add a copyright
header to each source file (.cpp and .h). The header might
look something like this:

/*
* Copyright (C) 2005, SomeCompany
*/

Possibly followed by a lot of blah-blah.

My questions are these:

o Is developers (and others) free to steal a piece of code
if this heading is not there?

o What significance has the year in the example above?
Am I free to steal this piece of code in 2006 unless
the year is then updated?

o What significance has the blah-blah that often follows the
copyright statement. Is the "(C)" not strong enough, but
requires qualifications?

o What significance has the company name in the example above?
If the company is acquired (as is often the case with
development companies) should every header be updated in
order for them to be valid?

o What significance has a "file" in this context? Being just
bits and bytes on a storage medium, am I free to steal
the part of a storage (i.e. file) which does _not_ contain
the copyright statement?

o What about the directory structure? It is information as
well, but typically not copyrighted. Am I free to steal
its structure?

o What do you do, and why?
(I just have the fealing that this practice is followed
beacause "everybody else" does it and it feels safe that way,
but without an explicit stated rationale).

In my current project we don't yet follow this copyright-header
practice, but I will suggest we do in case there are good reasons
for doing so. In that case, is there a copyright template I can
copy (!) :-) from somewhere?

Thanks!
Jul 30 '05 #1
4 11582
Jacob wrote:
I am writing commersial code for clients.

It sometime seems like common practice to add a copyright
header to each source file (.cpp and .h). The header might
look something like this:

/*
* Copyright (C) 2005, SomeCompany
*/

Possibly followed by a lot of blah-blah.

My questions are these: [snip a lot of copyright questions] Thanks!


http://www.templetons.com/brad/copyright.html

I'll leave it to you to judge the quality of the information, but for
what my opinion is worth, it seems good to me. The interesting bit is
the last paragraph.

-Alan
Jul 30 '05 #2
"Jacob" <ja***@yahoo.com> wrote in message
news:Pf********************@telenor.com...
I am writing commersial code for clients.
In which case, you'd better make sure you have a clear
understanding as to who owns the code. If you're doing
this on a work-for-hire basis, they do. If you have no
explicit agreement, you do. But you'll save a lot of
grief if you clarify such matters up front.
It sometime seems like common practice to add a copyright
header to each source file (.cpp and .h). The header might
look something like this:

/*
* Copyright (C) 2005, SomeCompany
*/

Possibly followed by a lot of blah-blah.

My questions are these:
First, chase the link offered by Alan Johnson in a separate
post. Looks like a good one to me.
o Is developers (and others) free to steal a piece of code
if this heading is not there?
"Free to steal" is an oxyomron. You may be free to use code
or you might steal it, but you can't do both at once. Such
phraseology is bound to get you in trouble, sooner or later,
with others who might feel they have a stake in code you
write.

But to answer your question (already answered in the link
above), every expression is born with a copyright. You add
the notice out of "due diligence." If you have to enforce
your copyright, it helps that you put others on notice that
you own the work.
o What significance has the year in the example above?
Am I free to steal this piece of code in 2006 unless
the year is then updated?
Copyrights have a finite lifetime. This is the year the
clock starts ticking.
o What significance has the blah-blah that often follows the
copyright statement. Is the "(C)" not strong enough, but
requires qualifications?
The qualifications more often grant limited usage. They can't
impose more than the copyright law.
o What significance has the company name in the example above?
If the company is acquired (as is often the case with
development companies) should every header be updated in
order for them to be valid?
If you put a company name on the copyright, then that's who
owns the copyright. It is an asset that goes with the company.
No need to update all the headers if the path of ownership
over time is clear.
o What significance has a "file" in this context? Being just
bits and bytes on a storage medium, am I free to steal
the part of a storage (i.e. file) which does _not_ contain
the copyright statement?

o What about the directory structure? It is information as
well, but typically not copyrighted. Am I free to steal
its structure?
The basic principle is that you copyright a unique expression.
If there's something unique in any accompanying structure,
you'd better assume it's covered too.
o What do you do, and why?
(I just have the fealing that this practice is followed
beacause "everybody else" does it and it feels safe that way,
but without an explicit stated rationale).
I've done it ever since I went into the commercial software
business in 1978. I've done it on the advice of counsel, which
does change in small ways over time, but is pretty consistent
in the area of copyright notices. And those copyright notices
have paid off, in one out-of-court settlement and one knock-down,
drag-out trial in federal court.
In my current project we don't yet follow this copyright-header
practice, but I will suggest we do in case there are good reasons
for doing so. In that case, is there a copyright template I can
copy (!) :-) from somewhere?


You need:

-- the word "copyright"

-- the copyright symbol, though people seem to think (c) is an
acceptable alternative these days

-- the year(s) when the material was created, which evidently can
be a hyphenated range these days

-- the name of the copyright owner

If you also add "all rights reserved", you're putting people on
notice that they'd better contact you before doing anything that
might require permission.

Finally, if you think there's a real risk of infringement, and
serious losses possible if that happens, then by all means
register the copyright, the sooner the better. Otherwise, don't
bother.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Jul 30 '05 #3
P.J. Plauger wrote:
"Jacob" <ja***@yahoo.com> wrote in message
news:Pf********************@telenor.com...

I am writing commersial code for clients.

In which case, you'd better make sure you have a clear
understanding as to who owns the code. If you're doing
this on a work-for-hire basis, they do. If you have no
explicit agreement, you do. But you'll save a lot of
grief if you clarify such matters up front.

It sometime seems like common practice to add a copyright
header to each source file (.cpp and .h). The header might
look something like this:

/*
* Copyright (C) 2005, SomeCompany
*/

You need:

-- the word "copyright"

-- the copyright symbol, though people seem to think (c) is an
acceptable alternative these days

-- the year(s) when the material was created, which evidently can
be a hyphenated range these days

-- the name of the copyright owner


Authoritative answer is here
http://www.copyright.gov/help/faq/fa...ns.html#notice

You may have to consult with a IP lawyer as to whether (C)
means anything. International copyright notices seem to
require the copyright symbol and the word copyright or copr.
have no meaning. A bit of a problem for ascii files.
--
Joe Seigh

When you get lemons, you make lemonade.
When you get hardware, you make software.
Jul 30 '05 #4
Joe Seigh wrote:
You may have to consult with a IP lawyer as to whether (C)
means anything. International copyright notices seem to
require the copyright symbol and the word copyright or copr.
have no meaning. A bit of a problem for ascii files.


Surely some lawyer may arguee about that. But even if you include the c in a
circle instead of the (c), the same lawyer will find some other minutiae to
arguee about.

--
Salu2
Jul 30 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: clintonG | last post by:
I'm having a difficult time determining how to proceed with protecting an eXtensible Markup Language (XML) I am developing for use with an application written in C#. I'll probably be using...
159
by: petantik | last post by:
Are there any commercial, or otherwise obfuscators for python source code or byte code and what are their relative advantages or disadvantages. I wonder because there are some byte code protection...
3
by: Martin | last post by:
Dear Group Sory for posting this here. Hope it's not too off-topic but thought that someone minght know about. Can you give tips about intellectual property / copyright registration for...
16
by: spamfurnace | last post by:
Howdy, I'm no legal beagal but from what i understand if you want to own the rights to an idea you need a patent. If you cant get a patent then your next best option is a copyright. However...
1
by: johnzenger | last post by:
I was scanning the 9/13/2006 issue of the "Electronic Commerce & Law Report," which is a newsletter for lawyers published by BNA. They have an article headlined "Game Developers Making Tomorrow's...
7
by: Alan T | last post by:
How do I set the text property of label on a form as above ?
6
by: Jobe | last post by:
Dear All, Pushed the wrong button:) So again... Could you please advise if there is a violation of copyright of web- code. Website made by me:
0
by: Charles | last post by:
I'm a novice with C++ programming so please bear with me: I'm in the process of inserting multiline Copyright statements in some C++ code and I have many modules to update. The Copyright...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.