[Evolution-hackers] Copyright infringement in alternate calendar code



Hi,

I was browsing through the archives and I came through an email by Amir
Hossein payberah:

http://lists.ximian.com/archives/public/evolution-hackers/2004-
August/004129.html

(You may need to do some weird things to extract it from that page.)

The attached code, packed in a calendar.tar.bz2 is a clear infringement
of work partially copyrighted by me and released under GNU LGPL.

There is a function file "date.h" in the tarball. Compare that with the
code I and Mohammad Toossi last released in 2002:

http://www.farsiweb.info/jalali/jalali.c

The first version of that code was developed by myself personally, and
my bad coding style of the time (I'm not much better now) shows itself
clearly. Let's compare them:

1) The names of the variables are identical. Even the same naming style
is there. For example, in my function gregorian_to_jalali, I had used
badly named variables "j_d", "j_m", and "j_y" at the same time with
things called "jd", "jm", and "jy". The same naming magically happens
for his "jalalyDays" function.

This is not limited to those. Almost every variable is named the same
and has basically the same function: "gd", "gm", "gy", "g_d", "g_m",
"g_y", ""g_day_no", "j_day_no", "j_days_in_month", "g_days_in_month",
etc.

This very much looks like newbie students copying code and not paying
enough attention to at least changing their variable names.

2) The code is exactly the same in several cases. This is a comparison:

My gregorian_to_jalali function:

   gy = g_y-1600;
   gm = g_m-1;
   gd = g_d-1;
 
   g_day_no = 365*gy+(gy+3)/4-(gy+99)/100+(gy+399)/400;
   for (i=0;i<gm;++i)
      g_day_no += g_days_in_month[i];
   if (gm>1 && ((gy%4==0 && gy%100!=0) || (gy%400==0)))
      /* leap and after Feb */
      ++g_day_no;
   g_day_no += gd;

Its gregorianDays function:

   gy = g_y - 1600;
   gm = g_m - 1;
   gd = g_d;

   g_day_no = 365 * gy + div (gy + 3, 4) - div (gy + 99, 100) + div(gy + 399, 400);

   for (i = 0; i < gm; ++i)
            g_day_no += g_days_in_month[i];

   if (gm > 1 && ((gy % 4 == 0 && gy % 100 != 0) || (gy % 400 == 0)))

           /* leap and after Feb */
           g_day_no++;

   g_day_no += gd;

The only change is replacement of my "/" division by his "div"
function. They have even kept my "leap and after Feb" comment intact.

I would very much appreciate it if the message could be removed from the
archives.

Also, I would love to ask for special care be taken when new
contributors not already known in the community send patches for
alternate calendar support to this list or evolution-patches. They may
be infringing a few other people's copyrights at the same time.

I am specially worried about a second message, from a certain Ali
Shameli:

http://lists.ximian.com/archives/public/evolution-hackers/2005-
February/005173.html

The part that claims that "We wrote a lightweight library to use multi
calendaring in systems like Evolution." is very possibly about the code
posted to the website "libmcal.org", which appears to be almost the same
stuff, with the same copyright problems. (See the file "src/date.c" in
<http://libmcal.org/download/ver0.5/libmcal-0.5.tar.gz>.)

Thank you very much,

Roozbeh Pournader





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]