Quantcast
Viewing latest article 2
Browse Latest Browse All 13

Bareos — Plagiarism

Recently, I have written that Bareos is guilty of plagiarism and copyright violations.  This is still occurring in new commits to the code.  Bareos has of course denied this (perhaps the people who update their web site don’t really see what their developer(s) is doing).  Their web site contains the following recently posted information at:

http://www.bareos.org/en/news/items/lawsuite-between-bacula-systems-sa-and-bareos-gmbh-co-kg-copy.html

All files complained about do have an Open Source AGPL license header and show a copyright of the Free Software Foundation Europe (FSFE). Some scripts (database scripts) do not have any copyright info at all. Therefore we are confident that there is no reason for a copyright claim.

Concerning the Bareos plagiarism and copyright violations:

To see it you need to checkout the Bacula git repository with

 git clone http://git.bacula.org/bacula

Then you need a copy of the Bareos git repository:

git clone https://github.com/bareos/bareos.git

Probably the easiest way to see examples of plagiarism is to display two files side by side using a wide shell window, which can in general be done with the following:

  diff -yh one-file another-file

this shows most of the changes and copies side by side, but it will miss subroutines that have been moved.  You can do the same with several graphical diff tools.

Note, in each command I give, the original Bacula source is shown on the left and the new Bareos code on the right of the diffs.

Violations:
===
bareos/src/stored/sd_cmds.c

The is probably the most flagrant violation, which was derived from bacula/src/stored/fd_cmds.c

diff -yh bacula/src/stored/fd_cmds.c bareos/src/stored/sd_cmds.c

Here you will see that the FSFE copyright and the attributions were replaced by the Bareos (and Planet) copyrights.  Certainly the file has been modified, because it interfaces to the sd rather than the fd, but you can see that  the majority is copied — even the comments.
===

===
bareos/src/stored/unix_device.h

This was probably taken from bacula/src/stored/vtape.h.  Note that most of vtape.h was deleted, but all of unix_device.h comes from that file (even the comment) with the exception of the new Bareos only copyright.

diff -yh bacula/src/stored/vtape.h bareos/src/stored/unix_device.h
===

===
bareos/src/stored/ndmp_tape.c

The ndmp_thread_server() subroutine at the end of this file came from bacula/src/lib/bnet_server.c.  Although there are changes, massive amounts of code (including comments) come from the original Bacula code (written by me).

diff -yh bacula/src/lib/bnet_server.c bareos/src/stored/ndmp_tape.c
===

===
bareos/src/win32/stored/win32_file_device.h

This file like the unix_device.h above was probably derived from bacula/src/stored/vtape.h

diff -yh bacula/src/stored/vtape.h bareos/src/win32/stored/win32_file_device.h
===

===
bareos/src/win32/stored/win32_tape_device.h

This file like the unix_device.h above was probably derived from bacula/src/stored/vtape.h

diff -yh bacula/src/stored/vtape.h bareos/src/win32/stored/win32_tape_device.h
===

===
bareos/src/win32/stored/win32_file_device.c

This file was derived from bacula/src/stored/dev.c at about line 422. A diff doesn’t make much sense.
===

===
bareos/src/win32/stored/win32_tape_device.c

This file was derived from bacula/src/stored/dev.c at about line 422. A diff doesn’t make much sense.
===

===
bareos/src/dird/ndmp_dma.c

The first part of this file has a lot of code from  bacula/src/lib/tree.c Note, a couple of copied subroutines are missed by diff because they were moved a few lines.  Here again, even the comments have been copied.  The second half of the file is new code.

diff -yh bacula/src/lib/tree.c bareos/src/dird/ndmp_dma.c
===

There you have what I have found to date.  Some of it is small and picky other parts are much more important.  I consider it all plagiarism and copyright violation, and would be very interested in your opinions.   Feel free to post your comments to the bacula-users email list or directly to me at kern@sibbald.com.

===

bareos/src/filed/sd_cmds.c

Approximately 90% of this code is copied directly from Bacula code in other files, yet the FSFE copyright on the original file has not been kept.  Most likely most of this file was copied from the original Bacula file src/stored/job.c subroutine handle_filed_connection().


Viewing latest article 2
Browse Latest Browse All 13

Trending Articles