Dear list members,

I have a question about source code copyright. I hope I can get an answer here.

Could someone please explain what is the level of copy which violets copyright?

For example take 3 cases.

Case 1: Exact replica of source code.
Ans: Violation

Case 2: Functions and variables renamed.
Ans: Violation

Case 3: Functions moved up/down, some function call deleted and some
new function calls introduced. But overall template/concept remains
same.
Ans: ???

I put another example to make my question clear.

Lets consider one function from LDD3 that has following source:

void end_request(struct request *req, int uptodate)
{
    if(!end_that_request_first(req, uptodate, req->hard_cur_sectors)) {
        add_disk_randomness(req->rq_disk);
        blkdev_dequeue_request(req);
        end_that_request_last(req);
    }
}

Now consider another function from drivers/block/floppy.c

static void floppy_end_request(struct request *req, int uptodate)
{
        unsigned int nr_sectors = current_count_sectors;

        /* current_count_sectors can be zero if transfer failed */
        if (!uptodate)
                nr_sectors = req->current_nr_sectors;
        if (end_that_request_first(req, uptodate, nr_sectors))
                return;
        add_disk_randomness(req->rq_disk);
        floppy_off((long)req->rq_disk->private_data);
        blkdev_dequeue_request(req);
        end_that_request_last(req, uptodate);

        /* We're done with the request */
        current_req = NULL;
}

Assume the function floppy_end_request is not from kernel and I have
written it for my employer.

Now the basic template of floppy_end_request is almost same as
end_request from LDD3. Since end_request is copyright protected, can I
not write a function like floppy_end_request function?

If I can not, then does it not virtually make new block device driver
writing impossible? Because all block device drivers will more or less
have same code at request handling level.

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecar...@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to