Logo episode on the history of the OCS Inventory NG project

[Open Source Publishers] OCS Inventory NG: 25 years of IT asset management

The history of OCS Inventory NG

Walid : hello and welcome to Projets Libres, LinuxFr.org’s podcast, which talks about free software, open data and digital commons. Today, I’m really excited because we’re going to talk about a subject, we’re going to talk about a software that I was lucky enough to gravitate around 20 years ago, that I followed for a while. this software is called OCS Inventory NG. Today, to talk about this software, its history, where it is and how it is evolving, I have three guests with me. I have Didier Liroulet, who is the founder of OCS Inventory. I have François-Xavier Guidet, who is the founder of the company FactorFX. Gilles Dubois, who is an OCS developer and Lead developer at FactorFX. Nice to be with all three of you.

Welcome to the Projets Libres podcast. I hope you are well, that everything is fine on this Wednesday, April 8, 2026.

Didier : Everything is going very well. great.

François-Xavier : Very well, thank you very much for the invitation.

Didier : thank you for the invitation, yes.

Walid : Before we start, for listeners, we may refer to a software called GLPI. I invite you to listen, if you wish, to episodes 2 and 3 of season 2, where I had the chance to talk about the GLPI software with all the successive maintainers. I won’t tell you more: if you want, you can have supplements there.

Presentation of the guests

Walid: So, to start with, before we introduce OCS, we’re going to start by introducing our guests. so, I’m going to make way for the founder of OCS, Didier. I must say that it is a very, very great pleasure to talk to you after all these years, Didier. Really, welcome to the podcast. Can you start by introducing yourself and telling us when you discovered free software, please?

Didier : So, Didier Liroulet, I gravitate in the field of computer security and in fact, I discovered free software at the university, in the mid-90s, where I started to compile my first Linux kernel myself at the time. Nothing was installed, so you had to compile everything by hand, on a Slackware distribution at the time. The ethics and values of free software immediately appealed to me and I have always remained very close to free software. I try most of the time to promote it. as much as possible.

Walid : So, you’re the founder of OCS, but before we say any more, are you still active in the OCS project?

Didier : I am no longer active in the OCS project. I still am because it’s my baby, but after more than 15 years of working on it, weariness has arrived, other desires with the family, etc. so there you have it, I’ve handed it over, I’ve handed it over to good hands, as they say, with FactorFX.

Walid : We’ll talk about it later. François-Xavier, would you please introduce yourself?

François-Xavier : So, I’m François-Xavier, I’m known more as FX. Like Didier, I discovered with a group of enlightened people at the IUT of Saint-Malo in 1996, it was in October-November, we found ourselves installing Slackware. and besides that, it’s our first stirrings with the Linux world, let’s put it like that, almost 30 years ago, that’s it. And we’ve remained in love with free software, Linux, communities, and I’ve been in that world for just as long. So I’ll let you imagine my old age.

Walid : First of all, you talked about Slackware, it won’t appeal to the youngest. Gilles, would you like to introduce yourself, please?

Gilles : Yes, of course. so, Gilles Dubois, I’m in the world of development and free software. since middle school, which, without a doubt, is… for much less time than Didier and FX. I have much less experience to tell for the time being. It was just out of curiosity, and I liked the mentality. In the end, I was lucky enough to come and work in a company that carries these values, which is FactorFX. At the same time, I was able to take over the development of the OCS product. Much shorter and much more succinct than the other two people.

Walid : No, but I recognized that you didn’t know Slackware.

François-Xavier : I know what it is, but by name.

Introducing OCS Inventory

Walid : ok. So, first part, I propose to introduce OCS. and once again, I think there is no better way to present OCS Inventory than its creator. so, Didier, would you please explain to listeners who don’t know OCS what it’s for, please?

Didier :

OCS is simply used to make an inventory of your computer equipment in an automated way, so with agents that are deployed on the machines and that will allow you to report the configuration of the machine. with everything installed in terms of hardware, RAM, CPUs, disk capacity, partitions. This also does the whole software part, with all the software components that can be installed on the machine and also an ancillary feature of OCS for many years, the possibility of deploying software or configuration scripts remotely on the machines, without the need to surpass oneself to do the operation on it. that’s basically what the software does.

Didier Liroulet

Walid : And why did you choose the name? What does OCS mean? OCS Inventory?

Didier : OCS, at the time, there was a lot of talk about Open. Open was fashionable. OCS stands for: Open Computer and Software Inventory. That’s the original name, that’s why I chose it: not a lot of imagination, it just explains what the software does.

ITSM (IT Service Management)

Walid : At the moment, we will say that this software is part of a family of software called ITSM software. IT Service Management. So, at the time, when you created it, it didn’t exist. François-Xavier, can you explain what ITSM is in a few words?

François-Xavier : As you said, it will be able to make an inventory of the computers, equipment, hardware, software that you will find in the computers. And beyond that, that’s where we’re going to talk about GLPI, is to get all this communicated. So, inevitably, your GLPI will allow you to open tickets: the ticket is a person, it’s a computer, it’s a history, it’s software, it’s knowledge bases, it’s guarantees, it’s financial, it’s stock. And with all these tools, open, it allows you to manage what is called ITSM.

Walid : So, for me, it seems totally obvious because I’ve done a job on these subjects, but I was going to say, why is it important to inventory your equipment? What are the problems we have behind it, which make that… I, for example, as a presta at the time, the first thing we did when we arrived in a heterogeneous park was to make an inventory. Why is this important?

Why inventory your fleet?

Didier : It’s important to know if the fleet we own will be able to absorb the latest version of the operating system that is coming, which will also be able to absorb the load in terms of users’ needs. It’s important to be able to have all this inventory in order to be able to evolve your fleet according to your needs, according to the requirements of the users and the software you’re going to install.

Walid : And there’s one of the things that’s even more complicated to do and that OCS has been doing for many, many years, is that it’s a tool that does cross-platform inventory, on a very, very large number of platforms. Already, at the time, we’ll talk about the genesis later, but already, at the time, it was quite a feat. How difficult is it to do that?

Didier : How difficult is it? it’s that each OS has its own way of referencing hardware, has its own way of referencing software, and therefore, you have to adapt to each OS to be able to make this inventory and gather information in a coherent and standardized, standardized way. and what’s more, which is also complicated,

Didier : It’s to have an inventory that is up to date, which means that it’s good to do it once, but you have to do it regularly. We need to be able to keep up with these regular inventories on large fleets. And that we are also able to give this information back to users in a coherent way.

Walid : ok, very good. Gilles, do you have anything to add?

François-Xavier : No, that’s a very good description. There is indeed this notion of multiplatform which is super important and quite difficult to implement because of the differences in feedback. Or even, for example without necessarily leaving a single platform, just a Linux and even a single distribution, will change. Certain file formats, certain inventory reporting methods, which will make the feedback even more complex. One of the key points of the inventory, and in particular of the technicality of the inventory, is to have something standardized across all the OS, because doing the cross-platform inventory is one thing, but if the data is not usable in a unified way, then in the application, it makes it unusable for compliance and other concepts, which I imagine we can talk about a little later, to ensure the compliance of his fleet.

Walid : And at the moment, how many platforms is OCS available on?

François-Xavier : Today, OCS is available on the three main platforms of workstations and servers, which are Windows, Linux and macOS, whether it is the Intel branch or ARM for Mac. And then, if we talk about availability, there is the availability of agents, but there is also the capacity of what we are able to scan globally, because we also do network scanning. Does it fit in? For the time being, I would say no, but in terms of inventory, pure agent, we are on these three big platforms, indeed.

Walid : I remember back then working on Solaris, AIX, HP-UX, that kind of stuff, and UNIX that now must be very, very, very marginal.

François-Xavier : We still encounter quite a few, since in fact, we maintain compatibility matrices, precisely on purpose for these OSs. In the industrial sector, and all that, these are OSes that we still come across quite often. I’m exaggerating the line, but by putting the Linux, these OSes were included. So, everything that is HP-UX, Solaris, let’s say that we have compatibility levels on these OS.

The genesis of OCS Inventory

Walid : Well, I suggest you go to the genesis of OCS. And here, I’m going to give the floor to Didier. What I would like, Didier, is for you to explain to us in which year OCS was born and why did you decide to create OCS?

Didier : The genesis of OCS, in fact, is that I, at the beginning, was not a system administrator. I was a developer. I was developing on cryptography libraries. And then, since I was passionate about Linux and I liked it, in fact, I was bombarded with being a system administrator, in addition to my job as a developer. And so, I tried to look for all the tools I could find to simplify my work. So, there you go, I put Nagios, I put Cacti at the time. It was the beginning of Nagios and Cacti for the supervision of the park. And then, I needed quite an inventory because I was holding my Excel workbook in my hand at the time.

It wasn’t great and I looked for solutions. The only one I found in fact, which met my needs, partly my needs, was a tool called Still’s Inventory at the time. There you go, which was a small agent that was developed in Visual Basic, which was going to feed a live Access database. Except that you had to install the VB6 runtime, you had to install a whole bunch of runtimes to make it work, so it was complicated to deploy. And I said to myself, “listen, I’m doing C++, C++ works everywhere, why not make a C++ agent who will do the same thing?”. And then, if there are no components to access a database, it stores it in CSV files and we will then import them into the database. So that’s how it was born, it was born, if I’m not mistaken, in the year 99, 1999, when I did my first development and I published the first open source version in the year 2000, if I’m not mistaken. There was just a Windows agent, at the time, that could feed an Access database. And then, there you have it, Access, not everyone has it. We were starting to talk a lot about MySQL, so I said I might as well make a MySQL compatible database, port the Access database under MySQL.

I developed a thick client graphical interface, in C++ the same, to query the MySQL database. In addition to the agent, there were the first users who arrived and came the request to make a small agent for Linux. So, there you go, the same, I had started to tinker with a Shell script on Linux, which retrieved the information, put it in CSV. It’s around 2003, so it must be 2003. And in fact, all this was to simplify my work. Essentially, in the beginning, since the agent was turned on the world of Windows, there were quite a few users who were Windows. Until, if I’m not mistaken, at the beginning of 2005, when the National Gendarmerie came knocking on my door and told me: “We’re super interested in your tool, we’d like to contribute.” We did something extra, which is that we developed a server part so that, instead of having to import CSV files, synchronize CSV files, we automatically feed the database with the HTTP protocol), a server part. And that’s how, in fact, OCS Inventory NG transformed itself from OCS Inventory to OCS Inventory NG.

Walid : I started working on GLPI around those times, 2005-2006. My colleague Gonéry Le Bouder, who worked with me, started working on OCS at about the same time as me. I thought we had arrived later. Okay, ok, it works. What did you put in as a license?

Didier : I chose the Linux kernel license, so GPLv2. I didn’t bother. I haven’t given much thought to the license. Overall, I developed in my corner for 5 years.

Walid : And you published the sources, what was it about? Was there already SourceForge ?

Didier : It was on SourceForge, yes. I was publishing on SourceForge. I published the sources and the executable package, the installation packages to deploy the software. Little by little, I improved the software because at the beginning, under Windows, at the time, it was still a lot of Windows 95, 98. So, the inventory and hardware listing features on these systems weren’t great. You even had to do the assembler to retrieve the information from the BIOS. So, from the assembler, we touched a little bit of everything. It allowed me to learn a lot about the system, whether it was the Linux system or the Windows system. It allowed me to learn a lot about it and really to increase my skills on it. And that’s it, I was able to benefit from all this work. And it was, I think, the first deployments on fleets of several hundred Windows PCs, essentially, that made the tool known.

Walid : Okay, you wrote the first Linux agent? I don’t know why, I thought it was the gendarmerie that had…

Didier : There you go, I had scripts, but as I say they didn’t recover much compared to the work that was done by the gendarmerie behind it. They put it in CSV files, so afterwards, you had to do an SFTP to retrieve them. So it wasn’t industrializable on a large scale.

Walid : Before we move on to the gendarmerie part, it’s the very first years and you have a lot of contacts. Do you know who uses OCS? Do you see that there is attraction? And by the way, how do you make the software known? There are already LinuxFr.org, for example. What is people’s reaction? Is there a community that is being set up in one way or another?

Didier : I don’t do any advertising, I don’t participate in anything. I elaborate. If there are people who offer me to add features through the SourceForge ticketing system, I take it, I do it. Until the Gendarmerie, I don’t have much help. There is a user who is very involved, who is near Bordeaux, I don’t remember his name. He guided me a lot on the developments I was doing, because it was very interesting, it’s a small company that provided services to other companies, a small computer company. But there you go, very few contributions. I tried a lot to recover source code that was already made when it existed, obviously leaving the copyrights to their creators. That’s it, actually, that’s how it happened. Really, the boom took place with the arrival of the gendarmerie.

Walid : To finish on this, just so I understand, it was developed during your professional time?

Didier : No.

Walid : ah, you did it on the side?

Didier : In the evening, at my house.

Walid: Ah, okay. Ok

Didier: not developed on my professional time, no. In the evening, at home, though. After that, the right professional environment was my test laboratory.

Walid : Maybe if you want, we’ll come back to it later.

Didier : And essentially, at the beginning, the tool was known mainly at the beginning in the French level, because indeed, even if I wrote it in English at the beginning, I immediately translated it into French. The first important feedback was from the French side.

Collaboration with the National Gendarmerie on OCS Inventory NG

Walid : ok, ok. It’s very interesting to listen to you, to talk about that, because I wasn’t there and I didn’t know the whole story.

Interview of Pascal Danek by Tristan Nitot at the Solutions Linux exhibition in 2008

François-Xavier : While Didier was writing V1, I was a teacher for gendarmes who had a background in technicians, engineers, with whom I did Linux, with whom I did Windows, who stayed at the gendarmerie, which I lost sight of. We got on well at the time, but I always had a Factor FX, and besides that, I have to go to classes. And I knew a long time later that this famous team that you know very well Didier, must have called you one day, to tell you, we need to develop your software, how it is progressing. According to the discharges that the gendarmerie had had.

Walid : Who? Was that at the time? Because I remember, when I arrived, there was Pascal Danek.

Didier : Pascal, Erwan Goalou, Pierre Lemay and the last, the fourth of the group.

Walid : There wasn’t Colonel Guimard at the time, who was their leader, right?

Didier : No, I had very little contact with Colonel Guimard.

Walid : Well, it’ll come back to us.

Didier : It will come back to us, yes.

Walid : That’s it, ok. It was at that time that we joined the adventure. So, precisely, how does it work? So, they call you, they say “hello, we’re at the National Gendarmerie, we came across your tool, we’re interested, we’d like to collaborate.” How do you work together? First of all, do you call each other, do you meet?

Didier : Actually,

They sent me an email, via SourceForge, saying exactly what you just said. I was very surprised. In addition, I knew that they didn’t even talk about the gendarmerie. They said “we are interested in participating in the tool, we have ideas, we have done a number of things. If you want, you can start looking at what we’ve started publishing. It was called OCS4ALL. The little development they had started. Are you interested in us getting together and joining the project and participating in the development of the project?” And indeed, I was very happy to find someone who was going to help me.

Didier Liroulet

And there you have it, in addition, three people. Because at the time, I only had the three people, Pascal, Erwan, and then I don’t know anymore. And that’s how we met in person during my visits to Paris, as part of my work. One evening, we met on dates over a beer. We talked, we got along well and we decided, that evening, one, to rename the software to OCS NG, and two, to make a roadmap on what we were going to develop. We talked until the wee hours of the morning. I think that night… I think I went back to work without going to bed.

Walid : Meeting over a beer and everything, I think it’s an invariant, I have the impression.

Didier : That’s it.

Walid : We really have more or less the same stuff. Ok, so these first years, basically, you give them rights, how does it go?

Didier : In fact, we are creating a new project at OCS NG. So the OCS Inventory still exists. That’s it, but what we’re saying is that now, we’ve put a message saying that the source code is available to those who want. He will no longer evolve and it is OCS NG that takes over.

Walid : ok, in this project, when you start, you decide to divide things up, in one way or another? Me, from my history, I had the impression that you were mainly dealing with the Windows agent.

Didier : Yes. I actually mainly dealt with the Windows agent, because I had all the history of how the Windows agent was created. And that they thought it was well done, that it worked well. And then, I also took care of the whole part of integrating the bricks into an installer under the Linux part, the e script shell installer, which still exists, I think, in addition. For ten years, I maintained this installer in addition to the Windows agent. It’s true that on the Linux part, Pascal was very aware and took care of this development. And Erwan focused on the web interface.

Walid : And they were the ones who brought the application deployment functionality. We agree that at the very beginning, you didn’t put it on, you didn’t have this need.

Didier : No, I hadn’t put it on. So, I had the need, but the development was long. And then, with the operation I had earlier which was in operation under the user account, since the agent was launched by the user account when it logged in, with the logon script. It was complicated to install software. So, I knew that I had to have this need, but I hadn’t yet developed a Windows service as we were able to do later.

Walid : And in those first few years, on the one hand, we have three people who are paid by the National Gendarmerie to work, I suppose, full-time on this. And you, who are on the side and who do this in your free time, does it pose problems in terms of managing the roadmap? How do you organize on this? Or is it so, is it going well?

Didier : So, quite frankly, I have to say that it worked. There was no tension or anything on that part, given that in fact, the big job, even though there was when there was the resumption, was to do the web interface. So I had a small PHP interface that wasn’t great, which was completely redone by Erwan. He started from scratch, Erwan, to do this. There was still a lot of work to do to do that.

Didier : There was the whole communication engine part that was done by Pascal.

Gilles : To understand the algorithm of slicing packets, sequencing, reforming packets, hashing and all that.

Didier : Yes.

Gilles : At the time.

Didier : It happened a little later. First, there was the whole inventory. And then, when we set up the deployment, I took days off. I went up to Paris. We locked ourselves away for two days to set up the deployment system and study how we were going to do it. Knowing that it must be said anyway, on the gendarmerie side, they had already started to think about it. So, there you have it, they just managed to convince me that it was going to work.

Walid : They arrived with a need that is, we have plenty of gendarmerie posts that are on small links all over France and overseas, etc. We need to deploy software without collapsing the network.

Didier : It’s the cutting. And then the gendarmerie, at the time, was lucky enough to have, at the departmental level, proxies. And so, it was the proxies that acted as a cache for small packets and that effectively limited the use of links. And so, we relied on this principle to set up the deployment.

Walid : It was super innovative. Frankly, I remember that when we went to see other administrations or other companies, people were very interested. Because how do you deploy OpenOffice over long periods of time, without collapsing the network? OCS was really very credible at the time.

The collaboration with GLPI

Walid : I’d like to talk about the meeting with the GLPI team. Can you explain to us, Didier, how it works? Are you the one who contacts them? Are they the ones who contact you? How does it work? This meeting of what will become a fairly fruitful association finally of OCS, plus GLPI for the years to come.

The OCS Inventory NG booth, just behind the GLPI booth. Salon Solutions Linux 2010 (source Olivier Ezratty)

Didier : To be honest, it’s the gendarmerie that contacts them. And so, it was the OCS team at the gendarmerie, since it was the team that managed all this part, in fact, ITSM at the gendarmerie. So, it’s the gendarmerie that contacts them because indeed, OCS does all the automated inventory. But as FX said so well, earlier, ITSM is also the date of purchase, it’s the ticketing that goes around it, it’s all the printers, etc. Everything that can revolve around it and all that, GLPI does it very well, but in a manual way. You have to enter everything manually. And so the complementarity between the two is obvious. We asked ourselves the question of whether, in our interface, we are going to develop this when there is already someone who does it very well on the side? And we said to ourselves: “we’re already struggling to develop properly and do everything we want with OCS, it would be nice to go and see them”. There was this need, which went to see them, because it allowed us to set up, through a simple bridge, the functionalities that OCS lacked to make an ITSM tool.

Walid : And indeed, it was quite a machine to set it up. It wasn’t so easy to take two pieces of software that, at the base, were… not necessarily been developed to work together and to make sure that they work together. There were a lot of technical artifacts, improvements on both sides to make it work well and it worked. Very good, frankly. It was really very impressive. I don’t know how you feel about it, but on my side, it seems to have been very beneficial for both projects.

Didier : It was very beneficial for both projects. Indeed, for me, on the French side, it was a boost for the OCS project. The first versions of OCS4All, from OCS NG, were quickly very successful internationally. When we started to display on the OCS website that the gendarmerie was deploying it on 70,000 workstations, we were still very successful internationally, a little bit everywhere. The victory at the Trophée du Libre in 2006 was also a great recognition when we showed it. We quickly had a lot of deployments. For me, the culmination was in 2007 with the Banco do Brasil, which deployed it on 250,000 devices, all alone, without outside help. They asked us a few questions about the chat, but they did it on their own. And by deploying it on the ticket machines. So there you have it, it was a great reward.

Walid : On GLPI too, there has always been a very strong community in Brazil and I still think now. It was really very strong. Does anyone have anything else to add about the whole gendarmerie part?

François-Xavier : It’s Franck Bourdeau, he’s also someone who contributed a lot at the time, one of ideas.

Didier : Franck Bourdeau got into software because he got to know it with the deployment of the CNAM. Not only him, by the way, he came in at the same time as two other people, who were extremely active on the forums and who allowed us to free ourselves from support on the forums, including Philippe Beaumont.

They didn’t want to develop at first, but they said ‘we know how to answer questions’. So, they started answering questions for us, on the forums. We integrated them into the team like that, for user support.

And I think that too has been something that has been extremely important for OCS. From the very beginning, we put a lot of desire into responding to users quickly so that they could get to grips with the software as quickly as possible. And in the best conditions. And that, the support to users via the forums, mainly, has been, I think, one of our great strengths.

Didier Liroulet

The arrival of external contributors on OCS Inventory

Walid : To explain a next part. I have to make, well, not an aside, but I explain my personal case. My colleague at the time, Goneri Le Bouder, and I are employed in the Atos Open Source Center. One day, our boss came to see us and he said: “We have a framework contract with the Health Insurance and they want to deploy an inventory tool: it’s called OCS Inventory. We don’t know.

We are starting to work on the subject. So, we’re going to go to the Health Insurance to work on the subject. We get paid full time to do this. We divide up the tasks. Basically, Goneri, he knows Perl, so he’s going to work on OCS. I know a little bit about PHP, I know LDAP. I’m going to work on GLPI. That’s basically how it happened. And so, Goneri starts contributing on the agent, rewriting part of the Unix agent. And so, in fact, he is also, in addition to the gendarmerie, he is also paid to write code.

Didier : That is to say that at the time, I was working at the CNAM.

Walid : Oh, yes?

Didier : That’s it. And that the CNAM didn’t want me to work on the deployment of the tool I created at the CNAM… There you go. That’s another story.

Walid : It’s quite crazy because I remember that at one point, we raised the point of saying: “no, but wait, the creator of OCS works at the CNAM! Why don’t we make the creator of OCS work to deploy OCS at the CNAM?” So, in short, it was quite surreal, I must admit. And a little later, two other people who worked at the Health Insurance arrived, who contributed quite a bit to the project as a whole. So, Nelly [Mahu Lasson] and Rémi [Collet].

Didier : Nelly and Rémi, yes.

Walid : That’s it. Remi Collet, who contributed a lot on the OCS part, on quite technical parts, on packaging, etc. So, through this project, things have also happened through his contributions. And Nelly Lasson, she contributed a lot on the GLPI part, too.

François-Xavier : There was something that was important, it was to find OCS, all the OCS components in the official repositories of the different distributions.

Didier : That’s right.

François-Xavier : That was just huge. Remi, he did that.

Didier : Remi, he did that. He did that on all distributions. And it’s true that it was quite huge to find the packages.

Walid : He had done everything RPM.

Didier : And even the .deb [Debian packages].

Walid : The .deb was Pierre Chifflier, alias Pollux. Remi, I also have memories, that he also worked on very technical things for screen detection, by the fact that he does a lot of C, it helped a lot.

The main milestones in the development of OCS Inventory NG

Gilles Dubois’ lectures at the Open Source Experience 2025 exhibition

Walid: Finally, there was also an emulation at that time of people who started to work a little more with you and with all people in general. Before we start a part that is quite close to my heart, I would like us to talk a little about the main stages of the development of OCS. Can you give in a few words the major stages of the development of OCS? Gilles, we haven’t heard you too much, do you want to talk about it a little?

Gilles : I think it’s more to be done in two stages, that is to say that the first part of the major stages of the OCS dev, I think that Didier will answer much better than me, especially until the beginning of 2.0, and I think that afterwards, I can take over on that part.

Walid : With pleasure. Didier

Didier : Actually… The major stages, indeed, there was version 1.0 which was released in 2005, if I remember correctly, at the beginning of 2005, which was in fact a monolithic agent that was not very well coded, it must be said, because it was done in a hurry and not very well, therefore, which was not very scalable, not very scalable. And the Windows agent was the same, it was not very scalable, so. Difficult to add features. You had to rack your brains in the code to add features. And in fact, at the end of 2007-2008, we decided something like that, to review the code of the agents, because as much as the server part had been well studied, the agents were not very well studied. And there, this is where Goneri intervened on the Linux agent part, where he redesigned the Linux agent code. To make it much more scalable. I also redid a complete redesign of the Windows agent code to put it in the form of DLLs, where you could add features by adding DLLs, adding plugins, etc. So that happened in version 2.0.

These are the major changes that have taken place overall in these first years. And there was a subject that we had identified, which was the database, which was quite limited in terms of possible developments, where we wanted to take it up. But that’s a job that Gilles has to carry behind. We’ll let you have the upper hand.

Gilles : My arrival in the OCS project was a little bit after version 2. In fact, there was a version 2.0 that led to a review and unification of a lot of components. And in particular to add the notion of plugin. We’re going to caricature it like this in the application.

There was a version 2.1, just after, which stabilized a little, but which didn’t bring any huge changes. Until the moment when we arrived more or less at the time of the transition of governance to FactorFX. And when I arrived, we were between 2.1 and 2.2. So, 2.2 was mainly an ergonomic revisit of the web interface. There were few features on the agent side. In terms of interface, there were the little buttons with the little pastel-colored logos in 2.0 and in 2.1. And we moved on to something a little more sober, a little more neutral, as was done at the time with web applications: the menus at the top, overall, the menu bars of web applications, which we see today everywhere, finally. We have moved on to this format a bit.

A lot of changes followed. We gradually moved on to versions 2.4, 2.5, 2.6 which mostly brought improvements, but on the part, not agent inventory, but rather network inventory, SNMP, compliance, software, hardware compliance. We focused more on the use of the data than on the agents, which were a very good base. There have been some evolutions, especially at the level of the Windows agent, typically the support of PowerShell for plugins, which before were only DLLs. There were little things like that, but it was really a little incremental.

Generally comes version 2.6.2.7, where I think I’ll go a little bit on the toes of other subjects. We realized that OCS, as it stands, did not allow us to bring certain features or our vision to the level of inventory, and in particular with regard to a lot of cumulative criteria: that is to say the feedback of FactorFX customers, feedback from the community, and even our own vision, as the new developers of the product. And that’s where the idea of going back to a 3 was born, a little bit finally, like the transition from the 1 to the 2, which was done at the time, to one day move to a 3, so it would bring new features. We let this idea germinate because, in view of the base that OCS had, it was not necessarily easy to think that we were redesigning a behemoth of this size that is used by many people.

So, we continued to develop on this branch 2. Until today, we are in 2.12. But at the same time, we have also started to work on a major major evolution of the tool, which is a technical and technological evolution, because we are not at all on the same technological stacks as today, with a view to pushing the rewriting. There is also a new proposal on inventory to meet the constraints that users will encounter in order to make an inventory of an IS [Information System] which, today, unlike a few years ago, is no longer limited to the inventory of workstations or the inventory of servers or a few network elements, but takes on another dimension, finally, in the IS.

Walid : I realize that there is one thing, when you speak, that we didn’t say, and that is that we really have to say it, OCS, it’s really both a historical software, but it’s really a software that is hyper known, hyper used. There has been training on it, it’s a basic software. When you say that it’s hard to make it evolve, people have to realize that indeed, this software is used by a lot of people.

Book on OCS Inventory NG (published in 2017)

Gilles : Completely. Today, in branch 2, it is a tool that meets a lot of needs, which is moving towards compliance in the safety sense. These additions of features over the years bring a tool that is still very consistent today. Where we could see competition, for example, you mentioned configuration management tools. We realize, for example, that we are often left out of these tools because, even if, in the end, they also make an inventory, they will not do exactly the same level in terms of analysis and in detail at the level of the systems. The disadvantage of OCS is that it is a little hard to move, because, inevitably, it has been around for so long that every decision must be taken with a lot of consideration. In the end, it also brings us a strength, which is that the inventory system has evolved over decades. And we inventory a lot of elements. Almost everything that can be considered on a workstation in terms of inventory, can be done today in a roundabout way or natively through expansions.

Didier : And then the fourth thief whose name I had forgotten is Emmanuel Guillory.

Walid : Oh, yes, of course!

François-Xavier : We have completely incredible plugins to go and do inventory of AWS, Veeam, Azure, to measure electricity consumption, which we cross-reference with CSR [corporate social responsibility] stories. We have use cases that are incredible: we have OCS in food dispensers. There’s OCS in a lot of stuff, everywhere. The footprint is so small and it works so well. It’s so well done, well done, well coded, quite simply. It does the job. But it saved a lot of complicated situations. That’s what’s absolutely fabulous and hasn’t changed for 20 years.

Guilles : I’m thinking of a little rather personal anecdote with a user where OCS was installed in the company. With a view to making an inventory and not remediation. Their remediation tool completely collapsed at a very important moment, because it was related to a remediation of security vulnerabilities combined with licenses. And clearly, it would give him nightmares. In the end, the remediation tool did not work. And it was OCS that was able to take over to allow the remediation and the inventory of this element which was not at all within the framework of OCS, since that was not at all why it was using it.

It is indeed a tool that is very adaptable and is very stable. That’s what is quite obvious, is that most people who use the solution very rarely come back to us, except in special cases: for example, for industrialization cases. Things that are a little more complex to manage, for example automatons, things that are not necessarily obvious because it is very obscure to inventory. But in the majority of cases, yes, you click and it works. And the application is stable over time. Thank you.

Didier : The symptom is that in fact, very often, we notice that people have installed a version and then they use it and they have forgotten that it needs to be upgraded. So they end up with an anti-Deluvian version that always provides the same services and they are very happy with it.

Walid : I have a personal memory myself. My office colleagues, they worked on the Linux desktop of the National Assembly a long time ago. Then, one day, my colleague, I don’t know what he’s doing, but he’s messing up the packaging system. “Oh fuck, it’s shit and everything.” And then, we realize that in fact, there is OCS, and we say to ourselves “Well, wait, we’re going to redeploy the landlines that go well with OCS”. And it saved our lives that day, I think.

The fork of the OCS Inventory agent and the creation of FusionInventory

Walid : The clock is ticking. There are still two big issues that need to be talked about, even several. There is one that I would really like to talk about because now, it is a subject that dates back to 2011. So it’s quite old, we all have hindsight on it. I would like to talk about the fork of OCS.

Here, I’m going to give a little context and then, I’ll let you, if you want, give context because Didier was there. There, there are service providers who provide services around OCS and GLPI. My colleagues, they work a lot on OCS, etc. I work a lot on GLPI. And then there’s another person in the community called David Durieux, who is starting to develop a network inventory agent, so without installing things on the workstations and who doesn’t upload the information to OCS, but who uploads the information to GLPI [via the Tracker plugin]. And we do a good job.

Our vision of the thing at the time was that we should send more information and the information should go back to GLPI, that we manage everything in GLPI. And then, Goneri also has other ideas, including that we should make an agent out of Perl to make things easier. And so, from my reading of things, but I’d like yours, especially since it’s been a long time now, it’s not that we didn’t get along. I think everyone was old enough to talk to each other but the vision of things was very different.

At one point, it was finally much easier to fork OCS, on the agent part to make Fusion Inventory, which was another project and which, in the end, lived its life on the side. Just because the vision of what you wanted to do, OCS team, and the vision of what that team wanted to do was not the same as the same of the thing.


[Note from Walid: the FusionInventory project was born during FOSDEM 2010 from the merger of the work of the Tracker plugin by David Durieux with the OCS Inventory agent, renamed FusionInventory Agent. See the presentation by Fabrice Flore-Thébault in April 2010 which explains the goals of the time].

Didier : Absolutely, but in fact, that was it. And in fact, what caused the fork was the fact of saying “we’re going to feed GLPI directly”. In fact, we, on the OCS historical branch side, we’ll say, we knew and we had an installed base that used GLPI, yes, but it was a little less than half of the installed base. And so we said: “we’re not going to force people to install GLPI, if they don’t need it, if they needed to install, they would have installed it. So that means that today, the tool as it is, is enough for them.” And secondly, the agent as it was, it was integrated at the time into other tools, in Rudder, for example, it was Rudder’s food agent, which was integrated as is. [See the episode on Rudder]. So we said: “we don’t want to link ourselves to GLPI, because today, our installed base does not systematically use GLPI”. So, that’s what caused the fork.

And then, afterwards, I think that there was also the enmity between certain people, it happened like that. So it was a good or a bad thing, I don’t know. But in any case, both projects continued. We are doing their part and continue to exist. So it proves that, in any case, it wasn’t a bad thing. In the end.

Walid : From my point of view, in fact, we had a vision, I’m not going to say biased, of the thing, but we had a vision of a service provider who provided services every day with OCS and GLPI. And our vision was seen through that prism. I don’t know who made the decision to fork the thing, but I was there in all the meetings in 2011, project launch and everything. But the vision we had was not at all the same. Enmities, I would tell you that maybe we simply didn’t drink enough beer together.

Didier : yes, maybe, maybe, yes. Certainly.

Walid : The written word certainly doesn’t help things either, a lot. And also, I think that there were perhaps also different desires at the technical level. But how did you experience it? I’m interested in it, because we never talk about it. When people talk about forking, how did you experience it as a project that made you fork? What was your state of mind at that time?

Didier : I’m going to say that we weren’t very happy that it happened like that. We didn’t like it too much at the time. As I said, we didn’t have the same technological vision. We didn’t have the same feeling. And in fact, we had opened the project to contributions with high rights to certain people. And the fact that she forked, we experienced it a bit, I would say, as a betrayal. We must not hide it. At that time, it was experienced like that.

Didier : When you think about it, it’s the world of Open Source, it’s normal. Open source is made for that, Open source is made for forking. Any projects? Open source is made to evolve the reaction. At the time, it may not have been the right one either.

Walid : I think there are still a lot of forks where it happens like that. But in the end, on the Inventory fusion side at the time, it was a bit. How do you express excitement?

I’m going to do something that I don’t usually do, I’m going to give my opinion on the situation. Usually I don’t do that, but I’ve experienced it up close. And with all these years of hindsight, and of course, this is just my opinion, it’s not the opinion of other people who have worked on FusionInventory, I see it as a real missed opportunity. There was no real project management, we had never managed a product. Now that I work in companies with product teams, I see that we were completely off the mark. We missed the boat. In fact, Julien [Dombre] and Jean-Mathieu [Doléans] from GLPI [the former community maintainers], talked to me about it much later, saying to me “But why didn’t you directly do the thing in GLPI?” I think we completely missed the boat at the time. There was an opportunity to do what we had to do it for, which was to integrate everything into GLPI and we didn’t do it. And that it has been rewritten many times. In the end, it didn’t turn out what it should have. After that, that’s my opinion. I think everyone will have their opinion. But here’s the thing, it’s interesting because how maintainers, they see people who leave to fork a project. It’s a heartbreak, somehow.

Didier : It’s hard to admit that people can’t think differently, and that we can’t find common ground.

Walid : Erwan [Goalou], who was there at the time, gave a talk a few years ago at Open Source Experience. Unfortunately, it was not filmed. I was able to talk to him again and he said that in the end, it was a blessing in disguise. Because, by the way, when you do that, it also forces you to do a little introspection.

Didier : Yes, we also questioned ourselves on governance, where we wanted to go. By the way, I think that’s after that we organized our first “OCS meetings”, it may also have given a boost to the project.

Governance Transitions

Walid : I’m picking up on the word you said earlier, five minutes ago, transition. I would now like to talk about the transitions of different governances in this next section. We can see that at the very beginning, what you were saying, Didier, is that you are all alone. Afterwards, you recreate a project with the team of the National Gendarmerie and now, the project is supported by a company. So, I’d like you to come back to these transitions and explain to us were these transitions prepared? Was it done smoothly and also, what does it do, from your point of view, when we change the maintainers of the project on the project itself, François-Xavier, perhaps?

François-Xavier : what happened, then. I was in contact with the guys from the gendarmerie, I stayed in touch with them. We were service providers, we were integrators of free solutions at the time, of all free solutions. From time to time, we were asked to set up OCS, GLPI. And quite often, as soon as there was a little OCS to do, I would tell my friends in the community, and then there were exchanges that were created. As soon as we hired developers at Factor-FX, the obligatory step was to do OCS. At first, the little guys at Factor-FX, the developers, were talking to the guys in the community. Little by little, it happened like that. Didier, I think that’s the reality. We, as a company, when we needed to give the community a little help on a PC, on a trip, we did it. We played the game. And naturally, as Didier said, life makes historical guys want to do something else. We were clearly identified as a real integrator and contributor to OCS. And little by little, the passing of the torch happened, I think, quite naturally.

Didier : Very, of course.

François-Xavier : By bringing all the guarantees, the proof is that today, the license has not changed one iota. We didn’t cut off the community, we set up a service offer around it to make the subject work well. And between Gilles, who you have around the microphone, and Didier, we had a good dozen people from Factor-FX, I think, who contributed directly or indirectly to the roadmap, to the exchanges. I think that tomorrow, if Gilles has questions, he can very well call Didier for a subject.

Didier, he would be happy to answer him. And we still had Erwan in our fold, not so long ago. I think it’s a great story. It is an Open Source model, almost a generation apart, which has passed the baby with a relay from an association to the private sector. And it can work with old people passing it on to young people and it can work. Admins who also move to devs with the changes in technology in development, It’s still the type project that we can only admire, from the beginning to the end. I may not really be objective, but overall, there is not much to do anymore. That’s the thing.

Didier : The transition was very transparent and it was done really smoothly. And here, on the historical OCS side, I will say that we tried to put together a commercial offer around it. We were techies and absolutely not salespeople, so it was a big flop.

Walid : that is to say that you had set up a company

Didier : Yes, we had set up a company called osinventory.com.

Walid : Ah, yes, that’s true!

Didier : To provide support on the subject, it lasted a year and a half. In fact, what interested us was the technique and not too much the rest. And doing support without going looking for customers to do support, you don’t do much as a recipe. And we didn’t want to give up our job to focus solely on that. So it didn’t work. And indeed, behind it, after that episode, there was FX who arrived, who started to be very involved in the community. And the transfer was very transparent and very fluid. That’s it, it ended in Granville. A long weekend! A long weekend! That’s it, in the sense of the worst, once again.

François-Xavier : There is still the OCS Inventory association that exists. He must have 200 euros in his account, but that we maintain. And little by little, the association still exists, it is open, it is public. And next to that, there is the company that sells services, that has the developers, that keeps the project alive, that responds to requests, etc.

The current business model of OCS Inventory NG at Factor FX

Walid : We are moving from a 100% community model to a model where it is a society that supports development. And your business model is service. That is to say, it’s not open core, there’s not a part…

Gilles : There is a service offer with support and information. We can do development when there are features that are a bit specific. We put them on top of the pile, let’s say. They are necessarily open source, obviously, with the validation of the client, but the version that is installed and supported is exactly the same. There is no difference. And the difficulty is to find a balance between this software that continues to exist as 100% Open and having an economic model where we have 1, 2, 3, 4, 5, 6 developers on it. That’s the real issue.

François-Xavier : But it’s quite interesting. Indeed, in the product, as such, we really try to make a complete documentation, to have definitions of the code, everything really 100% Open. And not even have an extension that would be, I don’t know, behind a subscription or something like that. And in the end, we end up with only expertise and service, we really try to keep this philosophy, so there are also some developments.

For example, when someone comes to us to ask for a development, it has already happened. Typically, the [Microsoft] Azure plugin on OCS Inventory, it’s a customer who paid for the development initially and in fact, they were only charged for part of the development and the rest was developed in open mode. So, there’s also something where we try to make people interact. I don’t know if I mean it very well. FX, you can take me back.

We try to get customers who will financially support the application, the sustainability and the developers, not necessarily pay salaries, to interact with the community and give back features to the community. Even at the level of documentation, we make sure that there are no grey areas in the documentation and that there are no poorly documented areas that necessarily lead to the fact that we have no choice but to contact the publisher because it’s not explained, it’s not explained anywhere.

Walid : Wait, there’s something I’d like to understand. Factor-FX, your goal is to do OCS and it’s the services that work on OCS, well, that develop OCS or is it, you are a company, you have a certain number of services that you offer outside of OCS, which means that in fact, the developers are paid on all the services you do and these include OCS?

François-Xavier : Absolutely. We have an integrator. At the moment, we do a lot of Proxmox, we do a lot of Bluemind, we are known for that. And at the same time, we are an OCS publisher and integrator. But we are not the publisher of Proxmox and Bluemind. We are big integrators, but we are not publishers. Where we actually have a specific thing is that for OCS, we are both a publisher and an integrator. But there are plenty of OCS integrators who do it very well. That’s not the point. We also finance the development of OCS by the financier, who arrives on the other side, of course. I’m not going to say that it couldn’t stand, but it would be fair. We have to be honest.

Walid : Everyone can have a different model. You can finance it through subscriptions like a lot of companies do. You can finance it like that, since we’re a service company, we have a certain portfolio and in all that, in the end, it gives us time to pay our developers in part to work on it.

François-Xavier : That’s what’s interesting, it’s showing the diversity of the world. We have a historic deal with the people at OCS, the historical channel is that we don’t change the licenses, we don’t close anything. We committed to this and we only have one word and we will stay like this.

Obviously, there would be subscriptions, there would be licenses, there would be all that. Development would go faster. Now, does he need to go faster? No, it needs to be done. So, we take the time, Gilles manages it very well. The technologies are moving, a lot, the demands are moving a lot too. Now, the V3 is coming, I think we were talking about it earlier. We are really in mature and proven software.

Gilles : Then philosophy. When it’s Ready, it’s not bad.

Walid : What is it, sorry?

Gilles : Philosophy, when it’s ready, like, launching a product when it’s ready and taking the time to do things right. Today, when you want to rush all the time, I think it’s a good thing.

Walid : Last question for you, Gilles. On a more personal level, how does it feel to join a project like OCS and take an active part in the development of a software that has been there since, well, before you started your career?

François-Xavier : There are quite a few stages, because it’s not easy. Already, the transition brought a technical transition which meant that when I arrived, there was the IRC. For example, I had a lot of contact with Erwan, who explained a lot of things to me. He had come in physics, so we were able to meet.

Let’s say that there was a framework that gave me a bit of confidence, because it’s true that, basically, we say “the game has been around for 15 years, take it back”. It’s not that I would have freaked out a little alone in my corner, knowing that it was a first experience for me to take over something so big. For once, there was great support, so I was already a little more reassured. It’s super motivating. On the other hand, still a little scary. We are always afraid, not of “breaking the baby”, but of making the wrong choice or not necessarily going in the right direction. So there you go, there’s always this questioning that happens. But otherwise, it’s super motivating.

When we talk about software, I mean, everyone has heard of it. As soon as I talk about OCS Inventory, no matter where it is, people know where they are referring. When we have contacts who come from other countries, just to tell us: “ah, we installed this tool, it works well, we just have this question”. Well, the reward, it’s rather “human”, on the community aspect, but the fact that we have so much feedback is super cool. After that, there’s also another thing that’s cool. I find that with OCS you don’t get bored because installing three different OCS won’t lead to three times the same thing. It’s a plug and play tool, you install it, it works, but I’ve realized as I’ve gone through the different integrations I’ve followed, the developments and all that depending on the company’s field of activity, its vision, how it positions itself, especially with regard to fleet management, OCS will take a very different form from one company to another. So, it’s very interesting, for example, to integrate an OCS Inventory in an industrial field or in a classic office type company, let’s say, that just does service or something like that. We are not going to have the same needs at all, not at all have the same expectations. And, as a result, because we are able to integrate just about everywhere, it also allows us to touch on areas of activity that are also very interesting to understand. And as a result, to be explored, let’s say, by the integration of OCS.

François-Xavier : I would add one thing, which is that the more things go on, the more critical OCS becomes as a tool. From a security point of view, speed of deployment, reaction to a breach or reaction to a need for inventory or something. In fact, for a long time… as you said Didier, you install your OCS, it slumbers in its corner, you do the inventory once in a while, it works. Now, who’s around the table, we can talk about it, we manage flaw detection, we manage detection, we try to do Shadow IT, there are lots of things. And in fact, it has become extremely critical. And because of tele-deployment, that is to say that also, it’s extremely critical too, from that point of view, because you want to put a shit in the thing, you still have the ideal tool to do it.

Walid : Given all the access he has, that’s for sure.

OCS Inventory NG v3

François-Xavier : So, it has become extremely critical. And development must also be done in this direction.

Walid : Well, so, I wanted to talk about OCS Inventory version 3 quickly. We talked about it a little bit, we started talking a little bit before, but Gilles, quickly, what can we expect on this version 3?

Gilles : So this version 3, already from a technological point of view, it completely changes the game. That is to say that we are on something much more modern in terms of technology. We’re going to be using Python unlike Perl, as before, which was generally a bit of an aging technology. We also have interconnection systems that will allow us to make calls through the REST API or things like that, which will very roughly facilitate interactions with other tools, so third-party tools. So when someone wants to come and get information or want to retrieve or modify it directly, he will be able to do so quite simply directly through interfaces that we will have planned and designed from a more technical point of view.

In the notion of inventory as such, we have a big evolution. Today in version 2, what happens is that the agent’s roadmap, that is to say that when the agent initiates his inventory, he will retrieve and he will execute a certain number of commands that are anchored in the agent and we cannot modify this behavior. This poses a bit of a problem because if, for example, today we need to add information to OCS in version 2, we are forced to go through the development and deployment of a module on this agent.

The objective of the 3 is to pass all this logic to the server level. In fact, people will be able to set up their own roadmaps and then decide what the agent will have to retrieve. A use case that is quite interesting.

Overall, we have encountered a lot during our various OCS integrations, which is that all companies need inventories, but the very notion of inventories changes enormously from one company to another. And so, the objective of this model is to allow these companies, precisely, to retrieve the information that has an impact on the management of their fleets.

Walid : And are there any changes in the way the agent communicates? Because from memory, so maybe it had changed by then, but from memory, it was communication that there are XML files. Have you switched to JSON or other things?

Gilles: So, as a result, the agents now communicate through the API, which is the interface that we will make available to everyone. So in the end, in fact, the agent doesn’t do anything particular in sending the data and in terms of format, we are therefore on standard RESTful with JSON.

Walid : ok, great. Do you have anything else to highlight for users or administrators?

Gilles: From a purely use and administration point of view, we have also streamlined and simplified the interface a lot. That is to say that in version 2 for those who have already used this version, you can quickly get lost in the immensity, the number of different parameters that will have an extremely minimal impact. Today, this configuration has been rationalized so that overall someone a little new who will integrate the application or the tool will quickly find his way around and this interface, in addition to being a little simplified on the configuration part, is much more ergonomic whether it is in terms of the display of the consultation, the search is even more generally in ergonomics and simplicity and comfort of use.

Walid : You did this ergonomic redesign on your own, based on the feedback you had, how did it go? You have worked with people externally, how are you organised?

Gilles: So, what we did is that when we started to develop this redesign, we had a certain number of customers who are even more partners who globally help us develop the tool. And we offered them a certain number of models. The aim was not to change much between 2 and 3, that is to say that if today you have already installed a 2, the placement of the menus, there are a lot of things that will speak to you in the design logic of the interface. On the other hand, where we have worked again with the partners with whom we have developed, it is too subtle. It’s mainly the irritants of use, i.e. the multiplication of clicks, typically a technician who wants or accesses the same data several hundred times in a day because I don’t know, there is a security flaw and he comes back x times to the same search, x times to the same machines or the same group of machines because he is working on a group of individuals on that day.

We know that today it’s a bit of a clickbait factory and all this part precisely the flow of clicks to arrive at a truly pro-band action in the application, so a deployment, a search or an action on the machine is greatly reduced. So we took customer use cases, i.e. those that showed us their everyday flow. So that is to say that today we have such and such a thing to do on such and such a group of machines, this is how we work. And it was, well, there you go, typically you have to click three times when in fact the information should finally be on the first page, it should be visible directly. There are quite a few ergonomic features and even interface structuring that have been linked around these user flows.

Walid : ok, last question on this on channel 3, have there been any changes in the deployment?

Gilles: So yes, the deployment mode has been completely revised too. We haven’t changed everything, that is to say that from a packet transmission model point of view, we are in the same logic, it’s just that we are on more modern transfer protocols, and more modern transfer formats. But overall, we are now on a package that does several actions. So in the 2nd, what happened was that when we made a package, it was a one-shot execution and if there was a slightly complex action to orchestrate, we had to make a script. And if this script crashed, it was very complicated to know at what stage it had crashed on a machine. So in fact, the debugging behind it happened automatically on the machine, except that when you deploy to a fleet of 100,000 machines, even if there are only 1% failures, 1% failures, it’s still 1,000 machines, and you can’t have fun going to 1,000 machines to see what happened.

So we did two things. So today, we can make the remote deployment generate logs and that these logs are sent back to the server in order to consult the failure logs directly from the deployment server instead of being under a single execution of a single action, we find ourselves being able to create a certain number of actions within a package. These actions will be ordered and conditional, that is to say that action 1 is to stop services. If the action has failed, we go through something else, if it hasn’t failed, we move on to a step 2 which will do something else. That’s really the goal, it’s to have something orderly that will allow us to create actions and especially at the logging level, it’s simpler because when we happen Perl something else, a deployment fails, we know which package failed of course and at which action.

Walid : Quite quickly, I would have liked us to talk about a subject. How do you introduce this? When you started at the beginning, Didier, there was nothing in terms of inventory. There was no inventory format, there was no management, configuration, etc. At some point, the configuration tools began to arrive, the CFEngine, the Puppet, the Chef, that kind of tool, which also started to make an inventory. Then came the cloud. Afterwards, we saw that there are many other devices that arrived with the notion of inventory and device, it was becoming a little more blurred. How do you see this evolution that has happened over time, how have you adapted to it? It’s a little vague, a little vague.

Didier : Initially, we just adapted by creating agents. For each system, since we made agents for Android, we tried to make an agent for iPhone, well for iOS, but it was a little more complicated. So, here today, I’ll let Gilles say his vision because he’s the one who brings it more precisely.

Gilles : We’re going to say that for everything that is going to be mobile, we’ll never do MDM, that’s clear.

Walid : So, mobile device management.

Gilles : In the sense that we’ll probably offer basic inventory. There was an Android agent, for example, for the 2, which we decided to put aside for a bit, for a lot of reasons: there are a lot of security constraints today on these devices, which mean that without a switch to rooting, or without quite complex actions at the device level, which are often very specific to manufacturers. For example, on an Android phone, depending on the manufacturer, rooting an application will not be the same actions at all, the same installation mode. So, in fact, we realized that we were entering a different field. That doesn’t mean that we’re never going to offer inventory on these devices again, because in the technical stack of version 3, for example, the frameworks we chose for the agent part in particular, allow us to compile and create code for iOS apps and Android apps. We’re probably going to stay on a fairly simple framework, which is just basic inventory and feedback. We won’t go as far as the notion of inventory model that I have discussed, we won’t go as far as deployment and remediation management. If one day we get to this on other platforms, we will certainly not do it on mobile.

Walid : Let’s not go much more into that, because I think we could have a very interesting discussion, but one that will only interest people in the field, which is not the goal. Now, before leaving, OCS is 25 years old. What do you get out of all this? And the first thing I’d like to ask you, Didier, is what is your view of the history of OCS and its evolutions? How do you see things from afar now after all these years?

Didier : I’ll say that 25 years ago, frankly, I never thought I’d write something like this. Today, I am very proud of what has become the project, of the way it is led by Factor-FX. I’m also extremely proud and extremely happy to have met all these personalities who have contributed to the project all along, whoever they are, including our kind forkers. In the end, we had a good time, we did some great things. I’m very happy with this and as I see it today, I think it’s a tool that will continue to provide a lot of services to many people for many years to come. Very proud of what he has become, very proud of what has been done, very proud of what he has become.

Walid : I must say that indeed, I am quite admiring of the work that has been done during all these years. Above all, to tell yourself that at the beginning, it was a volunteer job. In the end, you worked almost voluntarily on it, all the time.

Didier : The majority of people who have worked on it have worked on it voluntarily or as part of a specific project. In terms of funding, it was peanuts. For the OCS Inventory NG association, there were 3,000 euros for the victories of the free software trophies in 2006. And when we set up the donations on, I don’t know if it was SourceForge, back when there were donations. If we collected 80 euros or 100 euros in full, that’s not what we could have lived on. But it was the investment of companies like Factor-FX that helped ensure that the software became what it is and continues to endure.

Walid : I was going to ask you to share a memorable experience around the SCO. You have already given a few examples. I don’t know if Gilles or François-Xavier, you have a memorable experience, you yourself, Didier, do you have a memorable experience that you want to share? Didier, you spoke earlier about the Bank of Brazil.

François-Xavier : I wanted to add something to Didier’s words. At the moment, there is a lot of talk about sovereignty. And to come back to take the reins. We do things: it’s been working for 25 years. It’s been open source for 25 years, it’s been 25 years since a company has been able to operate, we’ve been doing inventories for 25 years. Isn’t that proof that it can work? But yes, it works. You just need to have intelligent people with a well-made brain, with values, you keep it until the end and it works. So if we are able to do it for that, we can do it for everything else.

Walid: You stole my conclusion, that’s what I meant in conclusion. You see, it’s a real subject, you see, and it touches me when I say that.

François-Xavier : Because, like Didier, who didn’t think at the very beginning, that it would be like this, when I arrived along the way, I didn’t think it would lead to this. And after 25 years, yes, it looks like that. And real issues at this time of security, sovereignty, governance, young people who can contribute. Young people, they can contribute. So, it works. We have everything we need to make it work.

Didier : Yes, I have a thing. In fact, the experience was the first OCS meetings in Nantes, where we expected to have four pequins who would come to see. We had managed to find a small room at the University of Nantes to do something else. We had prepared this, of course, over a glass of beer, that is to say that we had prepared nothing… And we found ourselves spending an extraordinary day with users who were there. There were at least fifty or sixty of them. We didn’t expect that at all, to have so many people. And we spent a great day talking to them about their problems, their wishes. It was a moment that marked me.

What can we learn from these 25 years of existence?

Walid : My very last question, before I give you the floor for a conclusion. There is something that I really like to highlight, especially in the age of AI, and that is the long term. You’ve been here for 25 years. You started talking about it earlier, you talked about it a little earlier, Gilles. What is your relationship with time when you develop software that is there? Already, for 25 years?

Gilles : It’s not easy. The question is really not simple, for the time being. I really think it’s specific to each person. My vision is that in the end, having a vision, not necessarily running to be the most efficient at the moment or necessarily being the software with the most features, I don’t think that’s what leads a tool to be really long-term, but rather a notion of stability and really keeping its values in the long term. I think there’s a story, that having a long time on a product brings it a certain maturity. Inevitably, this maturity means that he will be much less sensitive to changes and the impacts that may potentially have on the market. That doesn’t mean that we shouldn’t adapt, it just means that the tool has already gone through so many changes in its life that in fact, we’re technically no longer one change away.

The last word from the guests

Walid : Let’s conclude, then, after this rich and emotional exchange for me. I will leave you with a final word. If you want to pass a word to listeners, a message to the listeners of the podcast Projets Libres. François-Xavier, to you the honor.

François-Xavier : Learn to code. You’re going to code a little bit, but understand what you’re coding. Contribute to open source projects. Meet the people in the communities. No matter where they are, no matter who they are, we have this ability, I think, in France, to make magic in open source. Really, I’m convinced of that. We have the power on this, the proof is that we have open projects that are incredible. We have OCS, we have plenty of them in fact so we have to go for it.

Don’t hesitate, you will always have a developer, a Factor-FX developer, an OCS developer. We managed to keep it and that’s also what’s important.

What I wanted to say earlier is that we have to keep the magic, we have to keep the thing that has driven us for so long and that we have managed to pass on to the younger generations. Thank you.

Gilles was not a terminator programmed to make open source. But in fact, we integrated it. And then, I think he enjoys his life as a developer. It’s also a source of pride. I think Didier agrees with me on that. We managed to hand over the reins too. That’s what’s great. Finally, I stop. Except that everyone has to cry.

Walid : Gilles, your last word.

Gilles : I had my conclusion stolen a bit by FX.

François-Xavier : I’m going to pick everyone’s conclusions.

Gilles : Well, not as beautiful… I’ve not only contributed to OCS since I’ve been doing Open Source. If one day you hesitate or there is someone listening to this podcast who is hesitant to potentially contribute, really go for it because it’s a great experience. All my Open Source contributions, I’ve done everything from translation, bug reports, I’ve really done a little bit of everything and I find it super rewarding. Really, communities, in general, are even extremely benevolent. So, if you find a game to contribute to, it’s really an experience that you really can’t describe. And there’s really no time wasted in that. It’s really a great adventure.


François-Xavier : And it allows you to find work in a royal way. It’s the best way to find work.


Walid : Didier, your last word.


Didier : what to say after all this. Contribute, because contributing effectively makes it possible to make tools that can last. But it’s also about meeting extraordinary people, I’ll say it again, but it’s about meeting extraordinary people because the people who are in Open Source, almost all of them, are people who have a very open and caring mind and who are really beautiful people to see. So, there you go, it’s good to contribute, but we meet very, very nice people


François-Xavier : And it’s even better when it’s over a beer.


Didier : And it’s even better when it’s over a beer.


Walid : That’s what you have to remember from this episode. I’m going to make my conclusion too. It’s a great emotion to have Didier around the table. We’ve been discussing this episode with OCS for some time. And I said “okay, but there has to be Didier around the table”. It seemed super important to me. Because first of all, I didn’t have the whole story of the project and I really wanted him to be there to talk about it. So, it makes me very, very happy.

Then, I fell back into things that I had forgotten a little bit and everything. It always does something. I now remember those evenings around beer to discuss. Well, in short, lots of stuff. Or other evenings that I was told about over beers or that I wasn’t there too.

My conclusion is that in the age of AI, where we have to code fast and where we wonder what humans will continue to do, without wanting to encroach on the future episodes of my friend Raphaël in the podcast, in the age of AI, we can code everything quickly and that we are superhumans, people who are there, communities, people talking to each other, going to drink beers, in fact, that’s what Open Source is all about. In any case, as we have known it. And I really believe in it. And I hope that it will stay that way and that we will have other projects that have been there for 25 years and that will be there for years to come and that we can count on. It’s super important.

So, in the podcast, we’ve already talked about it and we’re going to continue because, one, it’s the story, we have to tell it and then, two, it’s super important to see that the projects are there, they evolve, they are rewritten and everything. It’s part of the cycle of things.

That was my conclusion. Thank you very much to all three of you. I’m really glad to have you. For the listeners of the podcast, if you don’t know OCS, I invite you to watch. The history is very rich. Once again, what I would like to say in conclusion is that in order to prepare this episode, of course, I looked for my sources. And, as usual, the only sources that remain from this entire period are LinuxFr.org. So it really makes sense that Projet Libre has become the podcast of LinuxFr.

Sharing this episode, watching OCS and then the three of us, I hope one day to have the opportunity to meet you again over a beer to talk about the good old days and the future of OCS and the future of ITSM, that’s it. See you soon with great pleasure.

Didier: thank you Walid.

Gilles: See you soon.

Episode production

  • Remote check-in on 8 April and 7 May 2026
  • Plot: Walid Nouh
  • Editing: Walid Nouh
  • Transcript: Walid Nouh

This interview has been automatically translated from the original language into English.

License

This podcast is released under the CC BY-SA 4.0 license or later

, ,