Page 1 of 1

Avoiding copyright infringement

Posted: Thu Feb 14, 2013 10:12 am
by mgoppold
I want my work to have a completely new license. I want to reimplement functions/APIs from freebsd and linux to reuse drivers.

Should I get all my info from books, and completely avoid looking at freebsd and liinux source code?

Re: Avoiding copyright infringement

Posted: Thu Feb 14, 2013 11:51 am
by Gigasoft
I don't understand what you're trying to ask. A license to do what? A "work" can not own a license because a work can not go to court. It has to be a real, tangible legal entity. For a software program to perform an act, it must be executing on a particular computer. A computer either belongs to someone or has been abandoned. An abandoned computer may simply be turned off and brought in as a found item without a court order. If it belongs to someone, damages may be sought against that someone for any alleged violation that occurred because of the execution of a software program on that computer. Now, this person or firm, in order to prove that they were in their right, has to produce a valid legal document that entitles them to perform the act that is the matter of the case (or, alternatively, that the plaintiff was not injured by the defendant). It is not merely enough to prove that the work was entitled to do so, because the work is not the one being sued, the computer owner is. Furthermore, it has to be signed by a real person. So, a license can not be "transferred" from a work to a person, because a work can not manufacture a valid legal document. The original holder of a transferred license must therefore be the author of the work or his estate, not the work itself. This means that you may not transfer a personal license onto a work and expect that the parties controlling the sites where the work is installed can be kept damage free.

As for implementing particular APIs, that is not considered a copyright violation. Copyright violation means copying a work or a substantial part of it without having appropriate entitlements, but this does not include what is merely an idea, or a functional aspect of a work.

Copying an entire driver or deriving a work from it is a copyright violation. Examining a driver and then writing a driver is not, unless your work can be said to be a copy of the original.

Re: Avoiding copyright infringement

Posted: Thu Feb 14, 2013 12:43 pm
by mgoppold
I meant "work" as in the product/software. When selling software, the software will have a license. This is normal.

What I mean by reimplimenting APIs is, writing functions that try to do the same thing as the original functions, and that have the same function names.

I know I can read and totally use documentation about functions. I can read books/documentation, even about linux/freebsd.

But should I prevent myself from looking at the linux/freebsd source code to a function that I want to reimpliment?

Re: Avoiding copyright infringement

Posted: Thu Feb 14, 2013 12:48 pm
by Combuster
Patents are much, much worse than being inspired by existing code.

Re: Avoiding copyright infringement

Posted: Thu Feb 14, 2013 3:41 pm
by b.zaar
FreeBSD uses an open source license where you can copy it's source into another product for commercial use. Linux license is more restrictive where any code you use or modify must also be released as open source.

You can look through the source code of these OS's but don't do a direct copy and paste from linux

Re: Avoiding copyright infringement

Posted: Fri Feb 15, 2013 6:46 am
by Gigasoft
mgoppold wrote:I meant "work" as in the product/software. When selling software, the software will have a license. This is normal.
No, you are mistaken. Software can never have a license, because that's nonsensical. Only a person or firm can have a license. When you have sold a piece of software, the buyer has a legal right to use it, this follows from the law (in most civilized countries, I presume). Otherwise the product would be considered defective by design and it would be clear that a scam had taken place. If some sort of license is bundled with the software, then it belongs to the buyer, because it was in the box that he or she paid for. It does not belong to the software. Software can not own property. The software is not a party to whatever legal agreement you have. It can not enter into a contract nor can it act as a legal representative. However, many people are hopelessly confused on this point. For example, those silly click-through EULAs are falsely believed by many people to be a valid form of contract. Even the courts sometimes get it wrong. How these people managed to pass the bar exam is a conundrum. I know, it sounds much easier than having the customer properly sign a document at the time of purchase, but it's just not the correct way in the eyes of the law.

Being "inspired" is fine, it is not a copyright violation unless you are actually copying something verbatim (that is, something that is nontrivial and clearly identifiable).
Combuster wrote:Patents are much, much worse than being inspired by existing code.
Patents are an entirely different beast, but patent issues are not likely to be encountered when dealing with device drivers.

Re: Avoiding copyright infringement

Posted: Fri Feb 15, 2013 7:38 am
by Combuster
Gigasoft wrote:
Combuster wrote:Patents are much, much worse than being inspired by existing code.
Patents are an entirely different beast, but patent issues are not likely to be encountered when dealing with device drivers.
You're not allowed to write a full-blown FAT driver. And five minutes of google reveals that Mesa can't become a 100% complete OpenGL implementation because of patents. And those are known patent issues.

And now I'll stop searching before I lose the ability to use the argument of ignorance.

Re: Avoiding copyright infringement

Posted: Mon Feb 18, 2013 12:58 pm
by linguofreak
Gigasoft wrote: No, you are mistaken. Software can never have a license, because that's nonsensical. Only a person or firm can have a license. When you have sold a piece of software, the buyer has a legal right to use it, this follows from the law (in most civilized countries, I presume). Otherwise the product would be considered defective by design and it would be clear that a scam had taken place. If some sort of license is bundled with the software, then it belongs to the buyer, because it was in the box that he or she paid for. It does not belong to the software. Software can not own property. The software is not a party to whatever legal agreement you have. It can not enter into a contract nor can it act as a legal representative. However, many people are hopelessly confused on this point. For example, those silly click-through EULAs are falsely believed by many people to be a valid form of contract. Even the courts sometimes get it wrong. How these people managed to pass the bar exam is a conundrum. I know, it sounds much easier than having the customer properly sign a document at the time of purchase, but it's just not the correct way in the eyes of the law.
Yes, software cannot own property or enter into a contract. But things can be assigned to it by human action. When the usage of a program is covered (or purported to be covered) by a license, we say that it "has" that license, and saying "this software has such-and-such a license" does not imply that it owns that license or has entered into a contract. This is normal English usage.

Re: Avoiding copyright infringement

Posted: Mon Feb 18, 2013 1:03 pm
by bewing
Combuster wrote: You're not allowed to write a full-blown FAT driver.
Until November 1st, when the patent expires completely. After that, the whole point of the patent system is that you are then encouraged to do it.

But basically the information given above is correct. The BSD code is BSD-licensed, which means that you can copy it verbatim or modify it, just so long as you keep their license wording at the top of their code only. They retain copyright, but with free and complete licensing.

Linux code is basically GPL licenced, which means that if you use it (or even look at it much) then you are legally required to put a GPL licence on your entire project. Which you probably don't want to do.

Re: Avoiding copyright infringement

Posted: Mon Feb 18, 2013 1:56 pm
by Combuster
bewing wrote:Linux code is basically GPL licenced, which means that if you use it (or even look at it much) then you are legally required to put a GPL licence on your entire project. Which you probably don't want to do.
Reverse engineering solves that particular problem:
Ideas embedded in, or functional elements of software are not protected by copyright