[EMAIL PROTECTED], huh?
JTK wrote:
>Gervase Markham wrote:
>
>>JTK wrote:
>>
>>>Total number of files: 33202
>>>Total number of licensed files: 14393
>>>Total number of NPLed files: 9640
>>>Total number of MPLed files: 4753
>>>Total number of GPLed files: 2047
>>>Total number of LGPLed files: 0
>>>Total number of BSD files: 56
>>>Total number of MIT files: 8
>>>
>>>Percent licensed under the NPL: 67%
>>>Percent of MPL files also GPLed: 43%
>>>
>>>Notes:
>>>- Whoah: is the squeaky wheel finally getting a little grease?!?
>>>Fifty-one FEWER NPLed files this time, 14 MORE MPLed, and 3 more
>>>GPLed. Perhaps the proverbial single step on that journey of 9,640
>>>miles?
>>>
>
>Damn, it would have been a better joke had I said "9,640 /files/". Ah
>well, live and learn if you're not careful.
>
>>Well, if it's 9640 miles, then we've gone 51 miles, not a single step. :-)
>>
>
>Always the technicalities with you Gerv. ;-)
>
>
>>>- Script is now Perlescent (in addition to its former
>>>Bootyliscousness), hence better, stronger, faster. Yep, I learned a
>>>little Perl due solely to Mozilla, and will now never write another
>>>shell script. So don't say Mozilla never did nothing for me.
>>>
>>We won't say that - the question is, will you?
>>
>
>Not in mixed company. ;-)
>
>>>- Script has been made a bit more discerning at the request of Mr.
>>>Markham, resulting in the new counts for LGPL (none),
>>>
>>That's not true. There are at least two. Can you find them?
>>
>
>Ah, I can now. And it's more like 70-some. I was looking for "Lesser"
>and not taking crusty old "Library" into account. Fixed and fixed. But
>be it 70 or 0, I still call it "negligible".
>
>>(This is so like "Where's Wally", which I think you guys call "Where's
>>Waldo...)
>>
>
>Well, except the licenses aren't wearing striped shirts and goofy
>stocking caps.
>
>
>>>BSD (56), and
>>>MIT (8) licenses.
>>>
>>Your script will have to be quite smart to catch all the BSD variants.
>>
>
>Oh it is Gerv, it is. In fact, it may be the smartest Perl script ever
>devised. But as far as BSD goes, it just looks for "Regents of the
>University of California". Will that not catch any and all variants?
>
>>Here are a few more fun things to think about:
>>
>>Are you excluding the CVS special files in the CVS directories?
>>
>
>Um, no, why? Nothing in them is licensed at all to my knowledge. But
>excluding them might speed up the script a bit, and get the total source
>file count a bit more accurate, so I'll get that in there.
>
>>How about the binary macbuild files in macbuild directories?
>>
>
>Why would I have mac binaries on my WhyME machine?
>
>>What about gifs, jpegs, pngs and other assorted binaries with about 20
>>different file extensions?
>>
>
>Here's the binary situation: Any obj's, exe's, and dll's are explicitly
>excluded. Everything else is left to the auspices of grep's -I option.
>But it probably wouldn't hurt to explicitly exclude known binary files,
>again in the interest of speed if nothing else, so I'll add some of that
>too.
>
>That said, any graphics files in there are covered by some sort of
>license, right? How is that specified?
>
>>Have you taken into account the large amount of dual licensing in the tree?
>>
>
>Yes. All licenses are counted separately.
>
>>If your tree is from yesterday or before, can you find the one file that
>>is triply-licensed?
>>
>
>Can I pick it out? No. Is it counted? Yes.
>
>As for the age of the tree, all of my License Statsistics posts except
>for the first one were from checkouts done immediately before running
>the script, and the descrepancy on that first one was of course duly
>noted.
>
>
>>This is fun :-)
>>
>
>It'll get more fun the fewer NPLed files show up in my posts. Oh wait,
>and it'll get even funner than that if I attach the script! Take a look
>and see what you think. This version incoporates a few of these
>suggestions, so is not exactly the one which generated the above
>numbers.
>
>But be warned: it's GPLed. Only GPLed.
>
>
>>Gerv
>>
>>
>>------------------------------------------------------------------------
>>
>>#!/usr/local/bin/perl
>>
>># lstats: A cool Perl script to summarize the licensing status of a project
>># Copyright (C) 2000 Gary R. Van Sickle
>># (tiberius at remove_this_if_you_are_not_a_spammer_braemarinc dot com)
>>#
>># This program is free software; you can redistribute it and/or modify
>># it under the terms of the GNU General Public License as published by
>># the Free Software Foundation; either version 2 of the License, or
>># (at your option) any later version.
>>#
>># This program is distributed in the hope that it will be useful,
>># but WITHOUT ANY WARRANTY; without even the implied warranty of
>># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>># GNU General Public License for more details.
>>#
>># You should have received a copy of the GNU General Public License
>># along with this program; if not, write to the Free Software
>># Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
>>
>>
>>use File::Find;
>>use Time::localtime;
>>use Cwd;
>>
>>$ALL_FILES;
>>$NUM_FILES=0;
>>$NUM_NEW_FILES=0;
>>$NUM_NPL_FILES=0;
>>$NUM_MPL_FILES=0;
>>$NUM_GPL_FILES=0;
>>$NUM_LGPL_FILES=0;
>>$NUM_BSD_FILES=0;
>>$NUM_MIT_FILES=0;
>>$NUM_LICENSED_FILES=0;
>>$PCT_NPL=0;
>>$PCT_MPL_GPL=0;
>>
>>$ELAPSED_TIME=time;
>>
>>$ROOT_DIR=@ARGV[0];
>>if(length($ROOT_DIR) == 0)
>>{
>> $ROOT_DIR = ".";
>>}
>>
>>sub ScanFiles
>>{
>> my (@NPL_FILES, @MPL_FILES, @GPL_FILES, @LGPL_FILES, @BSD_FILES, @MIT_FILES);
>>
>> #%NPLL_FILES = `grep -lisI "Mozilla Public" $_[0]`;
>> #print "$NPLL_FILES[0]\n";
>>
>> print "N";
>> @NPL_FILES = `grep -lisI "Netscape Public" $_[0]`;
>> $NUM_NPL_FILES += scalar(@NPL_FILES);
>> print "M";
>> @MPL_FILES = `grep -lisI "Mozilla Public" $_[0]`;
>> $NUM_MPL_FILES += scalar(@MPL_FILES);
>> print "G";
>> @GPL_FILES = `grep -lisI "GNU General Public License" $_[0]`;
>> $NUM_GPL_FILES += scalar(@GPL_FILES);
>> print "L";
>> @LGPL_FILES = `egrep -lisI "GNU Lesser General Public|GNU Library General
>Public" $_[0]`;
>> $NUM_LGPL_FILES += scalar(@LGPL_FILES);
>> print "B";
>> @BSD_FILES = `grep -lisI "Regents of the University of California" $_[0]`;
>> $NUM_BSD_FILES += scalar(@BSD_FILES);
>> print "m";
>> @MIT_FILES = `grep -lisI "Massachusetts Institute of Technology" $_[0]`;
>> $NUM_MIT_FILES += scalar(@MIT_FILES);
>>}
>>
>>sub do_stats
>>{
>> unless(grep(/\.obj$|\.exe$|\.dll$|\.jpg$|\.gif$|\.png$/i, $_))
>> {
>> $NUM_FILES++;
>> $ALL_FILES=$ALL_FILES."\"".getcwd."/".$_."\" ";
>> $NUM_NEW_FILES++;
>> if($NUM_NEW_FILES == 500)
>> {
>> ScanFiles($ALL_FILES);
>> $ALL_FILES = "";
>> $NUM_NEW_FILES = 0;
>> }
>> }
>>}
>>
>>find(\&do_stats, $ROOT_DIR);
>>
>># Finish up any remainder files
>>if($NUM_NEW_FILES > 0)
>>{
>> ScanFiles($ALL_FILES);
>>}
>>print "\n";
>>
>>$ELAPSED_TIME=time-$ELAPSED_TIME;
>>
>>$NUM_LICENSED_FILES = $NUM_NPL_FILES + $NUM_MPL_FILES;
>>if($NUM_LICENSED_FILES > 0)
>>{
>> $PCT_NPL = ($NUM_NPL_FILES*100)/$NUM_LICENSED_FILES;
>>}
>>else
>>{
>> $PCT_NPL = "--";
>>}
>>if($NUM_MPL_FILES > 0)
>>{
>> $PCT_MPL_GPL = ($NUM_GPL_FILES*100)/$NUM_MPL_FILES;
>>}
>>else
>>{
>> $PCT_MPL_GPL = "--";
>>}
>>
>>printf "\nLicensing Statistics (%d-%.2d-%.2d)\n", localtime->year+1900,
>localtime->mon+1, localtime->mday;
>>print "Elapsed time: ", $ELAPSED_TIME, " seconds\n";
>>print "Total number of files: ", $NUM_FILES, "\n";
>>print "Total number of licensed files: ", $NUM_LICENSED_FILES, "\n";
>>print "Total number of NPLed files: ", $NUM_NPL_FILES, "\n";
>>print "Total number of MPLed files: ", $NUM_MPL_FILES, "\n";
>>print "Total number of GPLed files: ", $NUM_GPL_FILES, "\n";
>>print "Total number of LGPLed files: ", $NUM_LGPL_FILES, "\n";
>>print "Total number of BSD files: ", $NUM_BSD_FILES, "\n";
>>print "Total number of MIT files: ", $NUM_MIT_FILES, "\n";
>>print "\n";
>>printf("Percent licensed under the NPL: %2.0f%%\n", $PCT_NPL);
>>printf("Percent of MPL files also GPLed: %2.0f%%\n", $PCT_MPL_GPL);
>>
>>