Original post: https://www.jamf.com/blog/jamf-plugin-glpi-open-source/

Discover the background and future trajectory of the Jamf Plugin for GLPI, one of the many valuable tools available through the Jamf Marketplace. Independent developer Curtis Conard provides a first-hand account of its creation and the importance of open-source software.

The Jamf Marketplace is home to a wealth of helpful tools that extend the Jamf platform and connect it with third-party solutions and ecosystems. The independent developers who contribute these integrations and other tools play a vital role in cultivating Jamf’s global reach and interoperability. One such developer, Curtis Conard, has provided the account below of their creation of the Jamf Plugin for GLPI. Read on to learn what value the plugin adds and what developments can be expected in the future.

What is GLPI?

Gestionnaire Libre de Parc Informatique (GLPI) is a free automatic inventory asset and IT service management package. GLPI was originally created in 2003 by the INDEPNET Association and was transferred to Teclib’ (both based in France) in 2015.

Although GLPI is maintained by a French company, the default language in the software is English, and the activity on the GitHub page is in English as well; I think that this choice has helped the adoption of GLPI globally. There are currently community-contributed translations for 80 different languages.

Even though its focus is on asset management and help desk functionality, GLPI provides a wide variety of other tools such as:

  • Project management
  • Knowledge base
  • Software license management

Teclib’ offers paid professional support, both on premises and in the cloud, for the businesses that want the support or to offload the responsibility of hosting their GLPI instance. GLPI has remained free and open source under a GPL license from the start, and there is no difference to the core software if you decide to host it yourself or through the cloud.

GLPI has a large catalog of plugins that extend its functionality even more. While some of the plugins are available as part of the professional services agreement, most of them have been created by the community for free. At the moment, there are over 50 plugins that support the current version of GLPI.

The GLPI project just released version 10.0, marking a huge UI/UX upgrade for the project which helped streamline a lot of workflows, improve its usability of tablets and phones and more. It also adds a native automatic inventory system, supporting agent inventory and remote inventory, for many different types of devices.

There are multiple big features on the roadmap for future versions to improve its current offering and add new features like event management, power management for “green IT,” and more.

Why it matters that GLPI is open source

The open-source nature of GLPI allows users of the software to give something back to the project, whether that be bug fixes, new features, translations or documentation changes. Users are not required to pay for the core software or for the majority of the plugins, but those who do help keep paid developers on staff to keep the project alive and growing.

My professional background and experience with GLPI

This is where I come into the picture. I started using GLPI while I was working in the IT department at a local school district in 2014. In the summer of 2018, I started making code contributions to the software. This was in part because my work helped our department function more efficiently by adding much-needed features and changes, but it also allowed me to improve my skills in web development, which had been my original career choice.

From mid-2018 until the end of 2020, I worked voluntarily without any monetary compensation. At the end of 2020, I was brought on under contract with Teclib’ to be paid for my contributions. I finally made the decision in early 2022 to leave my IT job and focus on GLPI development full-time.

I can’t envision a scenario in which these transitions could have happened if GLPI wasn’t open source and funded by optional professional service agreements and cloud hosting. As I was developing the Jamf Plugin for GLPI, multiple improvements were contributed back to GLPI to accommodate it, including adding software and components to phones in the inventory which were previously mainly for older analog or VoIP phones.

As of now, I personally maintain six different plugins for GLPI. All of these are free to use and open source.

Jamf Plugin for GLPI description and background

In the summer of 2019, I started work on the Jamf Plugin for GLPI, focusing only on mobile device inventory as that was what we were using at the time. Previously, our department was copying inventory information for our 1,000+ iOS devices from Jamf to GLPI manually and through CSV exports/imports. That same summer, I presided over the first release of the plugin. I think I actually ended up spending less time that year creating the plugin than I spent manually importing the latest inventory data from Jamf to GLPI.

Later in 2019, the scope of the plugin expanded to include syncing extension attributes and issuing mobile device commands directly from GLPI. For the latter, users in GLPI could be linked to their Jamf Pro account so that they had access to the same commands in both systems. The purpose of this was to streamline certain workflows. For instance, if we got a ticket that a device was stolen, we could immediately view the asset in GLPI, issue an Enable Lost Mode command, mark it as Lost in our inventory system and then later view any location information all from that same page.

The next major version(s) came in 2020 alongside the release of GLPI 9.5. This added support for syncing additional information about iPhone and support for syncing computers.

Next steps for the plugin

For the future of the Jamf Plugin for GLPI, in the short term I have plans to add support for Jamf School sometime after the GLPI version 10.0 release, due to multiple requests from community members. Afterwards, new features will appear as the community requests them and as time permits. Even though I am paid for my GLPI contributions, this plugin is still a personal project, so it isn’t funded.

I am looking for contributions to the localization of the plugin. It currently features translations for English, French and Japanese. Completing the partial Spanish translation is a priority. I am also looking for users to test and give feedback on the plugin. This will help me to find issues that I could not, or to identify needed features.