## ## 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
On Fri, Jan 10, 2014 at 4:58 PM, mrnuke mr.nuke.me@gmail.com wrote:
## ## 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:
- Update the coding guidelines to use the short header.
- Enforce the new guidelines on new commits.
- 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.
Thanks for bringing this up. I was kind of on the fence about approving your Cubieboard changes because of some of the license headers, but shrugged it off thinking that the intent was obvious enough.
IANAL, but from what I understand it's usually a good idea to avoid mucking with legalese as to avoid unintended consequences of how licenses are enforced, particularly with regard to international treaties pertaining to IP and copyrighted works.
Also, there are a few distinct free software licenses used in coreboot so I'd hate to add to the confusion. Keeping the licenses in their canonical form and applying them to ever file ensures that coreboot gets all the proper legal protections.
Maybe someone more familiar with software licensing can shed some light on the subject.
Alex
[1] http://www.coreboot.org/Development_Guidelines#Common_License_Header
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
Dear coreboot folks,
thank you for bringing this up on the list!
Am Freitag, den 10.01.2014, 18:58 -0600 schrieb mrnuke:
## ## 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.
Ron asked me in #coreboot on <irc.freenode.net> to send his proposal, made in a Gerrit comment [2], to the list.
Gabe, feel free to do this:
"This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published * by the Free Software Foundation, incorporated herein by reference."
and then we can avoid this silly and unending address discussion.
(Note that Ron’s text disallows later versions of the GPL, which is probably a mistake, which should be corrected.)
Ron wrote that this text is approved by a lawyer where we do not know this with Alex’ proposal.
It would be great if some “authority” could comment or some lawyer could chime in, so that the texts in the repository do not become a mess as some of Alex’ patch sets already have been committed.
As a result, I propose the following:
- Update the coding guidelines to use the short header.
- Enforce the new guidelines on new commits.
- 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.
I agree.
Thanks,
Paul
[1] http://www.coreboot.org/Development_Guidelines#Common_License_Header
[2] http://review.coreboot.org/#/c/3941/1/src/cpu/ti/am335x/clock.h
Am Samstag, den 18.01.2014, 18:12 +0100 schrieb Paul Menzel:
(Note that Ron’s text disallows later versions of the GPL, which is probably a mistake, which should be corrected.)
Significant parts of coreboot are GPLv2-only. Deliberately so.
Under the continental European legal tradition, any statement pointing to the GPLv2(+) should be good enough. Unfortunately there are those letter-over-spirit jurisdictions that didn't get to enjoy Napoleon modernizing their legal code (but then, they didn't have to endure the rest, either). (All IANAL)
Patrick
On 01/18/2014 11:12 AM, Paul Menzel wrote:
"This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published * by the Free Software Foundation, incorporated herein by reference." and then we can avoid this silly and unending address discussion.
(Note that Ron’s text disallows later versions of the GPL, which is probably a mistake, which should be corrected.)
Whether code is licensed under GPLv2 or GPLv2+ is up to the individual contributor.
It would be great if some “authority” could comment or some lawyer could chime in, so that the texts in the repository do not become a mess as some of Alex’ patch sets already have been committed.
The only mess is the long headers that include the address of the FSF.
<ianal>
<propietary_developer>: "Judge, I wrote to the address indicated in the header to get the full text, but I received no reply. Since we could not obtain the text of the license, we were not aware what conditions we had to comply to. How can this be a breach of contract since we never received the contract in the first place? " <Judge>: "Judgment for the defendant! [hammer strike]"
</ianal>
Alex