Copyright of code ...

Hi all, I'm confused about some aspects of 'Copyright' .. No book starts out without a copyright notice. I've got a couple of 'em on programming. Somewhere in Deitel's C++ one may read something of the meaning ".. when you go to try this particular code, then try this and that ..". That sort of suggests that the copyright doesn't span all 'copying'. My confusion is where the limits are. I try to be a righteous man, but the touchy and somewhat fluffy aspect of 'copyright' has become something of an obstacle in the sense that: why get involved in code that you might be prohibited in using at a later time? If the books on programming doesn't implicitly set the example-code in the open (unless strictly expressed otherwise), they are more or less useless. Is there guide-lines anywhere, where I can get a clear idea of how far I can go? Microsoft uses a "considerable reworked" term for the use of some of their example-code .. that's probably as close as you get to a fair balance. But the microsoft way is in many respects not a standard that rules everywhere. Most open-source code has copyright-markings ... is that to be understood, that code that has not is 'fair game'? It's a touchy subject. If for nothing else, then for the fact that computers does only one thing profoundly well: read & write, copy & paste ..

Carsten53T: I'm confused about some aspects of 'Copyright' .. No book starts out without a copyright notice. I've got a couple of 'em on programming. Somewhere in Deitel's C++ one may read something of the meaning ".. when you go to try this particular code, then try this and that ..". That sort of suggests that the copyright doesn't span all 'copying'. My confusion is where the limits are.

The limits are at the point where you get sued, and you settle out of court by trading patents on the code/algorithms used - you do have a patent portfolio, right? No?

Carsten53T: I try to be a righteous man, but the touchy and somewhat fluffy aspect of 'copyright' has become something of an obstacle in the sense that: why get involved in code that you might be prohibited in using at a later time?

First off - drop the idea of "righteous" - it has no place in these dealings; I guarantee you, other companies/programmers are not playing fair either.

Something to be aware of, is that you only really have to worry if your product is a) in any way competing with a larger competitor who may have a patent portfolio to bury you with (and you have nothing), and/or b) your product/software catches the attention of the competitor in "a".

Furthermore, it would have to be operating almost identically to the product of the competitor for them to really notice and want to attempt to get you into court to get you to disclose your source code (discovery phase, I think). That's assuming your code is closed-source. If it is open-source, then you want to really make sure that what you are implementing is -yours- and yours only, and that it isn't already covered by a patent.

Once again, though, you only really need to worry if you are doing this at a level well beyond being a "hobbyist".

Carsten53T: If the books on programming doesn't implicitly set the example-code in the open (unless strictly expressed otherwise), they are more or less useless. Is there guide-lines anywhere, where I can get a clear idea of how far I can go? Microsoft uses a "considerable reworked" term for the use of some of their example-code ..

Code simply being out "in the open" doesn't mean anything - ultimately it is up to the copyright holder as to what you can do with it; if they don't explicitly say what you can do, you can't assume "public domain" (they have to explicitly say "I am placing this in the public domain"). Otherwise, you have to read and understand what the license they are using is, and how that will work with (or interfere with) the license you want to use, and how you expect your code to be used by others in the future.

Closed source has more of a leeway (not legally, mind you) - because no one ever sees the code (outside of those working with it), unless it goes to court, most likely; but then, you can't share that code, of course.

Carsten53T: that's probably as close as you get to a fair balance. But the microsoft way is in many respects not a standard that rules everywhere. Most open-source code has copyright-markings ... is that to be understood, that code that has not is 'fair game'?

No - only if the code has something explicitly stating "this code is public domain" can it be legally considered in the "public domain"; if it has other stipulations or other wording indicating another license, then you have to legally abide by that license.

Carsten53T: It's a touchy subject. If for nothing else, then for the fact that computers does only one thing profoundly well: read & write, copy & paste ..

Yes - yes it is. It is also compounded by the facts and history behind copyright vs patent law (re: mathematical algorithms vs computer algorithms, for instance).

It's very murky, a ton of gray area, etc; it is why most large corporations own and keep large patent portfolios relating to algorithms and other technology - so when one threatens the other, they just cross-license and settle out (usually). Ultimately, it screws the part-time hobbyist who wants/dreams of doing something bigger (or who accidentally stumbles upon it with success).

Welcome to the cyberpunk dystopian oligarchy - enjoy your stay.

There is no doubt that it is confusing. Ambiguous and impossible to figure out, even. People who publish actual libraries are getting better about including a copyright notice and appropriate license, or "released to the public domain." The licenses aren't always appropriate. Berkeley was widely flamed for trying to copyright the "false" program in bsd unix. You are somewhat at the mercy of anyone who can throw a good lawyer at you. And the courts are still trying to figure things out (witness the recent Google vs Oracle decisions.)

In a project like Arduino that prides itself on its open-source roots, I would assume that any code snippets you receive on the forum in response to questions are freely usable (unless the author explicitly says otherwise), but crediting your helpers is probably polite. Including a long string of copyright notices and thank yous in your source code is not too awful... Determining "ownership" of essentially abandoned works is ... problematic. There have been happy endings, and not so happy endings.

Usually a copyright complaint will start with a polite request "you used my code, you should give me credit" or "you used by gpl code so you should publish your code too", rather than "Mine! Pay up or get sued!"

I've never quite figured out the status of code examples published in books that are specifically aimed at teaching something. "here's how you do it, and now you can't use this. Hah Hah!"? As cr0sh said, it's probably matter of competition. Create a product using that code; probably OK. Copy it into your own competing book on the same topic; probably NOT ok...

cr0sh (& westfw) .. have a beer! .. I'll take one myself.

gfupp .. pling pling Cheers! gurf ..

westfw, "Create a product using that code; probably OK. Copy it into your own competing book on the same topic; probably NOT ok..." I'll go with that .. it's nothing but fair.

... gurf gurf gurf ..

aaah, just what I needed. cr0sh, you popped a good question ;o)

(brp)

they have to explicitly say "I am placing this in the public domain"

Except for the federal government, I don't think U.S. law has a provision for relinquishing a copyright. Obviously, it would be difficult for an author to defend a copyright after making that sort of statement but the best choice is to use work that has a copyright statement and an easy to understand license.