2010-08-21 13 views
1

我见过的每一个软件都包含版本声明在文件的开头,并且有很多评论。因此,您必须向下滚动才能看到代码,这有点烦人,特别是代码本身非常短时。版权声明的位置和格式是否相关?

我认为将版权声明保留在文件底部并将所有子句加入单行(或几行)会更好。这只是为了解决正式的问题。易于阅读的版本可在LICENSE文件中找到。

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

编辑:这里是<列表>从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 */ 

回答

1

虽然它不一定是一个自定义或要求,标准往往决定了意见应进行任何代码的定义。以NDOC notation为例。

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

+0

是的,但我是关于通常不是doc评论的许可证通知。 – doc 2010-08-21 01:32:13

+0

尽管如此,人们往往坚持他们所知道的。大多数人把他们的版权置于顶端,为什么偏离?就我个人而言,我认为把它放在底部是没有错的,但是如果其他人都跳出了桥梁,那么你可以加入他们,对吧? = p – 2010-08-21 01:36:06

0

如果你把在文件开头的版权评论,当有人打开文件(如果谁打开文件不使用自动进入上次访问行的编辑)的版权声明是可见的。如果版权评论被放置在文件的底部,那么人们需要滚动直到结束才能看到版权,这是有人应该有兴趣看到的第一件事。

+0

您是否阅读每个来源以获取许可信息?我从不同的地方获得有关特定软件许可的信息,例如文档,网站或LICENSE文件。如果我对开发特殊软件感兴趣,无论如何我都会找到版权声明。我将从更容易访问代码中受益,而不是每次打开文件时都看到版权。 – doc 2010-08-21 01:45:07

+0

@doc:如果源文件中有版权注释,我会优先考虑。在某些情况下,程序可以包括使用许可证是从整体许可不同(或者略有不同),或文件已经从不同的人编写的源文件;在这些情况下,版权(或许可证)评论可能与在不同地方报告的内容有所不同。 – kiamlaluno 2010-08-21 02:07:37