版权声明的展示位置和格式是否相关?

时间:2010-08-21 01:22:50

标签: licensing code-formatting copyright-display

我见过的每一个软件都包含一个文件开头的版权声明,并且需要大量的评论。因此,您必须向下滚动才能看到代码,这有点烦人,特别是当代码本身非常短时。

我认为将版权声明保留在文件底部并将所有子句合并为单行(或少数行)会更好。这只是为了满足正式问题。 LICENSE文件中提供了易于阅读的版本。

但到目前为止我还没有见过这种做法。这只是一种部落习俗还是有原因的呢?

编辑:这是< list>以GNU STL库为例:

// <list> -*- C++ -*-

// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library 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, or (at your option)
// any later version.

// This library 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 library; see the file COPYING.  If not, write to the Free
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
// USA.

// As a special exception, you may use this file as part of a free software
// library without restriction.  Specifically, if other files instantiate
// templates or use macros or inline functions from this file, or you compile
// this file and link it with other files to produce an executable, this
// file does not by itself cause the resulting executable to be covered by
// the GNU General Public License.  This exception does not however
// invalidate any other reasons why the executable file might be covered by
// the GNU General Public License.

/*
 *
 * Copyright (c) 1994
 * Hewlett-Packard Company
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Hewlett-Packard Company makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 *
 *
 * Copyright (c) 1996,1997
 * Silicon Graphics Computer Systems, Inc.
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies and
 * that both that copyright notice and this permission notice appear
 * in supporting documentation.  Silicon Graphics makes no
 * representations about the suitability of this software for any
 * purpose.  It is provided "as is" without express or implied warranty.
 */

/** @file list
 *  This is a Standard C++ Library header.  You should @c #include this header
 *  in your programs, rather than any of the "st[dl]_*.h" implementation files.
 */

#ifndef _GLIBCXX_LIST
#define _GLIBCXX_LIST 1

#pragma GCC system_header

#include <bits/functexcept.h>
#include <bits/stl_algobase.h>
#include <bits/allocator.h>
#include <bits/stl_construct.h>
#include <bits/stl_uninitialized.h>
#include <bits/stl_list.h>

#ifndef _GLIBCXX_EXPORT_TEMPLATE
# include <bits/list.tcc>
#endif

#ifdef _GLIBCXX_DEBUG
# include <debug/list>
#endif

#endif /* _GLIBCXX_LIST */

2 个答案:

答案 0 :(得分:1)

虽然它不一定是定制或要求,但标准倾向于规定评论应该进行任何代码定义。以NDOC notation为例。

在版权的情况下,您通常希望人们在继续使用您的代码之前阅读它(EULA始终显示在安装程序的开头)。如果版权声明放在代码定义的底部,则很有可能会被忽略。

答案 1 :(得分:0)

如果您将版权注释放在文件的开头,则当有人打开文件时,版权声明是可见的(如果打开文件的人不使用自动转到上次访问行的编辑器)。如果版权评论放在文件的底部,人们需要滚动到最后才能看到版权,这是有人应该有兴趣看的第一件事。