• Advertisement
Sign in to follow this  

To what degree does copyright code apply?

This topic is 4526 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

To what extent can you copyright code, in particular C++. As I understand it one cannot copyright an idea, or names, titles and slogans. Furthermore in some circumstances small parts of copyrighted literary work may be copied. Based on that then I have some questions: 1) Is the name of a class/function/variable copyrightable? 2) What about a class interface? 3) Perhaps only the code implementation can be copyright? 4) What about certain concepts used in code eg "Well this class method delegates it to that class method, I could do something similar in my code..." 5) In my programs I have used certain class/function names from freely available online sources, probably under the GPL, does that breach any copyright law? 6) Similarly to Q5. I have written my own specialized versions of Microsoft BITMAPFILEHEADER and BITMAPINFOHEADER which are obviously highly based on the originals. Is that illegal? Copyright seems a dark and mysterious concept in regards to coding. But any insight is welcome Thanx

Share this post


Link to post
Share on other sites
Advertisement
Names, Titles, Ideas and Slogans most certainly can have a copy right.
Im sure you can copyright code too. In the United States anyway.
Also, you dont copyright code, you patent it.

1) Is the name of a class/function/variable copyrightable?
No.

2) What about a class interface?
Dont know.

3) Perhaps only the code implementation can be copyright?
Dont Know.

4) What about certain concepts used in code eg "Well this class method delegates it to that class method, I could do something similar in my code..."
No. Unless its an extensive algorithm that you are using.

5) In my programs I have used certain class/function names from freely available online sources, probably under the GPL, does that breach any copyright law?
Not that im aware of.

6) Similarly to Q5. I have written my own specialized versions of Microsoft BITMAPFILEHEADER and BITMAPINFOHEADER which are obviously highly based on the originals. Is that illegal?
For personal use, I dont know. For commercial use, you bet its illegal.

Share this post


Link to post
Share on other sites
Quote:
Original post by Fixxer
Also, you dont copyright code, you patent it.


Thats not true in places like Europe where you can't patent code. Patents from what I know usually involve a licence fee for using anything thats patented, and copyrighting just means you must have the authors permission to use it. (If they wish to charge they can, like engine licences).

Im no expert but I'm pretty sure about that bit.

-J

Share this post


Link to post
Share on other sites
Quote:
Original post by Jason2Jason
Quote:
Original post by Fixxer
Also, you dont copyright code, you patent it.


Thats not true in places like Europe where you can't patent code. Patents from what I know usually involve a licence fee for using anything thats patented, and copyrighting just means you must have the authors permission to use it. (If they wish to charge they can, like engine licences).

Im no expert but I'm pretty sure about that bit.

-J


My mistake :-P
Im also no expert. You are right I looked it up on www.copyright.gov

Share this post


Link to post
Share on other sites
I am not a lawyer. This is not legal advice, for legal advice see a lawyer in your jurisdiction, yadda yadda.

Further, I am most familiar with American copyright law, and will base opinions off of that.

1. Sure. Is the name alone unique enough to be considered infringable? Not really.

2. I don't think so. Only the literal name/code, not the erm... functional specification. Functional specifications would fall under patent or similar trade secret protection.

3. Correct. The literal text is under copyright.

4. Similar to #2.

5. That would depend on the extent of copying, how common the name was, wether they were used exactly the same, wether you met the GPL's requirements... Each case is different.

6. Probably not, since the bitmap specification is [to my knowledge] an open standard, and any implimentation of a header class is bound to be near idential to another taken from the same open standard.

That said, doing something similar with say... DirectX classes might be more shady.




This sort of thing was a bit simpiler when copyright violation was solely a civil matter.

Share this post


Link to post
Share on other sites
1) Is the name of a class/function/variable copyrightable?

No

2) What about a class interface?

No

3) Perhaps only the code implementation can be copyright?

A particular implementation of an algorithm can be copyrighted, the algorithm itself
may be patented if you manage to prove that is is original (no previous examples of the same method).

4) What about certain concepts used in code eg "Well this class method delegates it to that class method, I could do something similar in my code..."

Thats fine, concepts=ideas, if you read code, digest it, and puke it out, is fine, if you read code and then copy paste the code, thats copyright infringment, however, code you take from books and online tutorials usually allow you to use the code without restrictions.

5) In my programs I have used certain class/function names from freely available online sources, probably under the GPL, does that breach any copyright law?

Depends, like I said, most books and tutorials allow you to use the code as you please, you would have to check your sources and find out what does the small letters say.

6) Similarly to Q5. I have written my own specialized versions of Microsoft BITMAPFILEHEADER and BITMAPINFOHEADER which are obviously highly based on the originals. Is that illegal?

No, it is not.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by dmatter
To what extent can you copyright code, in particular C++. As I understand it one cannot copyright an idea, or names, titles and slogans.


That's a "trademark" not a copyright. Different beast. Aragorn is trademarked, LotR is copyrighted. Kleenex is trademarked, the box where they keep popping out was patented. See the difference?

Also, just by virtue of writing something, you have a copyright to it. That's why you get to decide the licensing issues.

Quote:

Furthermore in some circumstances small parts of copyrighted literary work may be copied.


The technical term is "fair use". Research, scholarly works, small credited quotes, etc.

Quote:

3) Perhaps only the code implementation can be copyright?


Yes. You have the "right" to decide who gets to "copy" your implementation.

Quote:

4) What about certain concepts used in code eg "Well this class method delegates it to that class method, I could do something similar in my code..."


That's the realm of patents, not copyrights.

Quote:

5) In my programs I have used certain class/function names from freely available online sources, probably under the GPL, does that breach any copyright law?


No, as long as you follow the terms of the GPL or whatever other license applies. They have the copyright, they licensed it to you under the GPL. You have the right to copy it under the terms of the GPL.

Quote:

6) Similarly to Q5. I have written my own specialized versions of Microsoft BITMAPFILEHEADER and BITMAPINFOHEADER which are obviously highly based on the originals. Is that illegal?


Unless they're trademarked, feel free.

Quote:

Copyright seems a dark and mysterious concept in regards to coding.


Yeah, coding is such a new development that people haven't exactly figured out how patents, copyrights, etc. should apply.

Share this post


Link to post
Share on other sites
Disclaimer: IANAL.

Quick overview of IP law:

- Trademarks are for distinguishing characteristics, signature marks, or a slogan or branding of some kind. "Just Do It" is trademarked by Nike, for instance.
- Copyright is for original, created works that are "fixed in a tangible medium". For non-trivial and original software, this means that as soon as you've saved it somewhere, it's protected.
- Patents are for realizations of ideas, called inventions. Only processes (e.g. how to use a laser beam to cut diamonds), machines (e.g. the printing press), manufactures (things "made by humans or machines"), compositions of matter (e.g., Silly Putty), or new uses of any of the previous things can be patented. The invention in question must also be "novel" (nobody else has come up with it yet), "useful" (it's not a pie-in-the-sky theoretical musing), and "unobvious" (someone else in the same field as the invention wouldn't consider it trivial).

Quote:
Original post by dmatter
1) Is the name of a class/function/variable copyrightable?

You can't copyright a name. That falls under the domain of trademarks.

Quote:
2) What about a class interface?

Yes, you could copyright this. You probably couldn't patent it, though.

Quote:
3) Perhaps only the code implementation can be copyright?

That's correct. However, if the implementation describes a unique process (e.g. a compression algorithm), you could patent the algorithm.

Quote:
4) What about certain concepts used in code eg "Well this class method delegates it to that class method, I could do something similar in my code..."

That could be patentable. See above. You can't copyright the generic concept, though; only your specific implementation.

Quote:
5) In my programs I have used certain class/function names from freely available online sources, probably under the GPL, does that breach any copyright law?

Copyright generally does not extend to short phrases or clauses; I can't write a function called WriteLine() and then claim you violated copyright if you also happen to have a similar-named function. If you lifted entire sections of code, that would be a different matter. Otherwise, it depends on the license.

Quote:
6) Similarly to Q5. I have written my own specialized versions of Microsoft BITMAPFILEHEADER and BITMAPINFOHEADER which are obviously highly based on the originals. Is that illegal?

If it can be shown that your versions are not "substantially original" from their versions, it is considered a derivative work. That means that your work is not protected by copyright and may be infringing upon the original author's copyright.

Share this post


Link to post
Share on other sites
You can find links to the full legal information on Patents, Copyrighting, and Trademarks at http://www.sba.gov ( small business association ).

Share this post


Link to post
Share on other sites
Thanks for the info everyone!

First of all I have since read that trivial work cannot be classed as copyright (as it is too difficult to claim it as unique).

So from what I've read let me see if I have a reasonable understanding:

1) NO. names cannot be copyrighted and therefore can be copied.

2) NO. A class interface is simply a collection of names, in itself it is useless as it is not functional and therefore trivial - so cannot be copyrighted.

3) YES. It is the implementation of code (behind a inteface for example) that can be copyrighted, the algorithm it presents can also be patented.

4) NO. Design concepts such as delegation and singleton patern for example cannot be copyright, unique concepts could be patentable.

5) NO. Even though the code may have been under the GPL this is applicable from Q1 and so is legal.

Now with Q6: I think that the headers are fairly standardized, I mean programs on non-windows platforms that want to load bitmaps needs to define the structures themselves.
I think this also applies to other similar scenarios, such as loading a Quake3 model/level (before the source was released of course) requires the use of structures extreamly similar to those in the Quake3 source.
Therefore I am inclined to say that it is not copyrightable although the file format may be patented.

Does it sound like I have it right?

Share this post


Link to post
Share on other sites
Quote:
Original post by dmatter
2) NO. A class interface is simply a collection of names, in itself it is useless as it is not functional and therefore trivial - so cannot be copyrighted.

I disagree; a non-trivial interface can be copyrighted. The table of contents of a book is itself copyrighted, for instance, even though the table of contents is just a "trivial collection of names". Those names describe the framework for your ideas.

Like anything else trivial, however, a trivial class interface would not be copyrightable.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by kSquared
Quote:
Original post by dmatter
2) NO. A class interface is simply a collection of names, in itself it is useless as it is not functional and therefore trivial - so cannot be copyrighted.

I disagree; a non-trivial interface can be copyrighted. The table of contents of a book is itself copyrighted, for instance, even though the table of contents is just a "trivial collection of names". Those names describe the framework for your ideas.

Like anything else trivial, however, a trivial class interface would not be copyrightable.


Is the table of contents copyrighted, or is it part of a copyrighted work, or is the question nonsense?

Share this post


Link to post
Share on other sites
Quote:
Original post by Jason2Jason
Quote:
Original post by Fixxer
Also, you dont copyright code, you patent it.


Thats not true in places like Europe where you can't patent code. Patents from what I know usually involve a licence fee for using anything thats patented, and copyrighting just means you must have the authors permission to use it. (If they wish to charge they can, like engine licences).



That is completely untrue -- you absolutely *can* patent code in Europe. For something to be patented it needs to be new i.e. not in the public domain, have an inventive step, AND have a realistic commercial application.

you can't patent a mathematical formula, if thats what you're thinking of, but many scientists get around this by actually turning their formulae *into* programs so that they *can* be patented - so much for not being able to patent them in europe...

You can copyright anything that is your own work but it only prevents (or makes sue-able) copying, not someone else coming up with the same idea independent of your work and doing it (that's what a patent is for). Generally they can even copy the behaviour of your program if they want, as long as they haven't looked at your code to do it.

Trademarks are another issue - I imagine there would be issues if you released code under the namespace com.microsoft for example

also, American law is very similar to European law on the majority of things

Quote:

Im no expert but I'm pretty sure about that bit.



nor am I but at least I'm not guessing, and I doubt it

Share this post


Link to post
Share on other sites
Another way to look at it is, you can copyright a program in the same way you could copyright a piece of written work. In fact by UK law, you automatically have copyright over a piece of work you produce, whether or not you declare it.

Also (c) or (C) has no meaning - it isn't equivalent to a c with a circle around it as far the law is concerned as lots of people seem to think

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
Quote:
Original post by kSquared
Quote:
Original post by dmatter
2) NO. A class interface is simply a collection of names, in itself it is useless as it is not functional and therefore trivial - so cannot be copyrighted.

I disagree; a non-trivial interface can be copyrighted. The table of contents of a book is itself copyrighted, for instance, even though the table of contents is just a "trivial collection of names". Those names describe the framework for your ideas.

Like anything else trivial, however, a trivial class interface would not be copyrightable.


Is the table of contents copyrighted, or is it part of a copyrighted work, or is the question nonsense?

A table of contents is part of a copyrighted work (the book), in the same way that a class interface is part of a copyrighted work (the class implementation). Taken on its own, it's much more questionable. You can't copyright the word "interface", or "interface IFoo", or "interface IFoo {", or ... you get the picture. The dividing line between when it's a stand-alone copyrighted work and when it's not is very blurry, however. The best guidance is that if it should be construed as an original work, then it's copyrighted.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Quote:
Original post by kSquared
Quote:
Original post by Anonymous Poster
Is the table of contents copyrighted, or is it part of a copyrighted work, or is the question nonsense?

A table of contents is part of a copyrighted work (the book), in the same way that a class interface is part of a copyrighted work (the class implementation). Taken on its own, it's much more questionable. You can't copyright the word "interface", or "interface IFoo", or "interface IFoo {", or ... you get the picture. The dividing line between when it's a stand-alone copyrighted work and when it's not is very blurry, however. The best guidance is that if it should be construed as an original work, then it's copyrighted.


I wasn't really talking about "the heap problem" (How many pieces of straw makes a heap?). Say I write a poem, I have a copyright to that poem. But now, let's say I write a novel where a character recites a poem. Now, my understanding of copyright law (I haven't actually studied it) is that anyone is free to copy a paragraph out of my novel so long as they cite it properly. To my mind, this would apply to the poem in the novel as well (they could copy it so long as they provided a citation). The poem is part of a copyrighted work and thus can be copied. However, if the poem were a stand alone work that I'd written, the poem itself would be the copyrighted work. Is this understanding correct?

Another question, how does copyright apply to all these sites posting song lyrics?

Share this post


Link to post
Share on other sites
Quote:
Original post by Timberl
Also (c) or (C) has no meaning - it isn't equivalent to a c with a circle around it as far the law is concerned as lots of people seem to think


<IANAL>Which is why if you use it you should also include the word copyright - e.g. "Copyright (C) 2005 Michael B. Edwin Rickert".

Copyright notice has not been required since 1989, but the explicit inclusion of this information can prevent others from arguing "Innocent infringement" (which occurs when the infringer did not realize that the work was protected).

The use of the word copyright I would think be sufficient evidence, and (C) 2005 would probably still hold some water, although would be arguable.

For best safety (by which I mean "ability to sue the pants off theives") the use of the copyright symbol (©) is of course preferable, but I would not go so far as to say (C) has no meaning.</IANAL>

Share this post


Link to post
Share on other sites
Quote:
Original post by Anonymous Poster
I wasn't really talking about "the heap problem" (How many pieces of straw makes a heap?). Say I write a poem, I have a copyright to that poem.

Right.

Quote:
But now, let's say I write a novel where a character recites a poem. Now, my understanding of copyright law (I haven't actually studied it) is that anyone is free to copy a paragraph out of my novel so long as they cite it properly.

That's right. Taking a paragraph or two as evidence or support for a different hypothesis in a different paper is a long-established principle of acceptable use for copyrighted work.

Quote:
To my mind, this would apply to the poem in the novel as well (they could copy it so long as they provided a citation). The poem is part of a copyrighted work and thus can be copied.

You might be getting into hot water there. See below.

Quote:
However, if the poem were a stand alone work that I'd written, the poem itself would be the copyrighted work. Is this understanding correct?

Sort of. In cases of distinct sub-works that are part of a larger work, each sub-work can be construed as a copyrighted work. For instance, the Encyclopedia Britannica is a very large document. If you printed the entire "C" volume -- a distinct sub-work -- without permission, you'd be violating copyright.

But if someone writes a book with lots of creative diagrams, and then you print one of those diagrams, you probably have a stronger case. An example of this is something like the Lord of the Rings trilogy. Would you get in trouble for printing Bilbo's "the Road Goes Ever On" poem? Possibly; it could be construed as a separate work, since poems can be distinct works themselves. But the copyright holder would have a tougher time than the Encyclopedia Britannica example.

Quote:
Another question, how does copyright apply to all these sites posting song lyrics?

There hasn't been a court case yet, so the answer is "we don't know". Most sites justify it under the auspices of fair use. That is, someone looking up song lyrics is doing it because they want to know what the lyrics are, and not because they plan to make their own song as a derivative work.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement