In the course of projects we implemented over the last two decades, some useful and reusable libraries were created. These have become an essential part of many successful customer projects. In order to give back to the community, we have decided to convert the majority of them to open source.
Background of Open Source Software
OS software started gaining popularity in the 80s, mainly due to large-scale projects. For example, TeX, Netscape Communicator and the GNU operating system. The developer of GNU, Richard Stallman then went on to found the Free Software Foundation. The FSF is dedicated to promoting the “freedom of distribution”. Such software is also commonly referred to as “libre”, in order to avoid the confusion between the meanings of the word free.
Perhaps the most well-known and most popular OS software is the Linux kernel. Chances are at least one electronic device in your immediate vicinity utilises it. It achieved its popularity due to its OS nature. It’s freely adaptable to every purpose and easily customisable.
Whatever the reasoning and ideology – open source software is taking over the world, running huge parts of the world’s infrastructure. There is an abundance of tools that have grown around this movement to encourage collaboration and information sharing between distributed team members.
In addition to making some of our projects open source, we also utilise inner source:
Inner Source is the use of open source software development best practices and the establishment of an open source-like culture within organizations. The organization may still develop proprietary software, but internally opens up its development. The term was coined by Tim O’Reilly in 2000.https://en.wikipedia.org/wiki/Inner_source
This approach lets us use all the open source development best practices on closed source projects. To us, this is the very definition of a best of both worlds workflow! Its success has also been proved many times before at companies such as IBM, Google, Microsoft, SAP etc.
Our experiences are, that inner source processes massively improve collaboration and code quality. These processes also lead to faster development cycles due to their lean nature.
Our Open Source Projects
We shared those parts of our code base that we think would be beneficial and useful to the LabVIEW community. For example, our hse-libraries repository is a collection of many small VIs that we need to optimise our work process.
We also developed several DQMH add-ons over the years, each facilitating the integration of our workflow with the DQMH framework. The most popular at the moment is our HSE Windows Application Template.
In addition, we released several miscellaneous libraries, just simple but useful stuff that we need, most probably they can help someone else too. Possibly our most used one is the GitLab for DokuWiki, as we use it with our Release Automation Tools. This code dramatically helps our documentation and code-review process.
As part of NIDays Europe 2019, Joerg worked alongside James McNally of Wiresmith to present the various advantages that OS software offers to developers and businesses alike. They also gave a live demo of how the process of collaboration on open source projects actually works.
Read the slides, if you’re interested!
Spoiler alert: If you would prefer to see it live, come to the CLA Summit this March in Budapest! James and Joerg will once again present together.
All in all, Open Source software is a marvellous thing. We are delighted that more and more LabVIEW projects are becoming open. Check out our dedicated page to see all of our shared source code in action!