This is to share experience made with open source software (OSS) in the public research with the community. After introducing some background and pinning down the author’s research area, the pros and cons for publishing OSS are discussed from the research perspective. Then, several case studies are given to show how OSS and research work may influence each other. The emphasis is on checking the original motivation and the spirit of OSS back with the reality. Finally, future potentials of research OSS are outlined. The talk concludes with summarizing the experiences wrapping up the presented results.
Introduction The IHP is a publicly funded research institute in the fields of silicon–based systems, highest–frequency integrated circuits, and technologies for wireless and broadband communication... [explicated in full paper] Among two other fields of applications, the Wireless Systems department conducts research and system–level development in
the area of wireless sensor networks (WSN) and middleware platforms. For many years, the author contributed to the evolution of mobile, context–aware software, recently with a focus on health care applications. Technically, the author is dedicated to software development for tiny, resource–constrained sensory devices.
Why open source? The use of open source software has never been doubted. When compared to closed–source software, OSS has its major advantage in lower total costs of ownership (TCO), which includes direct licensing costs, but also support and lifetime maintenance. Being under a steady public review adds the aspect of trust, which is especially important for colleagues dedicated to the implementation of cryptographic algorithms. However, publishing results as open source is different from just using OSS. For a research institution, classic ways of disseminating results include scientific publication, patents and spin–offs. Among other parameters, these quantities make up the metric used to evaluate the research performance of academic institutions across the world. Still, it’s beneficial to accompany the own exploitaton strategy with an OSS option for the following reasons [more given in full paper]:
• OSS publication increases visibility.
• Providing sources to the public allows for qualified criticism and feed back.
• The result was created from tax–payer’s money, it’s an obvious option to return it to the public.
Counter–arguments such as the following are well–known and will be discussed in more detail [more given in full paper]:
• OSS publication gives away valuable results decreasing our third–party income.
• Publishing open source is risky / not allowed for legal reasons.
• We didn’t do that ever before!
Case studies Allthough deployed in the author’s environment, the usefulness of general purpose OSS such as Typo3 or Ubuntu is not specific to research and thus, will not be addressed in this talk. ocapi The ocapi project is a low–level driver library for TI’s MSP430 microcontroller. It is entirely written in C and targets both, the proprietary TI–compiler as well as the open source GCC compiler. Functionally, it provides a high–level API to control MSP430 built–in peripherals. It is online since 2012 and has been the software foundation for a couple of wireless sensor networks projects. Allthough downloaded 20 to 50 times annually, there is no third party feedback for ocapi, up to now. GCC for MSP430 The GNU Compiler Collection for TI’s MSP430 microcontroller was heavily used when developing software for wireless sensor nodes. During a long–term experience, the author observed the compiler’s evolution from a hard–to–use helper tool up to a community–driven full–featured software development suite. In the early stage, the author contributed to its development by filing bugs and testing patches. Meanwhile, this GCC was maintained by Redhat and Somnium. Takatuka and Darjeeling Both, TakaTuka and Darjeeling are Java Virtual Machines (JVM) for embedded devices. The author actively contributed to both projects by porting them to the MSP430 processor platform. Experimenting with JVMs on MSP430 backed sensor nodes was the original stimulus to develop ocapi as the underlying hardware abstraction layer. kagwang and Wireshark As wirelesss communication protocols is a major research concern at IHP, Wireshark is a fundamental tool broadly used to analyze data flow. During a project targetted at the convergence of home network technologies, the author
added an IEEE1905.1 protocol filter for Wireshark, named it kagwang and published it under an open source license. Meanwhile, there was feedback from the University of Singapore with this respect.
Further potential The use of research–specific OSS seems to be well–established... [explicated in full paper]. However, the biggest potential is in publishing these many tiny helper, applets, driver etc. as OSS, that must be re–invented so often,because they disappear in a lower drawer after a project is finished.
Conclusion For WSN, there are many OSS tools available. Using them may accelerate research projects and increase transparency. Finally, there are only good reasons for making own software particles available to the public.