You may have heard the term open source mentioned many times but are wondering what it really means. Karen Schneider from Equinox, the software company that supports the open source ILS Evergreen, presented an excellent introductory Webinar on Open Source software on March 17, 2009. Follow the “Here’s the recording” link. The first 12 minutes are an orientation to the Webinar functions and troubleshooting for the attendees. Skip forward to get to the content on Open Source.
The Webinar inspired this post and I am highlighting some important points in the presentation while including my own comments and examples. The five main sections are:
- Definition of Open Source
- Reliability and Quality
- Question and Answer session
The definition of open source software is set by the Open Source Initiative and is paraphrased below:
Software that allows its users to access and modify the computer code it was created with and includes licensing that allows it to be freely shared and modified without restriction.
A similar concept exists in the GNU Operating system and the Free Software Foundation who originally developed the concept of free software distribution. The major difference with their license and philosophy is that they choose to emphasize the word “free” and do not accept some license restrictions that open source does.
- Some familiar examples:
- For libraries:
- For programmers and Web developers:
- Operating System – Linux
- For more examples fast forward to (33:30) for a list of open source software in libraries – The audio mentions moreOther lists
- Jessamyn West wrote a post about open source in libraries on Feb. 2007
- Library Success Wiki (not all items are open source)
- Open Source Systems for Libraries (choose the type of application)
Reliability and Quality
(15:20) It is reliable enough that over half of commercial vendors use open source such as the Linux operating system
- Many Websites are run on a whole suite of these software called the LAMP stack:
- L – Linux operating system, A – Apache Web server, M – MySQL database, P – PHP or Perl scripting language
- Karen informed me that Evergreen runs a variation called LAPP because they use PostgreSQL instead of MySQL because it is more powerful. DSpace, the repository software, also uses this database language.
(19:00) How is quality maintained in these projects? Description of the meritocracy helps to answer this question.
- (22:20) In Evergreen, some major problems are fixed within hours because of the amount of people collaborating with access to the code
A common statement about open source is that it is as “free as a free kitten”. (28:00) Karen provides a cost comparison with proprietary or commercial software that takes this comment a step further:
- Traditional – pay for use of proprietary code
- Open source – pay for support and development
(36:00) Three open source coding terms that are important to know for assessment
- Commit – “process where code change becomes permanent”,
- Trunk – “base of a product on which development progresses”, and
- Fork – “starting another software program using code from an existing project”
(38:42) Questions to ask
- How open is it? – based on these principles Foundations of Openness
- (40:45) How has it grown and how is growth managed?
- (42:20) Is there a development plan and is it documented?
- (43:00) How engaged is the community?
- (44:35) What support models are there?
(52:40) How do you make a conversion from proprietary software?
- Examine what is currently available – know what you want
- Blog post from Equinox, Migration Nation, assumes you have chosen a product
- Issue an RFP
(53:45) Programming Languages used in Koha and Evergreen
- also learn Python