Download presentation
Presentation is loading. Please wait.
1
An Open-Source Software Case Study
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 Library & Information Technology Association 2005 National Forum - San Jose, CA
2
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 He has developed a number of open source web and UNIX applications, including the New Books List. Web: Michael Doran - LITA 2005 National Forum - San Jose, CA
3
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
4
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
5
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
6
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
7
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
8
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
9
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
10
User interface (database front end)
Note: Orbis graphics by Kalee Sprague, Yale University Michael Doran - LITA 2005 National Forum - San Jose, CA
11
Michael Doran - LITA 2005 National Forum - San Jose, CA
12
What makes for “success”
Or “Could be useful” vs. “Is useful, because other sites are actually using it” Fills a niche Easy to use (the end user perspective) Easy to install and modify (the sysadmin/programmer perspective) Documentation Marketing Support Enhancements/upgrades Numbers 3 through 7 = additional time and effort beyond the original development Michael Doran - LITA 2005 National Forum - San Jose, CA
13
What makes for “success”
Fills a niche Easy to use (the end user perspective) Easy to install and modify (the sysadmin/programmer perspective) Documentation Marketing Support Enhancements/upgrades Michael Doran - LITA 2005 National Forum - San Jose, CA
14
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
15
Abstract out site-specific code
config section Each file ~ 300 lines config section Currently ~ 400 lines Michael Doran - LITA 2005 National Forum - San Jose, CA
16
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 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
17
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
18
Minimize prerequisites
absolutely required vs. nice to have flat-files are databases too why not take advantage of a ubiquitous client Michael Doran - LITA 2005 National Forum - San Jose, CA
19
What makes for “success”
Fills a niche Easy to use (the end user perspective) Easy to install and modify (the sysadmin/programmer perspective) Documentation Marketing Support Enhancements/upgrades Michael Doran - LITA 2005 National Forum - San Jose, CA
20
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
21
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
22
Michael Doran - LITA 2005 National Forum - San Jose, CA
Web Site Michael Doran - LITA 2005 National Forum - San Jose, CA
23
Michael Doran - LITA 2005 National Forum - San Jose, CA
24
Michael Doran - LITA 2005 National Forum - San Jose, CA
Functional demo Michael Doran - LITA 2005 National Forum - San Jose, CA
25
Michael Doran - LITA 2005 National Forum - San Jose, CA
26
Michael Doran - LITA 2005 National Forum - San Jose, CA
27
What makes for “success”
Fills a niche Easy to use (the end user perspective) Easy to install and modify (the sysadmin/programmer perspective) Documentation Marketing Support Enhancements/upgrades Michael Doran - LITA 2005 National Forum - San Jose, CA
28
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
29
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
30
What makes for “success”
Fills a niche Easy to use (the end user perspective) Easy to install and modify (the sysadmin/programmer perspective) Documentation Marketing Support Enhancements/upgrades Michael Doran - LITA 2005 National Forum - San Jose, CA
31
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
32
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
33
Time spent providing support
New Books List Average ~ two support “contacts” per week A contact averages ~ 6 s (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
34
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 apart from 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 ( before contacting me for help. Considerable effort has gone into the documentation, and chances are good that the answer to your question is contained there. Michael Doran - LITA 2005 National Forum - San Jose, CA
35
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 impact other 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
36
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
37
What makes for “success”
Fills a niche Easy to use (the end user perspective) Easy to install and modify (the sysadmin/programmer perspective) Documentation Marketing Support Enhancements/upgrades Michael Doran - LITA 2005 National Forum - San Jose, CA
38
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
39
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
40
Intellectual property disclosure
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 “©” Michael Doran - LITA 2005 National Forum - San Jose, CA
41
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
42
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
43
Who owns intellectual property?*
* From the University of Texas at Arlington Intellectual Property Handbook 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. Michael Doran - LITA 2005 National Forum - San Jose, CA
44
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
45
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
46
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 UC Copyright Policy Software Disclosure Form (Software Author's Packet) Michael Doran - LITA 2005 National Forum - San Jose, CA
47
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
48
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
49
The IP disclosure process at UTA*
* The University of Texas at Arlington 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) Michael Doran - LITA 2005 National Forum - San Jose, CA
50
UTA “open source” license
Copyright , 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 , ATTN: Director of Technology Transfer. Michael Doran - LITA 2005 National Forum - San Jose, CA
51
UTA “open source” license
[...] provided that: Copyright , 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 , 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 [...] Michael Doran - LITA 2005 National Forum - San Jose, CA
52
A year in intellectual property limbo
Mantegna's “Descent into Limbo”. Painted circa 1492 Michael Doran - LITA 2005 National Forum - San Jose, CA
53
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
54
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
55
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
56
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
57
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
58
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
59
Michael Doran - LITA 2005 National Forum - San Jose, CA
References Open source and/or free software Definitions Open Source Initiative (OSI) GNU Project Wikipedia Licenses GNU General Public License Other Michael Doran - LITA 2005 National Forum - San Jose, CA
60
Michael Doran - LITA 2005 National Forum - San Jose, CA
References Open source and/or free software Developer websites SourceForge Comprehensive Perl Archive Network (CPAN) Mailing lists (of interest to librarians) oss4lib – Open Source Software for Libraries perl4lib – Perl for Libraries code4lib – Code for Libraries Michael Doran - LITA 2005 National Forum - San Jose, CA
61
Michael Doran - LITA 2005 National Forum - San Jose, CA
References Software mentioned in presentation New Books List ShelfLister (PDA shelf list app) sortLC (for sorting LC call numbers) dope.sh (Discover Oracle-Perl Environment script) Voyager ILS administrative shell and Perl scripts Michael Doran - LITA 2005 National Forum - San Jose, CA
62
The End Don’t forget to fill out the session evaluation.
Thanks for attending! Michael Doran - LITA 2005 National Forum - San Jose, CA
63
Michael Doran - LITA 2005 National Forum - San Jose, CA
Doodle here Michael Doran - LITA 2005 National Forum - San Jose, CA
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.