Difference between revisions of "File headers"

From Dreamwidth Notes
Jump to: navigation, search
(Copyright: date range, not list or combined range&list)
m (Word order)
 
(5 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category: Development]]
 
[[Category: Development]]
  
All files you create as part of your DW development work should have an appropriate header file. If you completely rewrite a file that used to be part of LiveJournal's "livejournal" repository, but no original code remains, you should indicate that as well (along with a link to LJ's license).
+
All files you create as part of your DW development work should have an appropriate file header. If you completely rewrite a file that used to be part of LiveJournal's "livejournal" repository, but no original code remains, you should indicate that as well (along with a link to LJ's license).
 
+
Right now, we don't have a header for code that was from the "livejournal" repo and has been modified by us -- you can just leave those blank.
+
  
 
==Copyright==
 
==Copyright==
Line 9: Line 7:
 
Copyright is maintained by the Dreamwidth Studios, LLC. organization, as all committers/contributors should have signed a contributor's agreement to properly grant license to their work.  But authors should be noted for credit purposes.
 
Copyright is maintained by the Dreamwidth Studios, LLC. organization, as all committers/contributors should have signed a contributor's agreement to properly grant license to their work.  But authors should be noted for credit purposes.
  
If the file was modified in the years after it was created, or modified on more than one year, the copyright years should reflect that, but always in the first-last form, even if they're consecutive years or there would be gaps in the list. For instance, a file created in 2009 and modified in 2010 should have "2009-2010" instead of "2009, 2010", a file created in 2009 and modified in 2010 and 2012 (but not 2011) should have "2009-2012" instead of "2009, 2010, 2012" or "2009-2010, 2012".
+
If the file was modified in the years after it was created, or modified on more than one year, the copyright years should reflect that, but always in the first-last form, even if they're consecutive years or there would be gaps in the list. For instance, a file created in 2009 and modified in 2010 should have "2009-2010" instead of "2009, 2010"; a file created in 2009 and modified in 2010 and 2012 (but not 2011) should have "2009-2012" instead of "2009, 2010, 2012" or "2009-2010, 2012".
  
 
==Authors list==
 
==Authors list==
Line 32: Line 30:
 
#      J. Random Hacker <jrh@example.org>
 
#      J. Random Hacker <jrh@example.org>
 
#
 
#
# Copyright (c) 2010 by Dreamwidth Studios, LLC.
+
# Copyright (c) 2012 by Dreamwidth Studios, LLC.
 
#
 
#
 
# This program is free software; you may redistribute it and/or modify it under
 
# This program is free software; you may redistribute it and/or modify it under
Line 50: Line 48:
 
#      J. Random Hacker <jrh@example.org>
 
#      J. Random Hacker <jrh@example.org>
 
#
 
#
# Copyright (c) 2010 by Dreamwidth Studios, LLC.
+
# Copyright (c) 2012 by Dreamwidth Studios, LLC.
 
#
 
#
 
# This program is NOT free software or open-source; you can use it as an
 
# This program is NOT free software or open-source; you can use it as an
Line 69: Line 67:
 
#      J. Random Hacker <jrh@example.org>
 
#      J. Random Hacker <jrh@example.org>
 
#
 
#
# Copyright (c) 2010 by Dreamwidth Studios, LLC.
+
# Copyright (c) 2012 by Dreamwidth Studios, LLC.
 
#
 
#
 
# The original version of this program was authored by LiveJournal.com
 
# The original version of this program was authored by LiveJournal.com
Line 86: Line 84:
 
===Header for files that were livejournal code and have been partially rewritten/changed===
 
===Header for files that were livejournal code and have been partially rewritten/changed===
  
Right now, these files don't have any header. (We haven't decided what the header should be.) If you edit one of those files, you can leave it without a header.
+
<source lang="perl"># This code was forked from the LiveJournal project owned and operated
 +
# by Live Journal, Inc. The code has been modified and expanded by
 +
# Dreamwidth Studios, LLC. These files were originally licensed under
 +
# the terms of the license supplied by Live Journal, Inc, which can
 +
# currently be found at:
 +
#
 +
# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
 +
#
 +
# In accordance with the original license, this code and all its
 +
# modifications are provided under the GNU General Public License.
 +
# A copy of that license can be found in the LICENSE file included as
 +
# part of this distribution.</source>

Latest revision as of 12:34, 4 October 2014


All files you create as part of your DW development work should have an appropriate file header. If you completely rewrite a file that used to be part of LiveJournal's "livejournal" repository, but no original code remains, you should indicate that as well (along with a link to LJ's license).

Copyright

Copyright is maintained by the Dreamwidth Studios, LLC. organization, as all committers/contributors should have signed a contributor's agreement to properly grant license to their work. But authors should be noted for credit purposes.

If the file was modified in the years after it was created, or modified on more than one year, the copyright years should reflect that, but always in the first-last form, even if they're consecutive years or there would be gaps in the list. For instance, a file created in 2009 and modified in 2010 should have "2009-2010" instead of "2009, 2010"; a file created in 2009 and modified in 2010 and 2012 (but not 2011) should have "2009-2012" instead of "2009, 2010, 2012" or "2009-2010, 2012".

Authors list

Rule of thumb: if you are writing a new file, you can add yourself to the authors. If you are editing an existing file, you should only add yourself to the authors list if you are making significant changes (>10% or 100 lines, whichever is less). (Fixing typos does not qualify one to be a called out author of a file, sorry!)

Exception: if you're splitting a file into two or more new files and deleting the original (eg, when converting a site page from BML to TT), keep the original authors and add yourself to the list for all new files, even if one of the new files ends up with more than 90% of the code that was in the original file.

Note: in both cases, author call-outs are just name and email address. Even for major changes, go to the repo if you want to know who did what.

Example headers

Brand-new file, dw-free

#!/usr/bin/perl
#
# DW::Setting::AwesomeNewFeature
#
# This file is the accompanying settings package for AwesomeNewFeature. It allows users to set and
# clear their setting choices.
#
# Authors:
#      J. Random Hacker <jrh@example.org>
#
# Copyright (c) 2012 by Dreamwidth Studios, LLC.
#
# This program is free software; you may redistribute it and/or modify it under
# the same terms as Perl itself.  For a copy of the license, please reference
# 'perldoc perlartistic' or 'perldoc perlgpl'.
#

Brand new file, dw-nonfree

#!/usr/bin/perl
#
# site/world-domination.bml
#
# This file explains Dreamwidth's plans for world domination. Be sure to keep it updated!
#
# Authors:
#      J. Random Hacker <jrh@example.org>
#
# Copyright (c) 2012 by Dreamwidth Studios, LLC.
#
# This program is NOT free software or open-source; you can use it as an
# example of how to implement your own site-specific extensions to the
# Dreamwidth Studios open-source code, but you cannot use it on your site
# or redistribute it, with or without modifications.
#

Header for file that was lj code and has been totally rewritten

#!/usr/bin/perl
#
# LJ::Setting::RevampedFeature
#
# LJ::Setting module for playing with RevampedFeature.
#
# Author:
#      J. Random Hacker <jrh@example.org>
#
# Copyright (c) 2012 by Dreamwidth Studios, LLC.
#
# The original version of this program was authored by LiveJournal.com
# and distributed under the terms of the license supplied by LiveJournal Inc,
# which can be found at:
# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
#
# This program has since been wholly rewritten by Dreamwidth Studios.
# No parent code remains.
#
# This program is free software; you may redistribute it and/or modify it under
# the same terms as Perl itself.  For a copy of the license, please reference
# 'perldoc perlartistic' or 'perldoc perlgpl'.
#

Header for files that were livejournal code and have been partially rewritten/changed

# This code was forked from the LiveJournal project owned and operated
# by Live Journal, Inc. The code has been modified and expanded by
# Dreamwidth Studios, LLC. These files were originally licensed under
# the terms of the license supplied by Live Journal, Inc, which can
# currently be found at:
#
# http://code.livejournal.org/trac/livejournal/browser/trunk/LICENSE-LiveJournal.txt
#
# In accordance with the original license, this code and all its
# modifications are provided under the GNU General Public License.
# A copy of that license can be found in the LICENSE file included as
# part of this distribution.