the new books list an open-source software case study michael doran systems librarian university of...

63
The New Books List An Open-Source Software Case Study Michael Doran Systems Librarian University of Texas at Arlington Friday, September 30, 2:50-4:00 p.m. Concurrent Session & Information Technology Association 2005 National Forum - San J

Upload: stuart-rich

Post on 18-Dec-2015

214 views

Category:

Documents


0 download

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: [email protected]

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

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

Web Site

Michael Doran - LITA 2005 National Forum - San Jose, CA

Michael Doran - LITA 2005 National Forum - San Jose, CA

Functional demo

Michael Doran - LITA 2005 National Forum - San Jose, CA

Michael Doran - LITA 2005 National Forum - San Jose, CA

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

A year in intellectual property limbo

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.

Michael Doran - LITA 2005 National Forum - San Jose, CA

Doodle here