Sommaire
- 1 Interview with Laurent Destailleur, from AWStats to Dolibarr
- 2 Introducing Laurent
- 3 The discovery of Dolibarr
- 4 The beginning of contributions on Dolibarr
- 5 Structuring the community
- 6 The project’s governance mode
- 7 Services on Odoo (and competing ERPs)
- 8 Dolibarr and no-code/low-code
- 9 Dolibarr and SaaS / Dolicloud Platform
- 10 The future challenges of the Dolibarr project
- 11 Op-Ed: Final Words
- 12 License
Interview with Laurent Destailleur, from AWStats to Dolibarr
Walid : This week and for the first episode, we’re going to discover Laurent Destailleur. Laurent has been a committed player in free software for many years. He is the author of software such as AWStats, which had its moment of glory before Google Analytics came along. And he is currently the maintainer of the Dolibarr ERP. But that’s not all.
Laurent and I have been colleagues and I was already using AWStats and Dolibarr before I met him, so it’s a pleasure to have him with me. Hello to you, Laurent.
Laurent : Hello, it’s mutual.
Introducing Laurent
Walid : Can you introduce yourself, tell us a little bit about your background and when did you become interested in free software?
Laurent : So you said it, I was Laurent Destailleur. I am known in the free software world as Eldy. I’m a ch’ti, originally from the North, so I’m from Villeneuve d’ascorbique, I studied there, in an engineering school in Lille called ISEN. And right after my university studies, my training, I then moved to Paris to start a career in IT, because that was really what I wanted. I have worked in the world of service companies, various small companies, then larger ones.
I learned my trade as a developer, then a project manager, then a director, etc. And then I switched, I became an entrepreneur. So that’s for the professional aspect.
But in parallel with all this, I also worked in my free time and out of passion only and on a voluntary basis before it became my activity today and I made a living from it. I dedicated myself to free software. So at first I didn’t even know what free software was. I think that from my first lines of code, when I started to make my first little programs in basic, etc. I already wanted what I produced to be used by everyone. So there was at the time, we were in the 90s, even a little bit before, there was already the notion of shareware, but the notion of free or open source was something that we didn’t talk about yet, it wasn’t yet widespread, the movement wasn’t yet well structured. So I was developing small applications and my very first one was very much a pain in the ass, it was called Gadget PC and so I put it in shareware. You could buy free software like that and the peculiarity is that I have an IP in the software, if you want the sources of the program you can write to me and I send them to you by floppy disk. So let’s say I really started like that, I called it shareware with the ability to get sources.
I didn’t know the name of free or open source software yet. And then, I liked the fact that what I do once, a lot of people can reuse it, I thought that… I just loved it and I kept going. And then during my first computer experiences, I had a need which was, so we are in the 2000s, where my company I was working for, a traditional services company, asked me to make the company’s website and then I wanted to know, to have the stats, etc. I looked for things, there were a few tools that existed but I found their level of accuracy not great and so I decided to make my own. That’s how AWStats was born. Where I made my first big software, big success let’s say.
A big hit, yes. In 2006, at the peak of the software’s success, there were 80 million websites. So today it’s funny because we have a lot more, but out of the 80 million, an American university had estimated that there were about 30 million who analyzed their statistics and reported on the use of websites thanks to this tool. The success gave me confidence in the model because I actually really developed all this, but I made the code open access, so in the 2000s the open source movement was structured, there was already the notion of licensing that was known, so I decided to distribute it in GPL license, so free to use, free to modify, free to distribute. And like that, I had people who then came to me from all over the world, I made a small improvement, etc. And so it reinforced my vision that offering code, giving it to others, was something nice because in return I also received code.
Walid : For example, what made you choose the GPL license over another license?
Laurent : So at the time my vision of open source wasn’t as clear as it is today, I didn’t have all the knowledge I have today about copyleft licenses, without copyleft, etc. And let’s say it’s simple, I took the most popular one.
Walid : Okay. Simply. Pretty classic.
Laurent : That’s it. So I saw that everyone was doing it, that there were a lot of open source projects under the GPL and so there you have it, I said I’m going to do it in the GPL as well. It had the advantage of having something structured, there was a license, there was a consensus on what we could or couldn’t do with this license. So there you have it, it happened naturally on that basis.
Walid : In the 2000s, how did you distribute your code? What was there as a software forge at the time? Because we didn’t have git yet, we didn’t have all the current platforms yet?
Laurent : No, there wasn’t much. Then there was CVS. I started the first few lines of code simply locally and then I simply distributed it by zip and we downloaded. Then there was CVS, so it made it possible to share the code, directly accessible at any time, with the detail, without the need to unzip, etc. And it made it easier for others to contribute. It wasn’t the big deal yet, since the principle of contribution on CVS is that we made a patch and then we sent the patch to the maintainer. So I was getting patch files to improve the AWStats software. We didn’t have any stats, so I did another open source project called CVS ChangeLogBuilder, where we could, for the sole purpose of making statistics on CVS usage. So it allowed me to see who contributes, when, evolution, at what time of day, etc. So this was my second open source project, which was a little less known since CVS quickly gave way to SVN, so something a little more evolved. So I switched to SVN, AWStats, I don’t know what year but hey we’re going to say maybe 2005 2006 something around there to have something a little more efficient and that’s it and in parallel so all this from AWStats the adventure started in 2000 the product still exists but it’s not very useful anymore because there are really alternatives that are more recent and then that’s it if we want to make a list of stats everyone is rushing to Google Analytics these days, but there are much nicer free solutions, such as Matomo.
The discovery of Dolibarr
And so the adventure continues, but let’s say it was still… It took up a lot of my free time, between 2000 and 2010. But at the same time, in 2002, I started working on Dolibarr.
In another language, AWstats was done in Perl. I chose Perl that way because it was a language that seemed very fast to me. At first, I didn’t think AWstats would be the product it has become.
I just wanted to do a quick little thing for my own need. And I also always had the same, out of passion, I also made websites. First a site for friends, etc. And then I ended up creating a consumer website that did quite well, since it became one of the first mainstream websites in its field, so a site about dogs quite simply, so it’s called chiensderace.com. The goal was to satisfy the passion for web technology, to discover the web etc. As it worked well, I was asked to advertise, I was asked for services and then I felt that there was a way to charge for some small interventions and then to get some pocket money and so I had to create invoices to do it in a clean and professional way and so I looked for a tool in the free world to start making first invoices. I didn’t find much, I found Dolibarr which I liked because it was in PHP so a very easy to use language and which had a philosophy and which was also in free license.
So I knew I could change it. And so I started working like that in 2002 on Dolibarr, which is not a project, so I’m the initiator. It was Rodolphe Quiédeville who started this project, but we can say that at the beginning it was really just two or three screens. I make an invoice and then I generate a PDF. I first discovered how to use this product, then I wanted to improve it for my own needs and then I made so many improvements that Rodolphe very quickly asked me to take the liter on the project.
Walid : How long ago was that?
Laurent : So we’re pretty much in 2004-2005. So it was almost two years later that I started contributing to the project.
Walid : And what does Dolibarr mean?
Laurent : So Dolibarr doesn’t mean anything in particular, it’s Rodolphe who chose the name. So there is still a meaning, an origin, it didn’t take it at random. Rodolphe has done several open source projects, he likes to give names of female characters, to be inspired by names of female characters to be able to make the name of his open source projects. And in this case, Dolibarr comes from the contraction of Dolores Ibárruri. You’ll see her on Wikipedia, she’s a Spanish revolutionary, best known for her phrase “¡No Pasarán!”. There you have it, and so Dolores’ “Dol” is Ibárruri’s “Ibarr”, quite simply. But there’s no other meaning than that.
The beginning of contributions on Dolibarr
Walid : You’re starting to contribute to Dolibarr. So one thing that I find quite interesting to explain is how you get there, especially at the time, there was no Git yet, it wasn’t so easy to contribute. What is your state of mind when you start contributing to Dolibarr?
Laurent : So when there’s no Git actually, at the time you don’t know that Git is coming. You don’t realize that contributing to an open source project is complicated. Today we say to ourselves, but it was super complicated at the time. But in fact, at the time, we thought it was normal. For me, I was thinking about working on Dolibarr when I made my first modifications, my first improvements. It’s simple, I’d start making small patch files, I’d do what I received as an author on AWStats, and I’d send my little patches to Rodolphe.
Walid : So you had a mailing list? Did he have a mailing list?
Laurent : Honestly, I don’t remember, I don’t think so, if it was maybe, otherwise it was a simple email. It was a simple email, if we didn’t have a mailing list, we did simple email. And then little by little, at the end of the first contributions I think that Rodolphe must have given us the access rights, in the meantime we had to switch to SVN too it seems to me, I admit that my memory is a little lacking on the very beginnings, the origins of the project, but we had to switch to SVN and then I had to contribute by pushing on SVN, Which means that the tools at the time were not decentralized as we say today, which means that in fact we had to have the rights. But there were very few of us working on the project, so Rodolphe started to give me the rights I think, and then I started to do little pushes as soon as my first contribs by email were satisfactory. From the start, Rodolphe had a free license, a GPL license.
Walid : From the beginning, he wanted to make a community tool?
Laurent : Yes, right of the way, that’s his philosophy, it’s mine. I make code right away, I give it back to the community. I’ve always found it frustrating to work, to develop, to make code, it’s a job, and then to say to yourself, it’s only useful to me. I’m doing a little treatment, I need it once, I’ve spent an hour, I’m doing my thing, I’ve solved my problem, well here I find that the return on investment is catastrophic when you make code for yourself in fact and as I hate wasting my time, that’s really one of the driving forces that motivates me, I can’t do the same thing twice, I can’t, I don’t like to mess up, I hate waste. So for me it was natural, I make code, I give it away because at least it’s useful to someone else.
Walid : So quite quickly you start to become a bit of the main maintainer Dolibarr?
Laurent : Yes, very quickly. Let’s say very quickly because as soon as Rodolphe saw that I was contributing a lot to the project, he immediately let me take control of the project, so I became the main contributor, I became the project manager. And at the time there weren’t many of us, there were 4-5 of us. And so he told me “I’ll give you carte blanche on the subject” quite simply.
So I tried to guarantee the spirit of the project, the spirit of the project was GPL that will continue, but also to make a software, a solution that is simple, accessible to everyone because that was the idea of Dolibarr, that was what I liked at the beginning.
And when I looked, in my professional activity, I was working in service companies. So in service companies I was working on ERPs, I touched a few of them, I worked on Oracle, I worked on SIEBEL, I worked on some that I can’t even remember the name of and frankly they were gas plants to do things that are the same for everyone actually. So it annoyed me the idea of having a simple software that anyone could use without having to pay the entry cost which was colossal, it’s a little less today but at the time it was really colossal to have an ERP and just make an invoice in PDF it was very very expensive so it annoyed me for me it was obvious that I was going to give in open source.
Walid : Can you explain in a simple way in a few words what we can do with Dolibarr?
Laurent : At the beginning my need was just to make invoices so that was the historical strain of Dolibarr, simply make invoices and generate a PDF. And then we had to manage customers, manage suppliers, so we made customer invoices, we started to make supplier invoices, then we had to make quotes before the invoice, manage orders. Then I needed to manage the stocks and so let’s say all the functionalities that we synthesize under the term ERP and CRM today are integrated into Dolibarr.
So the functions of the customer relationship, the ticketing, the quote, etc. All you have to do is sign your quote online, they are integrated. And then the more hidden part, so the inventory management part, invoicing, but also the HR part which came next along the way. So to be able to manage its employees, manage expense reports, manage its leave and we will say that to summarize today all the needs that a company has to manage its company are integrated today in Dolibarr or will be integrated because there are always things that we can add but we already have today if we take a company at random in France, we know that Dolibarr will already meet 90% of the company’s needs in terms of information system.
Structuring the community
Walid : It’s very broad, having used it effectively we can do a lot of things and on top of that, it continues to evolve, I’m thinking of all the production, website etc. This is something I will get to a little later. I’d like to come back to the community part, I’d like you to explain to us a little bit how when you get to 4-5 people and how you structure the community, did the experience you had of community animation on AWStats help you on Dolibarr? How did you structure this and how has the community been structured now between the people who contribute, let’s say in a somewhat voluntary way, the people who do the work on the side, you, how is it organized on the project?
Laurent : The experience I had on AWStats, it didn’t necessarily help me much, it just allowed me to discover what the open source world was like, learn the vocabulary, learn, discover the tools, etc. But I haven’t really built a real community with AWStats. Because actually, in the end, it was a lot of unitary contributions. So there you have it, it was a one-shot. I made you a correction, I have a bug, change your plan, see.
So it was a lot of people, there was no recurrence in the people who contributed. So you can’t call it a community, I didn’t really have to create a community, let’s say it’s more the success of the software, the fact that there was nothing on the market, the fact that AWStats met a need in a rather nice way compared to what was being done at the time, There was a membership, there was a growing number of users and with a large number of users, I had a lot of contributions but I didn’t work to improve the community.
Under Dolibarr, it was different because I really wanted to attack the behemoths, the biggest, and say we’re going to do what the big guys do and what they sell for 2000 euros per person, we’re going to do it for free. And so, we can’t do it alone because we’re on a much more complex scale, on a much wider coverage and so we had to federate, so that’s really the important word is federating, that is to say finding people who agree to propose code to improve Dolibarr but not only for a simple need for them but to I mean on a regular basis and to do in so that they do it for an interest that is that persists over time. When you do your flight locally, you have done your flight, you have submitted and then you have your little improvement, you don’t need to correct anymore, you don’t need to work.
So what was needed was to create an ecosystem that is economically viable, that is, people living off Dolibarr and making money from Dolibarr. From there, if we say to ourselves that if an ecosystem, people make money, they have an interest in the product improving and they will become regular contributors. And that’s been the very complicated part, because we start with 4-5 people who contribute on a voluntary basis to just advance a life path and then say well, here we are, we’re doing something free and then we offer a software that is free to everyone and we’re doing good, we’re going to say to the community, To all those who don’t have a budget, who don’t have the means, that’s it, in a world where we are hyper-industrialized. So that’s complicated, the first one is promotion, you have to talk about it, you have to talk about it, you have to make people discover it, because if people don’t expect it to already exist, the probability of it taking off, zero.
Once people knew it existed, I made news, I posted, I talked about it in forums, on websites etc. Once people start to hear about it, or at least a small segment of the population among developers, I would of course target sites related to development or free software, once this population discovers and knows that it exists, it doesn’t mean that it will take. So we have to make sure that there is a certain level of quality in the software so that people, the first thing people do is that they will test it and if by doing tests they are not convinced, they will not say I will contribute. So we had to improve the quality aspect, make sure that it settled in very quickly. So right from the start, one of the first big features that is now a strong point of Dolibarr compared to all its competitors is its installer and its ability to upgrade and it was integrated into the design of the software, there were a lot of procedures to be able to install very easily. So I brought a strong point to the software which is, I want to see what it is, at the time there was no SaaS so we can’t test it very quickly. So what people were doing was they were downloading and launching the .zip.
So we needed a solution like that. So I first proposed a .zip where you just had to unzip it in a web server and then everything was done automatically. And so now, people who can already test in 15 to 10 seconds, they already have a positive preconception, because unzipping it was almost operational. And so there I removed a first barrier, it allowed us to already have some contributors, some developers who were able to use it and we went from 5 to maybe 20, 30 people contributing.
So the next step, once the product could be installed easily, is to make sure that there is a learning curve that is not too steep, that is to say that people, they have installed the software, they have to be able to use it right away. And that’s also something I’ve worked, which is to make sure that from the start, you understand how the software works without having to read documentation, without having to be trained by someone else. And so that’s also become a strong point, and it’s in Dolibarr’s DNA now and it will remain so, is that the application has to be very simple first. You have to be able to understand and find, you want to do something, you have to get there without necessarily reading documentation, just by reading the menus or seeing what’s on the screen.
That’s one of Dolibarr’s strong points. That’s it, and so that’s the second area I’ve been working on quite a bit to improve the tool. So there was already a base at the beginning that was good, but you always have to do more so it’s a lot of little things, we add tooltypes (Editor’s note: tooltips) to explain what it’s for, because sometimes a simple label of a column, we have a doubt, the user has a doubt, it’s not good, we have to remove the doubts, we have to remove the time that the person has to search, so that was the second axis, which again makes sure that the first impression of those who use it is good, and say to themselves it’s worth investing in this software.
And finally, there’s a third area that I’ve been working on, but it’s all in parallel, it’s been tooling. That is to say, the tools to federate a community. So the setting up of the mailing list, then the setting up of a wiki, to do documentation, to describe things, then the implementation, so of course when Git arrived, the move to Git. There was an IRC channel but it was very little used, it was mainly the mailing list that worked.
Walid : For those who don’t know IRC, it was a free system that actually allowed you to do instant communication, a bit like an ancestor of slack, a slack of the time
Laurent : So it was a lot per mailing list.
Indeed, I had also tried that avenue. Next, a website. Because the project has to be presented. The first thing you do as the Internet develops, when we talk about something, we go to the website to get more info. So we had to create a website. So there you have it, I had set up a… I don’t remember what CMS was.
Walid : A SPIP ?
Laurent : I don’t even remember, you know.
Since then, it has been replaced by Dolibarr itself, which also makes CMS and websites. A Joomla, that’s it.
Walid : The contributors who started working with you were mainly, mostly, at the beginning, French speakers?
Laurent : Initially, I did everything in French. When I referenced Dolibarr, I also put it on small English sites, etc. You have to see that the basis of the code, at the beginning, the code, the names of the variables, everything is in French.
There’s still a bit of French lying around. And so the official language, in a way, was French. And to start with, it was easier in my natural language than in English, which I don’t master as well. So it was in French. The same goes for the sites that talk about open source, that talk about computer science, the French, I knew them, the foreigners, I didn’t know them well. The software has started to gain credit and little by little people are starting to contribute.
There is a point where the project becomes mature enough to say we can sell it to a company, we can make a business on it, there started to be contributors who often have small independents who started to offer to their clients and to make a living from it in fact. So not Dolibarr alone, at the beginning it was I offer Dolibarr but I also sell websites, I also sell training, etc.
And so it’s all a whole. When all this happens, we must continue to rely on a simple installation, simple software, and tools that are adapted so that people get into the project very quickly. So the tooling has evolved and another basket that has been crossed with the arrival of Git.
Walid : the first people who start performing because it’s a subject that interests me because for listeners, I was working at the time on a free software called GLPI which was also a community software and on which there were… At some point, the software became comprehensive enough for people to perform. At the level of the association that managed the project, we started to think about mechanisms that allow people to provide services but at the same time to be able to contribute financially to the project in addition to making contributions. I guess at the time it wasn’t your job either and people have to be able to make a living from doing services but it also has to make something for you in terms of the project, right?
Laurent : Frankly, I never imagined that one day Dolibarr would bring me something.
Walid : It was really a passion thing that you were doing on the side because at the time, at that time, what were you doing?
Laurent : I was in a service company, I had a job. At the very beginning, I was in a service company, I became a project manager and then I joined a large, large group, a large mutual insurance company where I had several management positions.
So it was all volunteering. The idea of making a living from it came very, very late. So we’re still a long way from the time of switching to git. That was still the idea, it was still to make it easier to contribute. But unlike you, there was no goal to make sure that I could make money from it. So I continued to do everything on a voluntary basis and so there’s no donation system or anything. Especially since the experience I had with AWStats on donations, because AWStats on the other hand, as it was a software that was known internationally, I allowed donations to be made and I realized that donations came almost exclusively from Anglo-Saxon countries.
When it was French, it was Canada, but from France, people consumed open source, but it was not in the mentality, it may have evolved since then, but it was not in the mentality to make a donation at the time to support an open source project. The idea was to continue to offer, and I had more this desire to fuck up, excuse the expression, to the big behemoths who were taking their customers hostage with policies of increasing prices all at once, mandatory version increases when there was no reason. That was more of a motivation. Make something that is used by everyone. I’m always in the idea, I do a little work and the whole planet benefits from it.
That’s always been my main motivation, including when we switched to Git in the late 2010s.
Walid : switching to Git, important moment, since it makes it easier to contribute, since you don’t need to be the right person who has commit rights, otherwise I’ll send a patch. What does it mean for you?
Laurent : The amount of work I’m able to integrate from others is tenfold, because in fact, to integrate the work of others, you just have to click a button. We look at what he’s done, we validate and we click.
Where before there were manipulations, there was manual work to be done systematically. So it was quite complicated. So contributors haven’t necessarily, the number of contributors hasn’t necessarily increased. On the other hand, the number of contributions during the switch to Git, it has clearly exploded. It was also easier for others to provide a contribution, since they just had to do Git push and then create a merge request.
They didn’t have to make a patch file, zap it and send it, or to make it simpler, they had to get the rights to the code, and the problem is that we’re starting to be too many, the rights to the code is that everyone is doing code in their own direction, and well, we have a screen that improved in one direction, then another that is in a different direction. other. Each screen is usually a little simpler to use but with a different ergonomics so for the end user it’s more complicated.
The project’s governance mode
Walid : that brings me to a rather interesting question which is the vision, let’s say, the really produced vision of this, what is the, I was going to say, so especially since passages to Git where there are more and more contributions, what is I going to say the mode of governance in fact, which manages the coherence of everything and how do you discuss with the other contributors the evolutions at the level of the project?
Laurent : What you need to know is that there is a desire from the outset and that is always maintained, which is that the project remains a community project. Even today when there are many companies that live in its Dolibarr, there is not a single company that is a leader on Dolibarr. The code, and the governance of the code, is done around git today. And when Git came along, we could improve the code, but we also have other tools that arrived at the same time as Git, which are also integrated into GitHub, because when I say that we switched to Git, in fact we switched to GitHub, it’s because there’s the issues system, the PR system, And so that became the tool with which we were going to exchange, with which people were going to be able to propose improvements, with which we were going to be able to discuss, exchange, refuse.
And governance today is a bit special on this project because in fact we are not a project with a roadmap. We’re not a company that says, look, I have 10 developers, I have such and such a budget, I’m going to do this and this event, this one is going to do this project, this one is going to do this project, and it fits into the budget and I did it. Because I have the budget to do that.
I’m more in a state of mind where I’m waiting for contributions. If someone sends me a contribution to make an improvement, something, it’s not necessarily something I expected, but if it advances the project, if it brings something to the project that interests the vast majority of Dolibarr users, and therefore that interests the vast majority of companies, it’s integrated. That’s the rule. So of course it has to meet certain qualities in terms of code etc, but the roadmap is made in relation to the contributions that come in.
And so, to answer the question of governance, in the end governance is a bit simplistic, since everyone does what they want and proposes what they want. The only point of validation will be the integration of the contribution into the official project, and here it’s simple, it’s me who presses the button to validate.
Walid : yes that’s right, so you’re the person who has the overall vision of the thing, well on Dolibarr there’s only one maintainer, it’s you, right?
Laurent : So no, I’m not the maintainer, I’m the merger, let’s say.
Walid : Okay, okay.
Laurent : maintainers there are plenty of them and maintainers are those who will improve, who will correct, who will even when a contribution is made by Dupont, Durand will respond by saying you would better do than this, that, it is better to use your function to share the code, you have another simpler way of doing it, cleaner, etc.
It’s the maintainers, but it’s not me, it’s the community today. I’m going to say that it’s really limiting my role to that of referee, they’re going to say that I have a right of veto, but that’s the end of it. The rest is really done by the community. And as soon as there’s no rational argument for refusing, we’re going to say it’s going to fit. This is the reason why the project evolves very quickly and there are a lot of features coming into the project.
Walid : What you’re saying here brings me to the other question, what is the structure that carries the project? Is it an association? What’s on it? What’s that?
Laurent : There is indeed an association that has been created. Always the same, as I mentioned earlier the need to provide tools to federate and bring in as many people as possible, among these tools that I did not mention, there is the creation of an association. The goal is to have legal status. So it’s more serious than saying it’s an open source project where there’s absolutely nothing. As there is a desire to ensure that the code remains on a community governance, anyone can contribute, anyone can submit and the only validation there is is on the quality of the code rather than on the roadmap, on what it does etc. The association, so I co-created it with a few other people, but this association when we created it we defined a role for it which was only to ensure the promotion of Dolibarr, so it has no role in code and development in the IT sense. It has no vocation, development in the marketing sense.
Walid : For example, it doesn’t have a vocation to receive funds to pay full-time developers, for example, one day?
Laurent : No, today it doesn’t have that vocation. The funds that the association receives today are for promotion, advertising, organizing events for people to meet, making flyers, mono cackles, that kind of thing.
And insofar as in its statutes it is clearly stated that its role must be limited to ensuring the promotion of the software, when it finances development, because it has sometimes financed a little development in Dolibarr, when it does so, it does so in order to improve a tool for its own internal management, in order to remain in line with its objective, which must be limited to the production of Dolibarr. What scares me a little is that an association, we see it in France, it is carried roughly by its office, which makes an association dynamic or not, it will often be the office or board of directors that is dynamic or not. However, an office is renewed and I have seen many associations that were very dynamic, very active, very popular, and then simply by changing offices because there is a renewal of the president, the treasury, etc., find themselves in an association that is almost dead.
So that’s not the case with the Dolibarr association, but it’s a risk that was scary, and so that’s why we kept this separation in the association’s statutes, so that, let’s say, in the end, it only brings a plus to the project, but it doesn’t call into question the risk of its dynamism on the code aspect, Since when the association was created, we already had a strong dynamism, there were already enough contributors on the project. We may have reached the point of no return in terms of coders, developers. There is no reason to disrupt this functioning that works.
Services on Odoo (and competing ERPs)
Walid : It’s becoming more and more rare to see purely community-based projects, not on models that are now more like open core or other models with funding, with a company that will actually manage the project and that will more or less collaborate with communities. We’ll talk about it later, I just wanted to talk to you about Odoo, for example.
Laurent : There are a lot of projects like that.
Walid : yes that’s why, that’s why I found it interesting in addition to starting with you the podcast series because precisely that’s a pretty strong feature of the Dolibarr project and so it brings me to another question which is me when I knew you we worked together in the same company at Teclib, you were doing service on Odoo if I remember correctly, you were also doing a bit of Dolibarr I think for our internal needs, what did it bring you to work on competing ERPs for the development of Dolibarr?
Laurent : already before working on Odoo, at a time when I continued to work on Dolibarr on a completely voluntary basis and for not a single round, we are therefore at a time when I had already worked on other ERPs long before Odoo, as part of my activities as a service company.
So I already had a vision, I already knew how to manage inventory, what a manufacturing process is, all those things. I already had a very broad vision of ERPs, of what can be done, of how it should be done, because I have already been confronted with problems with an SAP, we had to make 50 customers to do such an operation, I never understood why. I’ve had to meet the needs for simplification clients before, so I’ve faced all of these issues before. All these ERPs that I’ve encountered in my career, ERPs but also other fields, CMS, I’ve touched a lot of tools and so it has allowed me to be as close as possible to the users. It’s not the fact of discovering the products that has brought me a lot, it’s the fact of being at the side of the users and their problems that has brought me. By telling me we have such and such a tool, it’s complicated, we can’t do that, we want to do it more simply, etc.
And I already had a lot of experience with the other products. When I switched to Odoo, the difference was that this project was open source. At least I thought so, it’s not quite open source anymore. It’s open core, that’s it. We’re going to simplify things by saying it’s open core. So there’s still a full open source version, but it’s called Odoo and I’d call it Odoo Community. The problem is that it’s also called, but it’s not the same software, it doesn’t have the same features, it’s not the same governance, it’s not the same people working on it, even if there’s a core that’s common. So we’re going to simplify things by talking about Odoo’s open core. So there’s a part that was open source. So that was the difference.
But in the end, apart from the fact that it simplified things when it had to be upgraded, the fact that it’s open source, I had an easier time saying well, that’s too complicated, we would have to simplify this step, I have to do without SAP, it costs you two months of work.
On Odoo it’s ten times easier, because you can touch the code on the core, and when it’s a simple modification in the core, you touch, you make your little module, your little extension, etc.
But the problems were the same in the end, the product has a façade, it has basic functionalities and when you enter real life, when you want to use it for real, you realize that what has been wired by default is not the user’s need and therefore you have to do something else. And so it’s more these user experiences that make me try to make sure that we don’t find them in Dolibarr, let’s say these bad user experiences, by doing things that are often more open because often ERPs have a closed philosophy: there is a workflow that is defined, there is a process that is defined and if we want to get out of the mold it’s complicated, we call on a developer, even if some call it parameterization. That’s something I’ve always stood up on, configuration when you have to have done five years of computer science to be able to do it, I don’t call it parameterization, I call it development. Yes maybe it’s config files, yes maybe it’s XML files, Python files, whatever you want, but it’s not parameterization.
Whereas the idea is that really to make sure that what others offer through ultra-advanced parameterization, what I call development, is that we can do it through real parameterization, i.e. mouse clicks.
Dolibarr and no-code/low-code
Walid : I work on no-code technologies, and so in fact we hear a lot of this speech from people who will say listen to your ERP listen for 300,000 euros I do the same thing to you with no-code you are completely stupid to take an ERP all that. I’ve always taken a dim view of that because I think a tool is, but if it exists, it’s because it has a need, but you certainly have a need for integration with other tools, so in fact, what you’re saying there echoes that a little bit too, which is good, well, there are features, it shouldn’t be code, so I’m going to do some real settings on it. Because you don’t have to be a computer scientist. And then, I know because we’ve also discussed it that all these no-code issues are also something that you tend to look towards and that seems interesting to me. If I look in my community, which is the community of people in startups who do no-code, Dolibarr is totally unknown when in fact it would have its place, it could very well be used and integrated with no-code tools.
Laurent : Indeed, in the idea of making the application simpler, more accessible, making sure that it is open to everyone and that you don’t need to go through the box of an IT company to then be able to customize your software as you want, there is the idea of access by removing the workflow which was monolithic, that is to say by being something more open. I’ll take an example, on most ERPs, you have your quote, with your quote you convert it into an order and your order you convert it into an invoice. I’m a small company, I want my quote to go to direct invoice, or I don’t want to make a quote, I want an order and I want the order to go to direct invoice. So all paths must be possible. And so that’s it, these are things that have made Dolibarr evolve, that make us open, in terms of default wiring.
That is to say, you can do a little bit of everything, and it’s more the way you’re going to give instructions to your employees or the way you’re going to decide yourself if you’re the only one to use it, it’s this way that will determine the workflow of the software, what you’re going to do. But we make sure that all paths are possible without too strong constraints, even if it means adding blockages while most of the ?? Versus?? have an opposite philosophy, that is to say that there is something monolithic that is very secure, very shielded but which is also very blocking for most uses, which means that for standard use cases it does not work and it must be evolved. So this is a first point towards which Dolibarr has worked a lot for many years to be easily accessible and then to get into the mood of the maximum number of people without the need to do any specific development.
And the second point you mentioned is that despite this, we may want to do even more and go even faster, if only for example to have features that don’t exist at all. And here we get into, let’s say, first of all on low code.
So low code, no-code, low code, we’re going to say we do very little code. And so Dolibarr, for now, we’re in the era of low code, we’re not yet in no-code. So low code, which is to say that we’re going to generate, we’re still going to have to put a little bit of code. That is to say, we’re going to have tools, with the mouse, we’re going to say hey, I want to manage your notion, it’s characterized by this, by that, I want there to be such and such an API, etc. And the app is going to make code. And we’re going to have 90% of our needs for the application, the code that’s made. And the developer still has to make the missing 10%.
But it’s not operational 90%. That is to say, there is still a developer who must then… But we’ve got code generation.
Walid : I understand, where do you offer it, code generation do you offer?
Laurent : So I’m offering it today in a specific module called Module Builder.
Walid : Okay.
Laurent : So Module Builder is a tool where you describe an application you want to make, what you want to get, what data you want to manage, and this tool will generate the code so that all these features are integrated directly into Dolibarr. That’s if you typically want to buy back the extra features.
Walid : Often what we’re going to do, and I, for example, often do, was I used no-code to generate transfer orders, for example. Interfaces. To really remotely control what you’re currently doing with the Dolibarr APIs. And so actually, basically, it’s integration with no-code market tools. When you talk to free software projects, the answer is always the same, it’s that you have APIs, you can do anything. Yes, but the reality is that in fact, your user who doesn’t know your API, who doesn’t know how to code, it won’t do them much good. On the contrary, it must be the free project that makes the step towards no-code tools to offer native integrations and make sure that your Dolibarr is accessible in your list like Gmail or any other tool, which makes people just have to click and automatically people will say “Oh yes, Dolibarr is supported, oh well it’s great, I’m going to use Dolibarr” you know?
Laurent : completely, so that meets another need indeed, when I was talking about the Low-Code tool that is now integrated and available in Dolibarr, it’s really more to develop a complete application, a completely unrelated need, a niche application that doesn’t exist, where effectively the application will manufacture everything, the database, screens, etc. All the code is generated, but the generated code is not enough. The developer must then admit the few business management rules that are specific, the few specific constraints. So there you have it, hence the term low code. But that’s evolving towards no-code, that is to say that we will be able to make the application, two weeks later, we want to modify it, fix it, we come back to the module builder tool, we fix it and we will really be able to manage an application from scratch from A to Z.
So that’s something that should be released soon in the next Dolibarr versions on this aspect. The aspect you mention, indeed, we are more about integrating Dolibarr with other apps, making interfaces, doing exchanges, synchronization, piloting, triggering automatic actions, that kind of thing. Here we may indeed be going for automation tools. There is already a small prototype that had been made compared to Zapier, so a small feasibility study that was a small module that was being tested in Dolibarr.
And there is currently a project that is being led by a team of 7 students, the Automation team, so I salute them by the way if they listen to me, who are working on a project that consists of studying the automation tools on the market, so the Zapier, the n8n, make, IFTTTetc. and then try to integrate them, to make sure that Dolibarr is natively integrated into these tools. So this, this project, it’s ongoing, there will be results this summer, with the objective that I want to interface my X or Y application with Dolibarr, I can, simply through the use of these automation tools, connect and make this gateway to the mouse. And so that’s something that’s for me another counterpart, another subject, which is also a subject on which we’re making progress on the Dolibarr subject, because indeed, tomorrow, there will be fewer and fewer developers.
We can do more and more things with the mouse, there’s no photo, the ROI (Editor’s note: return on investment) between doing a project with the mouse and doing a project with code and a developer to experiment with it, there’s no photo.
Dolibarr and SaaS / Dolicloud Platform
Walid : I have one last question, what is the clock ticking, something that I think is quite interesting. Dolibarr is a project that has been around for a long time, that existed before SaaS. Now, when you create a project, the SaaS platform, that’s the first thing that happens.
How did you experience the arrival of SaaS and how did you take this turn for Dolibarr?
Laurent : so when SaaS arrived, actually everyone, there are a lot of applications that arrived in SaaS and we were arriving in an era where people, before choosing software, before they downloaded it, they installed it, they set it up and they used it to evaluate it. Nowadays people, they want to click a button, test it right away and if they can’t even test it, they don’t even choose. So that’s the first thing I saw in SaaS, that is to say if you’re not in SaaS, if you don’t at least offer your software to be tested very quickly immediately in SaaS, your software will no longer be chosen by CIOs, by potential users. So we need a solution, Dolibarr has to be in SaaS. And then again, we’re still in a time when at that time, I didn’t plan to make a living with Dolibarr.
I wanted to solve this problem. So I set up another open source project called sellyoursaas.org which is an open source project whose goal is to make it possible to offer any IT solution, any software, provided that it works in web mode, any case of this software, to be able to offer it in SaaS in a free or paid way. And the whole stack, the whole stack, all the need, the automation, the creation of instances, the deployment, the backups, the updating, the security, possibly the payment if we want to offer this software in a paid way, the invoicing of the customer, its recurrence, the interlocution, the exchange with the customer with a ticketing system in case of an incident, the possibility of having a network of resellers who would then resell the project, all of this has been integrated into a single solution that is SaaS.
So it’s a conglomerate of a lot of open source solutions, but documented by a single doc that allows you to set up this kind of project. You mentioned the GLPI program you worked on a few years ago, today you have to see that the GLPI Cloud solution, it runs thanks to this saleyoursaas.org solution and it was able to be set up like that in one to two weeks, quite quickly, thanks to this solution. And so that’s made it possible to offer Dolibarr as SaaS and allow people to test. And then as people tested it, they started coming back to me and saying, I like it, the software is great, but I want to keep it, I don’t want to install it at home, I don’t know how to do it. And so that’s when the idea came up to say, so I’m going to keep the hosting and then I’m going to charge a subscription to those who want to stay hosted.
And then as the number of people came, I saw that I had a way to make a living from it and then I made the switch, I stopped my job as an employee, I created the company Dolicloud to sell Dolibarr in SaaS.
Walid : So that allows you to get financed?
Laurent : So today, it’s what keeps me alive, it’s what keeps Dolicloud alive. There are also a few employees in Dolicloud now, but that’s what keeps Dolicloud alive. The Dolibarr project always remains in the same mode, i.e. development on the pure volunteerism of each one, there is no funding in the Dolibarr development. That is to say that the funding is in general, if I have a need for my own need, I will do it as a Dolicloud and then I will give it back to the community in the Dolibarr project.
So in the end, it’s my time working on Dolicloud that will have been used, but for the Dolibarr project it will cost a round. I mean, there’s no development funding today, at least very, very little, it’s really anecdotal development funding on Dolibarr. Today indeed my employees work mainly on Dolicloud, on the other hand I have ideas for the evolution of things in the long term on Dolibarr on which I put a few people from time to time as a contribution, but it is in a long-term interest, the more I improve Dolibarr, the more likely I am to sell it thanks to Dolicloud.
But it’s still community contributions and the whole ecosystem today works like that, there are a lot of companies that live with Dolibarr today, but they all have their different models. Today I do hosting and only hosting, others do training, only training, others do custom development, others do assistance, advice, help with the drafting of the specifications to implement Dolibarr in a company, assistance with migration, etc. All of them have their own model, sometimes it’s combinations of all of that. All these companies, when they do something for a client, it’s usually done with the agreement that it’s done in open source and then it’s redistributed and it’s reintegrated into the official project.
Walid : Do you want to have as many contributions as possible that are available to everyone directly in the project, even if there are people who make plugins on the side?
Laurent : there you have it, so there are people who make plugins on the side and then try to base, make a business model on the sale of plugins, especially thanks to the DoliStore platform, we haven’t talked about it but… DoliStore it’s a marketplace, it’s an Apple Store, it’s a Play Store, whatever you want, but specifically for Dolibarr apps. And so this was set up by the Dolibarr association with the aim of giving visibility to all those who make a living from Dolibarr and who make Dolibarr extensions. This allows the one who made a small module for a client, so he did it for his client, he was paid by the client, it’s a shame to throw it away, it’s not necessarily possible to be integrated into the Dolibarr project because it doesn’t meet quality rules, it doesn’t meet needs, it’s really a niche segment that only interests very very few people, in this case there is still a way to capitalize on what we have done, to make sure that it is reusable by others by making it available on Dolly Store. So those who have made these small expansions, these improvements, they can offer it on DoliStore. Offering it on DoliStore is free and you can therefore offer your module either for 0€ or for a few euros in contribution.
And the Dolibarr association takes 20% of the sale, the seller takes 80%. That’s it, but it’s not necessarily a business model that is the most used today in Dolibarr. In the end, it’s like selling a module, so selling code. But the code, as it is under a free license, the one he bought afterwards he can give it to whomever he wants. So it’s very hard to sell, very expensive, this kind of… Selling something expensive knowing that then the one he has bought he can give it away for free to whomever he wants. It’s not a model, it’s completely licensed but it’s not a model that works. So in general, it’s often micro-payments, it’s hard to make a living from this model.
The future challenges of the Dolibarr project
Walid : My last question is more of an openness, I wanted to know what were the challenges and the big milestones to come for the project?
Laurent It’s a big challenge knowing that it’s also a huge opportunity actually because in fact historically we had traditional apps, we had a lot of them individually and when we had to communicate them, we made interfaces: it was development it was expensive, it was complicated as it was complicated to make each other communicate. The apps started, the ERPs started to take apps from one of the ones. ERPs have integrated CRM functions, CRMs have started to integrate ERP functions, these ERP-CRMs have started to integrate CMS functions, websites, online stores, etc. And then now we have another family of needs which is no-code to be able to make an application very quickly, so do something that the ERP is not intended for. Well, there are no-code tools that are starting to appear on the market, so I’m not going to be in the case of automation tools, where most of the tools are starting to be mature, but I’m talking about the case of tools where you have to develop an application from scratch, we’re starting to have a lot of startups that create this kind of tools.
They still have a big flaw today, these solutions, which is that we make an app from scratch in an ecosystem that sucks. However, we, a company, which already has its ERP, which already has Dolibarr, already has a user base that is filled in somewhere. She already has a database of blinds that is filled in somewhere. She already has an invoice database, she already has a permissions database, she already has a lot of things.
And so if we can put the power of no-code into it, make an app, but on top of that, all of this plugs in natively with all these features that are already known to the company, we go even further than the no-code tools that are currently coming out but which are autonomous, which are independent. And so that’s the big challenge because in fact, it will bring the power of no-code, but with the added possibility, I’m making a no-code app, but I need to go and retrieve, to offer in my app a list of users, I already have it.
Whereas in a traditional no-code application, I’ll have to create an interface to search in my IS. Here, we put the no-code tool in the tool that manages the IS directly. The IS tool is already the no-code tool. And so, we go one step further. So that’s a big challenge.
Walid : it’s because it’s partly, I’ll cut you off here, to know the subject well, it’s partly because people have had a lot of bad experiences with ERPs or CRMs, who wanted to do things that they couldn’t do, because the tools, they have their philosophy, they’re made to do something and that finally people say to themselves, In the end it’s faster, it goes faster if I recreate the thing.
It works well at the beginning, the main problem is long-term maintenance, documentation, etc. Anyway, it’s all these side topics that you don’t see at the beginning when you say well, doing my CRM will take me 10 minutes, but maintaining your CRM over 3 years, 5 years and having shared the knowledge, transmitting the knowledge, that’s what’s a little more complex. But hey, that was an aside.
You do mention the documentation part, that Dolibarr’s no-code tool will generate the documentation for you. So that was one of the challenges, do you have any more to come?
Laurent : yes, so then the other challenge is the one that everyone is talking about at the moment, which is artificial intelligence, which is very promising. There is already a developer who has proposed a plugin for Dolibarr to exploit the power of chatGPT in order to do querying, reporting with natural language querying.
That is to say that the person wants to make a report that is not necessarily planned, that he does not really see how to do it because he does not have technical knowledge on how to structure the data in the database, he types on the keyboard, takes out the list of customers who have had at least one invoice in the year 2017 and then the app takes out the list. So that’s a small plugin, there’s been a Proof of Concept (Editor’s note: prototype) that has been made, which already works quite well, enough for us to know that it’s going to become inevitable. The results are very, very convincing. So that’s going to be a challenge as well, but I’ve taken this example of querying. But if we add to the no-code function that I mentioned, it’s because tomorrow, it’s the no-code tool, we’re not even going to drive the mouse anymore, we’re going to drive it in natural language. That’s yet another challenge that’s in the works. So that’s a second challenge.
And the third one, let’s say, is more of a challenge, so we’re more about challenges, future, recent things. But we have one that is permanent on the Dolibarr project, which is to manage to keep a software that is simple, cheap, with a learning curve that is almost immediate, with the number of features we have that continues to increase. And that’s a constant challenge.
Walid : Basically, if I reformulate, it’s how not to generate, or how not to generate or absorb the technical debt that you have on a project like Dolibarr?
Laurent : yes, so the technical aspect is mainly about the code aspect, but I was talking about it live too, but I was also thinking about the functional aspect. How to keep adding more features, how to provide more and more services because it’s the natural evolution, that’s the competition, it doesn’t wait. How can we offer more and more services without jeopardizing the current philosophy that makes the software very easy to use? Today, we know how to do a lot of things very easily, but every time we add something, we run the risk of complexifying it, turning the software into a gas plant and finally becoming the same ERP as everything else on the market today. And so if the challenge is not to look like what others are doing and remain one of the ERPs, if not the simplest ERP that exists today on our channels.
Op-Ed: Final Words
Walid : Listen, we’ve come to the end, I’d like to let you conclude. It’s the Tribune Libre that has a message that you want to get across, whether it’s about Dolibarr, about your contributions to free software. There’s a lot of stuff we didn’t say about Debian packaging, all that, but anyway.
Laurent : yes, we could do a lot of other streams, because indeed we did a lot of shortcuts, a lot of experiences in the open source world that I lived, in particular I didn’t talk about failures, I talked about AWStats, I talked about Dolibarr, but I didn’t talk about failures.
I get my kicks out of making free software, I think it’s a really wonderful universe, when you manage not to fall into the traps, because in free software, today it’s become industrialized, it’s become very commercial. If we manage not to fall into the traps, we can make a living from them. It’s true that it wasn’t my goal at the beginning, I did it in parallel because I loved it, but I didn’t think that one day it would be my main activity, I would only do that, because today I only do free software. I think there are other experiences and today the world is open so that we can succeed in having complete businesses and live thanks to free software.
So if you’re passionate, be patient, insist. Years have passed between the time I started Dolibarr and the time I have a very satisfying lifestyle today. Be patient. But I’m convinced that free software has a huge future. There is a way to wait because for me the point of my return to free software has been reached. We will have more and more of them. And this is the model that is going to dominate more and more so please don’t invest in the owner. That’s what a good last word.
Walid : Laurent, thank you for making the opening. That’s a good closing word.
Laurent : Thank you for finally covering this subject in podcast, which is very little, too little covered.
Walid : That’s the end of this first episode. I hope you enjoyed it. Don’t hesitate to talk about it around you and share it on social media. See you soon for a next episode….
This episode is recorded on April 4, 2023.
License
This podcast is published under the double license Art Libre 1.3 or later – CC BY-SA 2.0 or later.