Bug 8196 - Many (newer) header files don't have copyright / GPL header comments
Summary: Many (newer) header files don't have copyright / GPL header comments
Status: RESOLVED FIXED
Alias: None
Product: Samba 3.6
Classification: Unclassified
Component: Build environment (show other bugs)
Version: 3.6.0rc1
Hardware: All All
: P5 regression
Target Milestone: ---
Assignee: Karolin Seeger
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-01 08:24 UTC by Michael Adam
Modified: 2011-06-14 18:20 UTC (History)
3 users (show)

See Also:


Attachments
git-am fix for 3.6.0 (114.77 KB, patch)
2011-06-06 23:28 UTC, Jeremy Allison
no flags Details
first part of licence header/copyright fixes (115.22 KB, patch)
2011-06-10 14:42 UTC, Guenther Deschner
obnox: review+
Details
patch for reg_parse_internal.[ch] from master (1.71 KB, patch)
2011-06-12 22:05 UTC, Michael Adam
gd: review+
Details
another patch for 3.6 (librpc/ndr/util.h) (1.56 KB, patch)
2011-06-13 00:00 UTC, Michael Adam
gd: review+
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Adam 2011-06-01 08:24:42 UTC
in current v3-6-test:

$ find . -name "*.h" | xargs grep -L -i opyrigh | grep -v gen_ndr
./locking/proto.h
./librpc/ndr/util.h
./rpc_server/srv_pipe_register.h
./rpc_server/srv_access_check.h
./rpc_server/srv_pipe_internal.h
./rpc_server/srv_pipe.h
./lib/idmap_cache.h
./lib/netapi/examples/common.h
./lib/netapi/libnetapi.h
./lib/eventlog/proto.h
./lib/privileges.h
./intl/lang_tdb.h
./smbd/smbd.h
./smbd/proto.h
./groupdb/proto.h
./auth/proto.h
./winbindd/idmap_proto.h
./registry/reg_parse_internal.h
./pam_smbpass/support.h
./pam_smbpass/general.h
./libgpo/gpo_proto.h
./rpc_client/cli_netlogon.h
./rpc_client/init_lsa.h
./rpc_client/util_netlogon.h
./rpc_client/cli_spoolss.h
./rpc_client/init_samr.h
./rpc_client/init_netlogon.h
./rpc_client/init_spoolss.h
./libads/ads_status.h
./libads/ads_ldap_protos.h
./libads/ldap_schema.h
./libads/cldap.h
./libads/ads_proto.h
./libads/kerberos_proto.h
./libnet/libnet_join.h
./printing/pcap.h
./printing/load.h
./libsmb/clidgram.h
./libsmb/errormap_wbc.h
./libsmb/libsmb.h
./libsmb/nmblib.h
./libsmb/proto.h
./passdb/machine_sid.h
./passdb/proto.h
./include/krb5_env.h
./include/version.h
./include/config.h
./include/smb_krb5.h
./include/build_env.h
./include/smb_ldap.h
./include/ads.h
./include/krb5_protos.h
./include/mangle.h
./nmbd/nmbd.h
./nmbd/nmbd_proto.h

They also don't have double inclusion guards.

I have started to fix this in master, but there are still some left.

I think we should not ship with all these headers w/o copyright or license.
Comment 1 Volker Lendecke 2011-06-01 09:39:26 UTC
Günther, you have been most active in this area. We can't ship with this.
Comment 2 Michael Adam 2011-06-01 13:20:30 UTC
I agree that this should be classified as blocker. thanks
Comment 3 Jeremy Allison 2011-06-06 23:28:40 UTC
Created attachment 6535 [details]
git-am fix for 3.6.0

Add the (C) and GPL statements back.
Comment 4 Karolin Seeger 2011-06-07 07:19:58 UTC
Pushed.
Closing out bug report.

Thanks a lot!
Comment 5 Michael Adam 2011-06-07 08:02:09 UTC
Jeremy, 

I am sorry I have to say this, but I hate this patch.
I am glad that you did not push a corresponding patch
to master... ;-)

I guess it can be judged ok as an emergency fix for 3.6.0.
(But was this an emergency?)

These are points I critisize:

* It touches too many files at a time.
  (Ok, that is patch cosmetics...)
* It does more than the commit message says (it also
  adds these ifndef guards).
  (That is also cosmetical.)
* It drops the copyright information from the source
  files. When I started to fix this in master, I took the
  pain to reconstruct it from the source files, changing
  one header file at a time.
* Since when do we have non-personal copyright like
  "(C) 2011 Samba Team"?

I would like to have this fixed properly in master.

Cheers - Michael
Comment 6 Volker Lendecke 2011-06-07 08:14:27 UTC
I think we can't ship with (C) Samba Team
Comment 7 Michael Adam 2011-06-07 08:41:43 UTC
Some thoughts on this:

* We could of course add one person copyright holder
  to all the "(C) Samba Team" files. But I don't like
  that.

* I am willing to to the work and go through the files to
  collect the copyright information. I would continue
  the work started in master. It will take me a couple of
  hours, but I think it is worth the effort.
  
  This would mean that I might not get it done today,
  at least not early enought to include it in the rc.
  So we could either delay the rc (one day should be
  sufficient). Or we could ship the rc without the
  patchset and just include it after the rc, which is
  not dangerous since these are not code changes
  (apart from the #ifndef guards) but only comments.

Karo - what do you think?

Michael
Comment 8 Karolin Seeger 2011-06-07 11:18:34 UTC
(In reply to comment #7)
> Some thoughts on this:
> 
> * We could of course add one person copyright holder
>   to all the "(C) Samba Team" files. But I don't like
>   that.
> 
> * I am willing to to the work and go through the files to
>   collect the copyright information. I would continue
>   the work started in master. It will take me a couple of
>   hours, but I think it is worth the effort.
> 
>   This would mean that I might not get it done today,
>   at least not early enought to include it in the rc.
>   So we could either delay the rc (one day should be
>   sufficient). Or we could ship the rc without the
>   patchset and just include it after the rc, which is
>   not dangerous since these are not code changes
>   (apart from the #ifndef guards) but only comments.
> 
> Karo - what do you think?
> 
> Michael

Günther is going to add personal copyrights for rc2, because otherwise
I cannot ship rc2 today. You can change it for the following releases if you like.
Comment 9 Karolin Seeger 2011-06-07 11:19:15 UTC
Assigning to Günther to add personal copyrights.
Comment 10 Guenther Deschner 2011-06-07 13:02:38 UTC
Just had a chat with Michael about this and yes, like its done right now in 3.6 is wrong in many places (non-gpl components suddenly have gpl licence, etc.). Please just revert the current patch in 3-6-teset, ship rc2 and we resolve it properly for 3.6 final.

(Note this is techincally all about inline comments, no code changes involved at all, so its fine for a post rc2 change).

Thanks!
Comment 11 Jeremy Allison 2011-06-07 15:23:06 UTC
Michael, it's easy to hate an emergency fix like this when you didn't do any of the fucking work. I was not the person who dropped the (C) information in these files - that was already done. I simply added a boilerplate (C) 2011 Samba Team as a placeholder for files where the (C) WAS ALREADY LOST ! If this now causes the people who lost that information to go back and fix it, well - good news. 

But this MUST NOT DELAY 3.6.0. I don't care how hard people have to work to fix this - it better get fixed on time.

I'm ok with reverting for rc2 - but this *MUST* be fixed for 3.6.0 final.

It is NOT ACCEPTABLE to make the changes that were made to v3-6-test, leaving include guards, copyright statements and license statements to rot, and then leave it to someone who actually cares about the details of what we ship to fix it as an emergency patch to try and get us back on a time-based release target.

The master branch is also a mess in the same way. I expect the people who made the changes that originally lost this information to rapidly fix it.

Jeremy.
Comment 12 Michael Adam 2011-06-07 15:47:31 UTC
Jeremy,

(In reply to comment #11)
> Michael, it's easy to hate an emergency fix like this when you
> didn't do any of the fucking work. I was not the person who
> dropped the (C) information in these files - that was already done.

Neither was it me who dropped the (C) info. But you might have
noticed that I brought the topic up and started to fix this in
master a couple of days ago. So I already spent some considerable
amount of time, reconstructing the (C) info.
But I did not complete it yet.

When I said "I hate the patch" this was of course quote of
your comments to the gpfs acl bug, in oder to annoy you.
I seem to have succeeded in that... :-P

But in fact the patch did make me angry because it neglected
the work I had already done in master. I would rather fix
this properly and if it delays the release then it does so.

> But this MUST NOT DELAY 3.6.0.

Imho any bug serious enough can possibly delay the release,
and many have done so. But this one is just a very
laborious task that needs to be carried out carefully,
so it should not delay 3.6.0 final.

> I don't care how hard people have to work to fix this 
> - it better get fixed on time.

Well, statements like this are difficult unless you are
the employer of the people in question... :-)
 
> I'm ok with reverting for rc2 - but this *MUST* be fixed for 3.6.0 final.

Definitely. But since it does not have code changes (apart
from the include guards), it should be OK to add the changes
after rc2. we could even leave your patch in for rc2 and
add changes on top of it.
 
Cheers - Michael
Comment 13 Jeremy Allison 2011-06-07 17:19:40 UTC
Ok, I'm fine with either (a) reverting the patch for rc2 or (b) leaving it in and fixing it properly for 3.6.0-final. I don't mind which. If it gets left then we can grep for the string "(C) 2011 Samba Team" as the placeholder to replace with correct copyright statements. The licensing is more subtle - I tried to catch all the places where we should be LGPL rather than full GPL but if Guenther thinks there are errors here I'll defer to his judgement.

Guenther - please make the call - either revert or ship as-is but rc2 needs to go out asap.

Jeremy.
Comment 14 Karolin Seeger 2011-06-07 17:55:29 UTC
(In reply to comment #13)
> Ok, I'm fine with either (a) reverting the patch for rc2 or (b) leaving it in
> and fixing it properly for 3.6.0-final. I don't mind which. If it gets left
> then we can grep for the string "(C) 2011 Samba Team" as the placeholder to
> replace with correct copyright statements. The licensing is more subtle - I
> tried to catch all the places where we should be LGPL rather than full GPL but
> if Guenther thinks there are errors here I'll defer to his judgement.
> 
> Guenther - please make the call - either revert or ship as-is but rc2 needs to
> go out asap.
> 
> Jeremy.

I reverted the patch for rc2, because I was told that there are legal issues when shipping with the Samba Team copyright.

Re-assigning to Michael. Please note that this needs to be addressed pretty soon.
Thanks!
Comment 15 Jeremy Allison 2011-06-07 18:07:11 UTC
Thanks Karolin, hopefully this was the last obstacle to getting rc2 out.

Jeremy.
Comment 16 Karolin Seeger 2011-06-07 18:21:23 UTC
(In reply to comment #15)
> Thanks Karolin, hopefully this was the last obstacle to getting rc2 out.
> 
> Jeremy.

Yes, cutting the release tarball right now. Thanks a lot for your support!
Comment 17 Guenther Deschner 2011-06-10 14:42:51 UTC
Created attachment 6561 [details]
first part of licence header/copyright fixes
Comment 18 Michael Adam 2011-06-12 22:00:30 UTC
Comment on attachment 6561 [details]
first part of licence header/copyright fixes

looks good - thanks!
Comment 19 Michael Adam 2011-06-12 22:05:34 UTC
Created attachment 6567 [details]
patch for reg_parse_internal.[ch] from master

These are two more patches taken from master, adding copyright info to files with existing license headers.
Comment 20 Michael Adam 2011-06-13 00:00:59 UTC
Created attachment 6568 [details]
another patch for 3.6 (librpc/ndr/util.h)

this adds copyright header and inclusion guard to librpc/ndr/util.h
This file does not exist any more in master.
Comment 21 Guenther Deschner 2011-06-14 09:50:34 UTC
Comment on attachment 6567 [details]
patch for reg_parse_internal.[ch] from master

look good
Comment 22 Guenther Deschner 2011-06-14 09:51:05 UTC
Comment on attachment 6568 [details]
another patch for 3.6 (librpc/ndr/util.h)

looks good
Comment 23 Guenther Deschner 2011-06-14 09:51:51 UTC
Karolin, please add the two last patches to 3-6-test as well, thanks!
Comment 24 Karolin Seeger 2011-06-14 18:20:23 UTC
Pushed to v3-6-test.
Closing out bug report.

Thanks!