## ## This file is part of the coreboot project. ## ## Copyright (C) 2014 Alexandru Gagniuc email@addr.ess ## ## 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ##
License headers are boring, redundant, and the more time you spend coding, the more annoying they get. You gave me a big COPYING file that tells me all I ever wanted to know about the license. You don't need to pull out a ruler and measure your manhood in every file, with a 20+ line pork that tells me nothing about what the file is about. You can tell me what the license is in 6 characters or less if you really want to.
/* * Email describing why short headers are better * * Copyright (C) 2013 Alexandru Gagniuc mr.nuke.me@gmail.com * Subject to the GNU GPL v2, or (at your option) any later version. */
There, I've done all that in six lines, AND I've briefly told you what this file does. I've started using this style in the cubieboard/allwinner port. I have not seen any major complaints (in fact, only one minor notice that I'm doing it). It works great. * First, it forces me to think about what this file is about, which in turn gets me to think if it's really needed or not. I think I was able to get the allwinner code much better organized because of this one detail. * Second, it lets me focus on coding. * Third, I no longer need to scroll down to see what the file actually does. * Fourth, after weeks of thinking about it, I could not find one downside to the approach.
As a result, I propose the following: 1. Update the coding guidelines to use the short header. 2. Enforce the new guidelines on new commits. 3. Kindly ask people to update the old headers to the new format (maybe someone smart enough can script this). 4. Remove copyright headers from trivial Kconfig and Makefile.inc. Which files you include in which stage is not really copyrightable anyway.
On point (4) The arch/arm or arch/x86 makefiles are pretty comprehensive, so it makes sense to have copyright headers there, but that's about the only place I see where this makes any sense.
Less legalese, more code. Let's do this.
Alex
[1] http://www.coreboot.org/Development_Guidelines#Common_License_Header