Jason Casden
Bret Davidson
Code4Lib 2015
Slides: cazzerson.github.io/Code4Lib-2015-slides
Transparency, sharing, vendor independence, code as scholarly output...
"[W]ho would be the best person on your team to talk with about the technical requirements and skills needed for us to install SUMA and get it up and running. For example, do we need a computer programmer with such and such skills. I’m sure you have good documentation available, however, we would like to talk with someone. We are also curious as to how much time it would take to get SUMA working for us. I am not sure we have the expertise in-house."
- librarian at a RU/H research university (with permission)
"Ultimately, I didn’t want to get on our IT support’s bad side and because I’m not allowed to play with our development servers I can’t exactly go at the installation process alone."
- librarian at a RU/VH research university you've totally heard of and might work at (with permission)
"In the early days of computing, the need to generate massive adoption was strong and the compatibility threat was weak—open-source software reigned supreme."
Martin Campbell-Kelly & Daniel D. Garcia-Swartz. (2009). "Pragmatism, not ideology: Historical perspectives on IBM's adoption of open-source software."
"Amazing Grace: Hopper's Computer Innovations." Vassar Hub.
Big vendors, big machines, big users.
"Such practices allegedly included anticompetitive price discrimination such as giving away software services for "the purpose or with the effect of . . . enabling IBM to maintain or increase its market share . . . . " (Id. at 9.) The Government also alleged that IBM's bundling of software with "related computer hardware equipment" for a single price was anticompetitive. (Id. at 10.)"
"One thing you do do is prevent good software from being written. Who can afford to do professional work for nothing? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free? The fact is, no one besides us has invested a lot of money in hobby software. We have written 6800 BASIC, and are writing 8080 APL and 6800 APL, but there is very little incentive to make this software available to hobbyists. Most directly, the thing you do is theft."
Bill Gates. (1976). "Open Letter to Hobbyists."
"Unix is not my ideal system, but it is not too bad. The essential features of Unix seem to be good ones, and I think I can fill in what Unix lacks without spoiling them. And a system compatible with Unix would be convenient for many other people to adopt."
Richard Stallman. (1985). "The GNU Manifesto."
"The conferees believed the pragmatic, business-case grounds that had motivated Netscape to release their code illustrated a valuable way to engage with potential software users and developers, and convince them to create and improve source code by participating in an engaged community. The conferees also believed that it would be useful to have a single label that identified this approach and distinguished it from the philosophically- and politically-focused label "free software." Brainstorming for this new label eventually converged on the term "open source", originally suggested by Christine Peterson."
"The more recent switch to hybrid strategies reveals (a) an attempt to recreate, via open-source software, the single-platform scenario that IBM achieved with System/360 (and that IBM failed to recreate, in a proprietary context, via SAA), and (b) an attempt to boost revenues from middleware and services while allowing the old cash cows (e.g. proprietary operating-system software) to peacefully die an unavoidable death."
Martin Campbell-Kelly & Daniel D. Garcia-Swartz. (2009). "Pragmatism, not ideology: Historical perspectives on IBM's adoption of open-source software."
"In the open source community there exists a tremendous need for exactly the skills librarians have always used in making information resources truly useful. In particular, systems testing, evaluation, and feedback to open source designers is welcome and even sought after; documentation for open source systems is always needing improvement; instructional materials for open source products are often lacking. These are all areas in which librarians excel."
Dan Chudnov. (1999). "Open Source Library Systems: Getting Started."
"We hope the Code4Lib Journal can manifest the values that have been successful for the Code4Lib community, while providing increased access to the collective knowledge and experience held throughout our diverse professional networks and local organizations, increasing cross-pollination and collaboration among library technology innovators–and helping more people and organizations become innovators."
Jonathan Rochkind. (2007). "Editorial Introduction — Issue 1." Code4Lib Journal.
Our software generally privileges some users over others.
Libtech should be able to thrive in diverse environments.
2011-2012 ALA Public Library Funding & Technology Access Study
"I believe that building and maintaining library software is vitally important work and it's too big a job to leave to a small group of people. We are creating the future of libraries here."
Bess Sadler. (2013). "Creating a Commons."
For software development, when programmers check their code into git, a Dockerfile could be included in the source code, allowing for quick testing of code on remote servers or as a demonstration tool to let others quickly bring up their own versions of an application without having to worry about specific building instructions or dependency management.
John Fink. (2014). Docker: a Software as a Service, Operating System-Level Virtualization Framework.
"Our software is like children. ... We expect that after a time the child will mature, will grow up, will be able to take care of itself, to solve problems, to cope, and perhaps to contribute something new. Initially selfish—for what other options are there?—the child becomes responsible. With luck or persistence or as the result of good upbringing, the child may become conscientious.
Shall we hope similarly for our software?"
Richard P. Gabriel & Ron Goldman. (2006). "Conscientious Software."
Teaching software how to create an environment in which it can thrive.
If you can install Firefox,
you can install our software.
github.com/NCSU-Libraries/Suma-Vagrant
Thanks! || @cazzerson || bddavids@ncsu.edu