[coreboot] [RFC] Short license headers

mrnuke mr.nuke.me at gmail.com
Sat Jan 11 01:58:18 CET 2014


##
## This file is part of the coreboot project.
##
## Copyright (C) 2014 Alexandru Gagniuc <email at 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 at 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



More information about the coreboot mailing list