Developing Open Source Software for Library Services
Overview
- What is Open Source?
-
Discussion (Pro and Contra)
-
Our approach for software
-
Using Open Source
-
Developing Open Source
-
Developing Open Source in Practice
-
Our Experience with Open Source
What is Open Source?
Open Source (Open Source Initiative)
https://opensource.org/docs/osd
Free Software (Free Software Foundation)
https://www.gnu.org/philosophy/free-sw.html.en
Debian Free Software Guidelines
Different Definitions for almost the same
Four Freedoms
(Free Software Definition)
- 0: The freedom to
run the program for any purpose.
- 1: The freedom to study how the program works, and change it to make it do what you wish.
"Four freedoms" by the Free Software Foundation, cf. https://fsfe.org/freesoftware/basics/4freedoms.en.html
Freeware
- 2: The freedom to redistribute and make copies so you can help your neighbor.
- 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.
@@ -18,7 +18,7 @@
"inRepository": true,
"translatorType": 3,
"browserSupport": "gcsv",
- "lastUpdated": "2017-01-25 13:39:28"
+ "lastUpdated": "2017-03-11 13:39:28"
}
function detectImport() {
@@ -1089,13 +1089,13 @@ var citeKeyConversions = {
if(item.creators && item.creators[0] && item.creators[0].lastName) {
return item.creators[0].lastName.toLowerCase().replace(/ /g,"_").replace(/,/g,"");
}
- return "";
+ return "noauthor";
},
"t":function (flags, item) {
if (item["title"]) {
return item["title"].toLowerCase().replace(citeKeyTitleBannedRe, "").split(/\s+/g)[0];
}
- return "";
+ return "notitle";
},
"y":function (flags, item) {
if(item.date) {
@@ -1104,7 +1104,7 @@ var citeKeyConversions = {
return date.year;
}
}
- return "????";
+ return "nodate";
}
}
@@ -3513,4 +3513,4 @@ var testCases = [
]
}
]
-/** END TEST CASES **/
+/** END TEST CASES **/
Open Source is about ...
- open license
- free download, install
- accessibility to source code
- documentation of source code
- possibilities to modify source code
- social coding
Discussion
Our approach for software
-
Use commercial software and open source
- Using good commercial software gives us stability with professional support, and allows us to put our resources in other areas
- Using good open source software allows us maximum flexibility
- Develop own software as Open Source, when there is a need and it is possible for us
- Contribute to Open Source software as well as to interest groups of commercial software
- Work together on Software
Our Hybrid Software Approach
Using Open Source
Operating Systems in the Backbone
Operating Systems Debian GNU Linux,
Ubuntu, Raspbian (all open source)
Used for
- all kinds of servers and
- web based services on standalone computers (info terminals, screen sharing, ...)
Internet of Things
mostly based on Open Source
Our Use Case | Hardware | Operating System |
---|---|---|
smartboards with PalMA | Raspberry Pi 3 | Raspbian |
TV display showing news | Raspberry Pi 3 | Raspbian |
60" 4K TV display | ODROID-C2 | Ubuntu |
PalMA (ca. 60 stations) |
Intel NUC / Mini-PC |
Debian |
touch display | Intel NUC / Mini-PC | Windows -> Debian |
coming soon? | sensors | ? |
Software in the Backbone
Webservers:
- Apache2
- Tomcat
- NodeJS
Databases:
- MariaDB
- MySQL
- SQLite
Web related software:
- Piwik (web statistics)
- Mibew (chat software)
- LimeSurvey (online surveys)
System Admin Software
- GLPI (hardware and software inventory / management)
- OCS Inventory
- Icinga (monitoring)
- git (version control system)
- OpenSSH (secure network communication)
- VirtualBox (virtualization)
"Datacenter Work" by Leonardo Rizzi https://www.flickr.com/photos/stars6/4381851322/
Content Management
TYPO3 - for our website
https://git.typo3.org/ (code)
WordPress - for our blog
- Open Source license (all of them GPL)
- extensible (plugins, themes, extensions -
also from third parties) - community (developers, companies, users)
Dokuwiki - for interna
EPrints - for our repository
https://github.com/eprints (code)
Our supported reference management systems
Citavi
Mendeley
Zotero
Freeware
Swiss Academics
Elsevier
George Mason University
community forum + documentation as wiki
professional support
support websites, email contact
Developing Open Source
Source Code Platforms
> 55 Mio. projects
> 15 Mio. developers
> 0,43 Mio. projects
> 3,7 Mio. developers
> 0,546 Mio. projects
> 0,1 Mio developers
? projects
> 6 Mio. developers
Open Licenses
Apache license
GNU General Public License
MIT license
...
...
Welcome : Welcome Mat by alborzshawn (2006)
https://www.flickr.com/photos/7502393@N04/472028910/
"Linked Open Community" by Andromeda Yelton (SWIB 2016 talk)
https://andromedayelton.com/talks/swib16/
Open Source Publication (Option A)
The final result will be released as open source.
Open Source Development (Option B)
The whole software development process is open.
Developing Open Source in Practice
Contributors, Pull Requests, Languages
Citation Style Language: https://github.com/citation-style-language
Open Review within a Pull Request
Zotero Translator PR #782: https://github.com/zotero/translators/pull/782
Open Roadmap, Future Plans, Kanban Board
lobid waffle board: https://waffle.io/hbz/lobid
- Go to github.com/hbunke/BibsOnGitHub
- Sign in (if you are not already)
- Click an "list.md"
- Click on the pen to edit
- Add one of these two libraries
- https://github.com/NTNUUB
- https://github.com/University-of-Tartu-Library
- Create a pull request
- Wait for the merge or comments of the maintainer
Live Example
- Work on documentation collaboratively
- BibsOnGitHub: list of GitHub accounts of libraries, librarians, and developers of library software
Our Open Source Experience
UB-Mannheim on GitHub
PalMA - Open Source for Team Monitor
- https://github.com/UB-Mannheim/PalMA
- GPL
- developed by Mannheim University Library
- used by at least 5 other
libraries in Germany:
available languages for users: German, English, Chinese, Italian, Russian, Spanish, Albanian, Arabic (45 %), Urdu (20 %)
kitodo - digitization workflow management
- https://github.com/kitodo/
- developed by a non-profit association with 38 institutional members (libraries and companies)
Tesseract - OCR Engine
-
https://github.com/tesseract-ocr/tesseract
- https://github.com/UB-Mannheim/tesseract/wiki (Windows installer provided by us)
Tesseract - OCR Engine
use case by firefighters in Jesenwang
Tesseract - OCR Engine
international visibility
TOP 10 countries | number of unique visits 2017-03 |
---|---|
China | 78 |
US | 49 |
Germany | 39 |
India | 33 |
Russia | 25 |
Japan | 16 |
France | 14 |
UK | 14 |
Vietnam | 13 |
Spain | 11 |
Usage statistics for digi.bib.uni-mannheim.de/tesseract/
559 visits in March 2017 from all over the world
Example reference from
Chinese website:
"In addition to being a collection of licences and legalese, the term “open source” is often used to describe the culture of open-source projects, in which there is an emphasis on working in an open and collaborative way, a focus on transparency and an effort to engage the community. As such, many of the principles of open source are well aligned with the core tenets of the open-science movement and academia more generally."
Questions, Comments?
Picture Credit
- https://pixabay.com/de/buch-bibliothek-piktogramm-symbol-160871/ (CC0)
- https://pixabay.com/de/quell-offene-software-offene-software-1518247/ (CC0)
- https://pixabay.com/de/code-klammer-klammern-slash-gr%C3%B6%C3%9Fer-1970468/ (CC0)
-
"linked open community" by Andromeda Yelton (SWIB 2016 talk)
https://andromedayelton.com/talks/swib16/ (CC-BY-SA 4.0) -
"Welcome : Welcome Mat" by alborzshawn https://www.flickr.com/photos/7502393@N04/472028910/ (CC-BY 2.0)
- https://pixabay.com/de/datenbank-daten-technologie-1928236/ (CC0)
- https://pixabay.com/de/blumenm%C3%A4dchen-m%C3%A4dchen-frau-blumen-161760/ (CC0)
- https://pixabay.com/de/lotus-gew%C3%A4chshaus-waterlily-garten-917616/ (CC0)
-
"Datacenter Work" by Leonardo Rizzi https://www.flickr.com/photos/stars6/4381851322/ (CC-BY-SA 2.0)
- screenshots and logos
Developing Open Source Software for Library Services
By zuphilip
Developing Open Source Software for Library Services
- 768