the new books list an open-source software case study michael doran systems librarian university of...
Post on 18-Dec-2015
214 Views
Preview:
TRANSCRIPT
The New Books ListAn Open-Source Software Case Study
Michael DoranSystems LibrarianUniversity of Texas at Arlington
Friday, September 30, 2:50-4:00 p.m. Concurrent Session
Library & Information Technology Association 2005 National Forum - San Jose, CA
Michael Doran - LITA 2005 National Forum - San Jose, CA
Presenter information
Michael Doran is a Systems Librarian at the University of Texas at Arlington Libraries. He holds a B.S. in Engineering from the University of Florida, and an M.A. in Library Science from the University of Chicago.
Michael has been a librarian since 1990 and has worked as a UNIX and library systems administrator since 1998. He has developed a number of open source web and UNIX applications, including the New Books List.
Email: doran@uta.edu
Web: http://rocky.uta.edu/doran/
Michael Doran - LITA 2005 National Forum - San Jose, CA
A typical path to open source
Your library had a need You wrote some software You think the software would be useful
to other libraries, so you decide to make it available as free software
You slap on a GNU General Public License (or maybe no license at all) and put the source code up on the web
Michael Doran - LITA 2005 National Forum - San Jose, CA
What this presentation is about
Your library had a need You wrote some software You think the software would be
useful to other libraries, so you decide to make it available as free software Additional work required to make
the software “successful” (Informal) cost/benefit analysis
Michael Doran - LITA 2005 National Forum - San Jose, CA
What this presentation is about
You slap on a GNU General Public License (or maybe no license at all) and put the source code up on the web
You seek permission from your University to release the application as open source (free) software and if approved, you distribute it Intellectual property disclosure process
Michael Doran - LITA 2005 National Forum - San Jose, CA
Why listen to me?
Successfully shepherded two software applications through our university’s intellectual property (IP) disclosure process in order to (legitimately) release them as open source / free software:
New Books List ShelfLister
And... I’ve also done IP things the wrong way
Michael Doran - LITA 2005 National Forum - San Jose, CA
Why listen to me?
One of those applications (New Books List) has been moderately successful... Used by over 300 libraries in 34 states and 9
countries, including: Columbia University Helsinki University Purdue University Stockholm University The University of Wisconsin system Yale University
Michael Doran - LITA 2005 National Forum - San Jose, CA
About the New Books List
A suite of applications written in Perl Answered a need that our library had Provides a list of items recently added to
the integrated library system (ILS) Has a web-based end user interface Designed for patron rather than staff use Integrates with the ILS web catalog in the
“look and feel” (and some functionality) Is specific to a particular vendor’s ILS
Michael Doran - LITA 2005 National Forum - San Jose, CA
Functional diagram
Extraction script
Flat-file database
User interface
Michael Doran - LITA 2005 National Forum - San Jose, CA
User interface (database front end)
Note: Orbis graphics by Kalee Sprague, Yale University
Michael Doran - LITA 2005 National Forum - San Jose, CA
What makes for “success”
1. Fills a niche2. Easy to use (the end user perspective)3. Easy to install and modify (the
sysadmin/programmer perspective)4. Documentation5. Marketing 6. Support7. Enhancements/upgrades
Numbers 3 through 7 = additional time and effort beyond the original development
Or “Could be useful” vs. “Is useful, because other sites are actually using it”
Michael Doran - LITA 2005 National Forum - San Jose, CA
What makes for “success”
1. Fills a niche2. Easy to use (the end user perspective)3. Easy to install and modify (the
sysadmin/programmer perspective)4. Documentation5. Marketing 6. Support7. Enhancements/upgrades
Michael Doran - LITA 2005 National Forum - San Jose, CA
3. Easy to install and modify
Abstract out site-specific code Configuration section at top of file (good) Separate “ini” file (better)
Add or enhance code commenting To assist the “pros” who want to modify
Modularize Within files (with subroutines) Using separate files
Minimize prerequisites
Michael Doran - LITA 2005 National Forum - San Jose, CA
Abstract out site-specific code
config section
config section
Currently~ 400 lines
Each file~ 300 lines
Michael Doran - LITA 2005 National Forum - San Jose, CA
Code commenting (examples)
# The code below fixes the 'problem' of In Process items# showing up at the top of a call number sort, and items with# no authors showing up at the top of an author search. # Although the DB may contain many items of either case, it# will show up only once in the @sorted array. "In Process“# will be the first element because we added a space to the# beginning of that field when we created it in newbooks.pl. # Records with no authors will be the first element because# it has a null value.
# This prints a message if no search results are found.# This conditions should only occur if searching on a# particular term, of if there are no database entries# for a particular location.
Michael Doran - LITA 2005 National Forum - San Jose, CA
Modularize
Within files, subroutines and their ilk (arguably) make the program easier to: understand debug modify
Separating code/content into different files can (potentially) make these things easier: configuration upgrading enabling multilingual interfaces
Michael Doran - LITA 2005 National Forum - San Jose, CA
Minimize prerequisites
absolutely requiredvs.
nice to have
flat-files aredatabases too
why not take advantage of a ubiquitous client
Michael Doran - LITA 2005 National Forum - San Jose, CA
What makes for “success”
1. Fills a niche2. Easy to use (the end user perspective)3. Easy to install and modify (the
sysadmin/programmer perspective)4. Documentation5. Marketing 6. Support7. Enhancements/upgrades
Michael Doran - LITA 2005 National Forum - San Jose, CA
4. Documentation
Included with the software installation instructions “changes” file (versions) README’s (if needed)
Web site “about” the software downloads FAQ demo (functional vs. static) user list
Michael Doran - LITA 2005 National Forum - San Jose, CA
Included with the software
The newbooks-6.1.tar.gz tarball should contain the following files:
./newbooks-6.1/INSTALL
./newbooks-6.1/CHANGES
./newbooks-6.1/README.unicode
./newbooks-6.1/newbooks.cgi
./newbooks-6.1/newbooks.ini
./newbooks-6.1/newbooks.pl
./newbooks-6.1/newbooks.English
./newbooks-6.1/newbooks.Finnish
./newbooks-6.1/newbooks.Swedish
./newbooks-6.1/newbooks.Welsh
./newbooks-6.1/newbooks.Language
...
./newbooks-6.1/newbooks.txt
./newbooks-6.1/dope.sh
Michael Doran - LITA 2005 National Forum - San Jose, CA
What makes for “success”
1. Fills a niche2. Easy to use (the end user perspective)3. Easy to install and modify (the
sysadmin/programmer perspective)4. Documentation5. Marketing 6. Support7. Enhancements/upgrades
Michael Doran - LITA 2005 National Forum - San Jose, CA
5. Marketing
Web site Mailing lists (as appropriate)
oss4lib/perl4lib/code4lib/ILS list/etc. don’t get gabby, reference web site
PR – e.g. vendor “Success Story” Conference presentations Magazine/journal articles
Michael Doran - LITA 2005 National Forum - San Jose, CA
Conference presentations
2002 – Using and Installing the New Books List basic how-to on implementation
2003 – Multilingual WebVoyage [OPAC] part of a group presentation focus on multilingual functionality
2004 – Implementing Customer-Authored Tools part of a group presentation (invited participation)
2005 – this presentation
Michael Doran - LITA 2005 National Forum - San Jose, CA
What makes for “success”
1. Fills a niche2. Easy to use (the end user perspective)3. Easy to install and modify (the
sysadmin/programmer perspective)4. Documentation5. Marketing 6. Support7. Enhancements/upgrades
Michael Doran - LITA 2005 National Forum - San Jose, CA
6. Support
Basic installation/configuration help Temper expectations Use support as a feedback mechanism to
enhance documentation: add to FAQ modify installation instructions etc. (e.g. dope.sh)
Michael Doran - LITA 2005 National Forum - San Jose, CA
Basic install/config help
Emphasis on BASIC Don’t get drawn into code modifications
Common question: Is there a way to [do whatever]?
Stock answer: Not without modifying the code. Which you are welcome to do -- that's what "open source" software is all about -- the source code is included so that you have the ability to adapt an application to suit your needs. The current functionality and configuration settings are designed to meet the needs of most libraries.
Michael Doran - LITA 2005 National Forum - San Jose, CA
Time spent providing support
New Books List Average ~ two support “contacts” per week A contact averages ~ 6 emails (total)
ShelfLister Average ~ one support contact a month
Other apps Average ~ two support contacts a month
Michael Doran - LITA 2005 National Forum - San Jose, CA
Temper expectations
Excerpt from the INSTALL file:
Support-------
I am a Systems Librarian with a full time job quite apartfrom creating, enhancing, documenting, distributing, and supporting the New Books List. Please keep that in mind and thoroughly read these installation instructions, the program comments, and the information on the web site (http://rocky.uta.edu/doran/autolist/) before contacting me for help. Considerable effort has gone into thedocumentation, and chances are good that the answer to your question is contained there.
Michael Doran - LITA 2005 National Forum - San Jose, CA
Temper expectations
Excerpt from the INSTALL file (continued):
This is not meant to discourage you from contacting me,particularly in regard to bugs or issues that may impactother users of the software. I am also very interested in hearing how the installation instructions and other documentation can be made more clear or otherwise improved.
[contact information is available under the “Bug Reports” section]
Michael Doran - LITA 2005 National Forum - San Jose, CA
Support as feedback mechanism
Example - Perl DBI/DBD::Oracle issues Hard to diagnose remotely with no access to
system in question Time consuming Created a shell script (“dope.sh” – Discover
Oracle-Perl Environment) that a user can run to gather and output the information that is needed to diagnose problems
Script is now included as part of download tarball (and output is required for support)
Michael Doran - LITA 2005 National Forum - San Jose, CA
What makes for “success”
1. Fills a niche2. Easy to use (the end user perspective)3. Easy to install and modify (the
sysadmin/programmer perspective)4. Documentation5. Marketing 6. Support7. Enhancements/upgrades
Michael Doran - LITA 2005 National Forum - San Jose, CA
Enhancements/upgrades
Bug fixes Compatibility upgrades
changes in ILS search syntax MARC8 to Unicode conversion (in ILS)
New features primary focus should be your library
Porting to other platforms Internationalization
multilingual user interface
Michael Doran - LITA 2005 National Forum - San Jose, CA
Decision => ongoing commitment
Your library had a need You wrote some software You think the software would be
useful to other libraries, so you decide to make it available as free software
You seek permission from your University to release the application as open source (free) software and if approved, you distribute it
Hmm...
Michael Doran - LITA 2005 National Forum - San Jose, CA
Your library had a need You wrote some software You think the software would be
useful to other libraries, so you decide to make it available as free software
You seek permission from your University to release the application as open source (free) software and if approved, you distribute it
Intellectual property disclosure
“©”
Michael Doran - LITA 2005 National Forum - San Jose, CA
The sad, old truth...
You may be the sole author(s) and: written every single ‘bit’ of the code slaved for hours over a hot stove computer done a lot of the programming on your own
time, on evenings and weekends been brilliantly creative (or at least clever)
But you likely don’t own the copyright and can’t decide (on your own) to release the software as open source
Michael Doran - LITA 2005 National Forum - San Jose, CA
...the dirty lowdown
If you used any university resources in the creation of your software: work time university funds a university computer collaborated with other university staff
Then the university probably owns the copyright and you must petition them for permission to release what you have created
Michael Doran - LITA 2005 National Forum - San Jose, CA
Who owns intellectual property?*
Intellectual property that is related to an individual's employment responsibility, or has resulted either from activities performed by an individual while employed by The University of Texas System, or supported by State funds, or while using The University of Texas System facilities belongs to The University of Texas (Part Two, Chapter XII, Section 5.2, Rules and Regulations of the Board of Regents of The University of Texas System). These Rules and Regulations govern all U.T. Arlington employees, candidates for masters and doctoral degrees, and predoctoral and postdoctoral fellows.
The University's right to intellectual property is not dependent on the source of funding for research. Intellectual property that results from research supported by a grant or contract with a federal agency or with a profit or non-profit entity, or by a private gift or grant to The University of Texas most often will also belong to the University (Section 5.3). The Intellectual Property Policy requires assignment of the intellectual property by the inventor to the Board of Regents or other appropriate entity. This provision is necessary since the assignment legally designates the owner of the intellectual property.
* From the University of Texas at Arlington Intellectual Property Handbook
Michael Doran - LITA 2005 National Forum - San Jose, CA
Intellectual property simplified
Intellectual property that is related to an individual's employment responsibility, or has resulted either from activities performed by an individual while employed by The University of Texas System, or supported by State funds, or while using The University of Texas System facilities belongs to The University of Texas (Part Two, Chapter XII, Section 5.2, Rules and Regulations of the Board of Regents of The University of Texas System). These Rules and Regulations govern all U.T. Arlington employees, candidates for masters and doctoral degrees, and predoctoral and postdoctoral fellows.
The University's right to intellectual property is not dependent on the source of funding for research. Intellectual property that results from research supported by a grant or contract with a federal agency or with a profit or non-profit entity, or by a private gift or grant to The University of Texas most often will also belong to the University (Section 5.3). The Intellectual Property Policy requires assignment of the intellectual property by the inventor to the Board of Regents or other appropriate entity. This provision is necessary since the assignment legally designates the owner of the intellectual property.
Intellectual property...
...blah, blah, blah...
...belongs to The University
Michael Doran - LITA 2005 National Forum - San Jose, CA
Intellectual property disclosure
Your university (almost assuredly) has: an office/department that handles intellectual
property (IP) issues intellectual property policies and procedures an intellectual property disclosure process
University of Texas at Arlington Office of Research – Technology Transfer Intellectual Property Handbook Intellectual Property Disclosure Form Intellectual Property Committee
Michael Doran - LITA 2005 National Forum - San Jose, CA
Intellectual property disclosure
Other examples Stanford University
Office of Technology Licensing Research Policy Handbook Invention and Technology Disclosure Form Patent and Copyright Agreement for Stanford
Personnel University of California, Berkeley
Office of Technology Licensing UC Copyright Policy Software Disclosure Form (Software Author's Packet)
Michael Doran - LITA 2005 National Forum - San Jose, CA
Does this IP stuff apply to me?
Very likely “yes” – ask if you’re not sure Does it apply to this particular software?
Use common sense and/or ask Size/complexity/originality of program Likelihood of notoriety/popularity/success
The “Sorry, I didn’t know any better” excuse and/or the “I figured it’s easier to ask for forgiveness than permission” strategy may only work one time (or not)
Michael Doran - LITA 2005 National Forum - San Jose, CA
New Books List – beginner’s luck
Very unpolished programming – was intended to be an example rather than a product
Source code “illicitly” published on web App downloaded and used by other libraries No IP disclosure had been done Comes to the attention of Library director,
who instructs me to contact University’s Intellectual Property Committee
A belated IP disclosure process...
Michael Doran - LITA 2005 National Forum - San Jose, CA
The IP disclosure process at UTA*
Decide if software is “license worthy” Obtain, fill out, and submit IP disclosure form
(and copy of source code) Get on schedule for IP Committee meeting Make “pitch” to Committee Committee sends recommendation to Provost Provost makes final decision Petitioner is notified Takes about six weeks (if all goes well)
* The University of Texas at Arlington
Michael Doran - LITA 2005 National Forum - San Jose, CA
UTA “open source” license
Copyright 2000-2005, The University of Texas at Arlington ("UTA"). All rights reserved.
By using this software the USER indicates that he or she has read, understood and will comply with the following:
UTA hereby grants USER permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee, provided that:
1. the above copyright notice appears in all copies of the software and its documentation, or portions thereof, and
2. a full copy of this notice is included with the software and its documentation, or portions thereof, and
3. neither the software nor its documentation, nor portions thereof, is sold for profit. Any commercial sale or license of this software, copies of the software, its associated documentation and/or modifications of either is strictly prohibited without the prior consent of UTA.
Title to copyright to this software and its associated documentation shall at all times remain with UTA. No right is granted to use in advertising, publicity or otherwise any trademark, service mark, or the name of UTA.
This software and any associated documentation are provided "as is," and UTA MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING THOSE OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THAT USE OF THE SOFTWARE, MODIFICATIONS, OR ASSOCIATED DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF A THIRD PARTY. UTA, The University of Texas System, its Regents, officers, and employees shall not be liable under any circumstances for any direct, indirect, special, incidental, or consequential damages with respect to any claim by USER or any third party on account of or arising from the use, or inability to use, this software or its associated documentation, even if UTA has been advised of the possibility of those damages.
Submit commercialization requests to: The University of Texas at Arlington, Office of Grant and Contract Services, 701 South Nedderman Drive, Box 19145, Arlington, Texas 76019-0145, ATTN: Director of Technology Transfer.
Michael Doran - LITA 2005 National Forum - San Jose, CA
UTA “open source” license
Copyright 2000-2005, The University of Texas at Arlington ("UTA"). All rights reserved.
By using this software the USER indicates that he or she has read, understood and will comply with the following:
UTA hereby grants USER permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee, provided that:
1. the above copyright notice appears in all copies of the software and its documentation, or portions thereof, and
2. a full copy of this notice is included with the software and its documentation, or portions thereof, and
3. neither the software nor its documentation, nor portions thereof, is sold for profit. Any commercial sale or license of this software, copies of the software, its associated documentation and/or modifications of either is strictly prohibited without the prior consent of UTA.
Title to copyright to this software and its associated documentation shall at all times remain with UTA. No right is granted to use in advertising, publicity or otherwise any trademark, service mark, or the name of UTA.
This software and any associated documentation are provided "as is," and UTA MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING THOSE OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THAT USE OF THE SOFTWARE, MODIFICATIONS, OR ASSOCIATED DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER INTELLECTUAL PROPERTY RIGHTS OF A THIRD PARTY. UTA, The University of Texas System, its Regents, officers, and employees shall not be liable under any circumstances for any direct, indirect, special, incidental, or consequential damages with respect to any claim by USER or any third party on account of or arising from the use, or inability to use, this software or its associated documentation, even if UTA has been advised of the possibility of those damages.
Submit commercialization requests to: The University of Texas at Arlington, Office of Grant and Contract Services, 701 South Nedderman Drive, Box 19145, Arlington, Texas 76019-0145, ATTN: Director of Technology Transfer.
UTA hereby grants USER permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee [...]
[...] provided that:
Michael Doran - LITA 2005 National Forum - San Jose, CA
ShelfLister, a cautionary tale
This time, I submit an IP disclosure prior to release Intellectual Property Committee recommends that the
university not allow the free release of this software (and the Provost concurs)
The Technology Transfer Office attempts to license the application to the ILS vendor
When that fails, the Technology Transfer Office devises a plan to charge a fee to individual libraries who want to use the application
After a year of this, I send letter to the Vice President for Research, asking for another opportunity to meet with the Intellectual Property Committee
I make a better case for free release -- happy ending
Michael Doran - LITA 2005 National Forum - San Jose, CA
Have a plan
Find out about process beforehand Understand the committee’s viewpoint
represent the university’s interests conservative/cautious
Work out a strategy Be clear about what you want and why Add context (especially regarding open
source) if necessary
Michael Doran - LITA 2005 National Forum - San Jose, CA
Seems like a lot of toil and trouble
The toil: Releasing open source (free) software probably means additional work
The trouble: You have to take your dose of intellectual property disclosure medicine
Why bother?
Michael Doran - LITA 2005 National Forum - San Jose, CA
The payback*
A better software application for your library Via feedback from other sites Via modifications made at, or for, other sites
Increased expertise/knowledge/experience character sets
MARC8 Unicode character set conversion
internationalization (I18)
*Payback n : a return on an investment equal to the original capital outlay
Michael Doran - LITA 2005 National Forum - San Jose, CA
The payback
Programming experience/improvement increased tendency towards best practices
Professional development opportunities conference presentation topic publication topic
Improved communication skills public speaking experience technical writing / documentation
Michael Doran - LITA 2005 National Forum - San Jose, CA
The payback
Better knowledge of copyright and intellectual property issues possibly more than you cared to know
Higher profile for the university for you within your library/university for you within a wider user community
Satisfaction of contributing something back
Michael Doran - LITA 2005 National Forum - San Jose, CA
References
Open source and/or free software Definitions
Open Source Initiative (OSI) http://www.opensource.org/docs/definition.php
GNU Project http://www.gnu.org/philosophy/free-sw.html
Wikipedia http://en.wikipedia.org/wiki/Open_source
Licenses GNU General Public License http://
www.gnu.org/copyleft/gpl.html Other
http://www.gnu.org/philosophy/license-list.html
Michael Doran - LITA 2005 National Forum - San Jose, CA
References
Open source and/or free software Developer websites
SourceForgehttp://sourceforge.net/
Comprehensive Perl Archive Network (CPAN)http://www.cpan.org/
Mailing lists (of interest to librarians) oss4lib – Open Source Software for Libraries
https://lists.sourceforge.net/lists/listinfo/oss4lib-discuss perl4lib – Perl for Libraries
http://perl4lib.perl.org/ code4lib – Code for Libraries
http://dewey.library.nd.edu/mailing-lists/code4lib/
Michael Doran - LITA 2005 National Forum - San Jose, CA
References
Software mentioned in presentation New Books List
http://rocky.uta.edu/doran/autolist/ ShelfLister (PDA shelf list app)
http://rocky.uta.edu/doran/shelflister/ sortLC (for sorting LC call numbers)
http://rocky.uta.edu/doran/sortlc/ dope.sh (Discover Oracle-Perl Environment script)
http://rocky.uta.edu/doran/dope.html Voyager ILS administrative shell and Perl scripts
http://rocky.uta.edu/doran/vugm2000/
Michael Doran - LITA 2005 National Forum - San Jose, CA
The End
Thanks for attending!
Don’t forget to fill out the session evaluation.
top related