This commit is intended to makes the license status of Emulab and
ProtoGENI source files more clear. It replaces license symbols like
"EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
blocks that contain actual license statements.
This change was driven by the fact that today, most people acquire and
track Emulab and ProtoGENI sources via git.
Before the Emulab source code was kept in git, the Flux Research Group
at the University of Utah would roll distributions by making tar
files. As part of that process, the Flux Group would replace the
license symbols in the source files with actual license statements.
When the Flux Group moved to git, people outside of the group started
to see the source files with the "unexpanded" symbols. This meant
that people acquired source files without actual license statements in
them. All the relevant files had Utah *copyright* statements in them,
but without the expanded *license* statements, the licensing status of
the source files was unclear.
This commit is intended to clear up that confusion.
Most Utah-copyrighted files in the Emulab source tree are distributed
under the terms of the Affero GNU General Public License, version 3
(AGPLv3).
Most Utah-copyrighted files related to ProtoGENI are distributed under
the terms of the GENI Public License, which is a BSD-like open-source
license.
Some Utah-copyrighted files in the Emulab source tree are distributed
under the terms of the GNU Lesser General Public License, version 2.1
(LGPL).

Bug fixes for publication support.
Added #prep attribute in form_defs.which is a function used in
FormValidate to "normalize" a field. For example if it is "trim" than
all leading and trailing whitespace will be removed.

Set the charset for all emulab pages to utf-8 which is needed to
display foreign names correctly. Also added three rows to table_regex:
tinytext_utf8, text_utf8, fulltext_utf8
Enhanced form_defs.php:
- Add Support for Textarea
- Add Support for a vertical list, for example see Category in
submitpub.php
- Add support for dumping the form values in plain text, used in the
email I send to testbed-ops.
- Change Error Reporting text for subfields such as in a list so
they also include the text from the outer field, for example in
newosid "ping" will become "OS Features, ping". I needed this
since some of my subfields didn't have labels and it seamed like
the right thing to do.
- Set #return_value to 1 in FormRenderCheckBox if it not already
specified
- In FormRenderSelect, if the #value is not in the list add it to
the end.
- Add support for "display" type, to just display some text in the
table
- Possibly some other little things I forgot about.
New site variable PUBSUPPORT.
Implement FS#201: Provide users a way to add a paper that used Emulab
see (https://users.emulab.net/flyspray/?do=details&id=201), summary of
changes:
- Controlled via the new site variable PUBSUPPORT.
- The emulab_papers spread sheet is now frozen all new changes
should be made using the new system.
- New pages submitpub.php for users to submit a new publication
with different views for admins and non-admins.
- New page expubs.php to replace doc/expubs.html, lists publications
in database. Also allows admins to edit publications.
- Project members can edit papers associated with the project as
long as they have local_root or higher privileges. Papers for a
project are listed under a new tab in the showproject page. I keep
track of the last person to edit the paper submission in addition
to who initially submitted it.
- Users can modify papers they submitted which is needed if the
project was N/A. Papers users submitted now appear in a new tab in
the showuser page.
- Script to import spreadsheet to the database is in
utah/bibliography/emulab_pubs-import.pl.
- Changes web pages that point to doc/expubs.html to instead point
to expubs.php