Logo Cité libre

Offering free digital services to citizens: from Lutèce to Cité Libre – Paris.fr

From Lutèce to Cité libre with Magali Lemaire and Philippe Bareille

Walid: dear listeners, welcome to this new episode of Projets Libres! Today, we’re going to talk about Paris and we’re going to talk about a subject that is going to be very interesting and that is close to my heart. Because it so happens that the subject we are going to talk about today was one of my first professional experiences. I’ll come back later. And so, it is with great pleasure that we will talk about all this again. So today, we’re going to talk about Lutèce and the initiative that follows which is called Cité Libre. So, which are initiatives and software of the city of Paris. And to talk about it, I have two guests with me. I have with me Magali Lemaire , who is head of the software engineering and development office, and Philippe Bareille , who is in charge of an open source mission and OSPO referent. Maybe you heard an episode not too long ago of the podcast Libre à vous, episode 228, which partly served as a plot for me too, I’m quoting it because it was very interesting. There you go, and so listen to Magali and Philippe, welcome to the Projets Libres podcast!

Philippe: Hello, thank you.

Magali : Thank you very much.

Presentation by Magali Lemaire and Philippe Bareille

Walid: Well, here we go, let’s start. I’m going to ask you first to introduce yourself, tell us a little bit… Who are you? What is your background? And to begin with, Magali, it’s your turn to honor.

Magali: So, Magali Lemaire, I’ve been with the city of Paris and in this team since 2009. In fact, I started as a project manager where I worked on digital services and the development of generic plugins for Lutèce. And little by little, I took on other responsibilities within the city to become head of office to replace Pierre Levy two years ago.

Walid: And you, Philippe?

Philippe: hello Walid, and first of all thank you for your invitation. I started my career as a developer in telecoms and the magic of service companies made me discover many fields. And it was in fact in the public service at the Paris City Hall that I decided to settle down a bit when I was offered to anchor myself more in the Lutèce project. So I was then a technical project manager and my involvement in the project and its distribution and all the work around its dissemination allowed me to devote a little more time to it within the transversal mission of the information system to the IT department.

Lutèce

Walid: I suggest you get to the heart of the matter. First of all, I would like us to talk about Lutèce and for you to be able to present to me, for the listeners, what Lutèce is.

Magali: Lutèce is a Java development framework that has made it possible to develop all the digital services of the city of Paris, already, to give a bit of an overview. I think it’s already a good start. We have 300 digital services that are being developed under Lutèce today. It can be like a big Lego box. Basically, we have a big Lego which is the heart of the machine and then we make assemblies to define digital services. Or business applications too, it can be both. So we have been developing this offer gradually since 2002.

We are quite transversal, we are quite general. We have created a whole range of services around the community. As a result, we have as many as an offer of appointments, offers to make electronic forms at the destination… dematerialized forms for the use of Parisians. We also do intermediation, that is to say we could put associations in contact with Parisian citizens. We have built platforms around everything that is participatory democracy. So in fact, we have a fairly diverse offer. And we cover the entire activity of the community. So, we have civil registry services that are running, we have appointments. As a result, we have everything that is bulky waste collection. We really manage the entire life of the community in terms of digital services, and then, in terms of business applications, we can talk about it. Sometimes there are software or solutions that are more appropriate.

Users of Lutèce

Walid: OK. Apart from the city of Paris, are there other people who use Lutèce?

Philippe: So yes, I’ll take the liberty of answering it. Indeed, it’s quite complicated today to know precisely who is using, because when you make a project like that, free to access, free to use, you don’t force the user to reference himself, to manifest himself. So today, we have among the communities and organizations that have come forward, yes, indeed, there are a certain number. There are about thirty cities in France, whether through departments, agglomerations of municipalities, cities, etc. Abroad, too, there are some uses of it. And it’s not just an application dedicated to the public sector, we also have the private sector, with a hospital group that uses Lutèce to make appointments, in particular. Historically, we had Météo-France, which was one of the first users of Lutèce, Notaire.fr, this kind of structure as well.

Walid: Okay, ok, I didn’t know. I would like you to explain to us how the idea of developing your own solution for the city of Paris came about. Afterwards, I’ll explain a little bit what it was on the other side of the set as a service provider who worked on it.

Philippe: The genesis is rather simple. In 2001, the mayor at the time, Bertrand Delanoë, wanted to offer the citizens, the citizens of Paris, websites designed in the same way, mainly with content editing. So, it was information on the local life of the various district councils that was offered at that time, in this need. So he turned to the IT department, which studied the different ways to do it and in the end, we realized that no offer on the market for content administration was available. In the team, we had a person who was a software architect who already had a footprint in the open source ecosystem, who proposed that we develop it internally. So Lutèce was born like that in 2001 to meet a purely content management need. It was deployed throughout 2002 in all the district town halls and what it also allowed was obviously the administration of content by non-technical people, but also a graphic design that corresponded to the political colours of the district town hall, and therefore at the local level. This was also an essential criterion.

From there, the offer, or at least the need around websites, has evolved a lot and it was all well and good to disseminate, to allow content management, but it became important and essential to offer service to citizens. So that’s how one of the first evolutions of Lutèce was to completely redo the architecture to move towards modularity. So I think we’ll come back to that a little later. This aspect of modularity is extremely important because, as Magali said, today a Lutèce site is a construction, an assembly of different components that specify and specialize a website.

A quick word perhaps on why it was opened up as open source: the executive, the municipal team, noted that this project had consumed a lot of public money. Their wish was to make it available to other French administrations and even elsewhere, to allow local authorities that do not necessarily have our means, we in the French capital, to implement and also set up this type of service. Knowing that if the city of Paris needed it, we can establish that all cities also needed or could also need a content management system and to offer services to its citizens. We are not going to reinvent the need for public service.

Philippe Bareille

Walid: And then, at that time? You didn’t have the in-house skills to develop such a system? Because I remember, as a service provider, that it took quite a while to develop this system.

Magali: So, maybe you’ll be able to give us another perspective, because Philippe and I, in 2001, we weren’t there (laughs). No, from what I know is that the internal team was made up of four people at the time and they started doing the development in 2002. It was really done for me fully internally. Afterwards, there may have been a second version of evolution where there is actually a service that has been implemented. But for me, the initial version was done internally. And the production of the town halls, the first town hall, the town hall of the 3rd, was done in January 2002, if I remember correctly.

Walid: I don’t remember the dates, but we worked… So at the time, I was working at Atos. We were a whole team of three or four people and we worked on the creation of this platform from scratch, I remember well. And so we had a set of specifications, we developed that. At the time, it was mostly CMS. So I remember well that we worked on that, the management of rights, etc. All publishing workflow systems and everything. I don’t remember at the time that there was talk of it being intended to become open source. On the other hand, what I remember very well is having myself installed it on the servers of the Paris City Hall, the pre-production versions, that I remember very well though. And in Java, I don’t know why it was developed in Java, but at the time, indeed, everything had been developed in Java from the start when we worked on it.

Magali: The reason why it was developed in Java, it’s quite simple, is that in fact, the internal skills we had, including Pierre, were Java skills. So it happened quite naturally. At that time, SPIP did not yet exist. I think it was launched in 2001. In any case, it was concomitant. PHP wasn’t object-oriented yet. So we had bookstores, well they had in-house bookstores and services. And so, they went on Java. Over time, with the issues of maintainability and robustness, it turned out that the choice of Java turned out to be the right one. And today, we’re quite happy to have started on that.

Walid: ok, interesting. For me, it brings back good memories. I remember that it was the first time in my life that I made a rm -rf / copy of the pre-production server and that three days before delivering, I had deleted the entire pre-production server. I never did it again after that.

Philippe: your brand. It’s formative.

Walid: That’s it, it’s formative. I was a young engineer. Now, we’re talking about the launch. This first version that is made available to the public, how is it received? Is it going well? Do we see the potential right away? What do you actually know about it?

Magali: It’s going well. Already, it was quite important for the city of Paris that the town halls have their own sites. And what’s more, in a fairly industrial way. So that was still something quite innovative. Very quickly, especially our team, at first, identified the enormous potential behind it. Everything that was a generic plug-in, the heart of Lutèce… In fact, they immediately focused on having re-use, being able to reuse all the components, not redeveloping everything every time. And that was really at the heart of the issues.

So, the real flight of Lutèce… obviously, there was the town hall website, there was also the intranet of the city of Paris which was built in Lutèce. And really, the important tipping point was everything that was dematerialization of digital services. So it was, let me not say nonsense, but about 14 years ago, 14-15 years ago. That’s the time you arrived too, Philippe, I think, right?

Philippe: It was just two years later, in 2016.

Magali: And so, there was a big wave of investments in all the digital services of the city of Paris. And as a result, the potential of Lutèce turned out to be really essential because in terms of costs, maintenance and investment, we were able to make tailor-made things, at the same time plugins that were generic, things that were reusable and behind them, that had proven themselves because things had evolved a lot. On the other hand, the heart you were talking about, the administration of rights, is things that are perennial, that have evolved, but that we still use.

Philippe: And it’s a gain that we also find in the administrators of the platforms, even though they are not technical people. Once again, people who manage business applications, who have access to these administration tools and who, from one site to another, recognize and are able to capitalize on the training they have had or on their experience to be efficient on other sites based in Lutèce. So, in the end, internally, there were a number of gains in terms of the development team, etc., but also in terms of the agents and users of the platforms who, once they got used to it, immediately found themselves in a familiar environment that they knew and they could thus move from one site to another without pain.

Walid: Was the fact that the sources were made available quite quickly, that it became free software, a gain in terms of image or in terms of opportunities for the city of Paris?

Philippe: So yes, very clearly. So that, for once, we were the first administration, in France, to push free and available code, in open source form of course. We naturally benefited from a curiosity that made people talk about us and the project. So in 2002, when the municipal team voted to open up the code, both the press and major players in the software industry looked into the platform because it was an event in itself.

On the other hand, we noticed, for the record, that a community was maintained. It’s not just good to show off your credentials and push code on a platform. We must also encourage, maintain, inform, disseminate information, events, opportunities to meet, discuss and possibly guide the roadmap as well and to co-develop, co-construct this platform. We learned a little the hard way as we went along because it’s not so much in our jobs as public service agents to market or communicate on this type of tool, even if we were in charge of development.

Magali: Yes, and beyond that, we were very project-oriented. As much Philippe as I were, I was in a cell whose objective was to develop projects quickly on the basis of Lutèce and generic plugins. So, we had to get things out very quickly, very strongly. So, we quickly released the participatory budget, quickly Dans ma rue. And as a result, it’s true that we were completely project-oriented and that we didn’t have any delegation of time on marketing or promoting Lutèce. So, it’s true that we didn’t have a job dedicated to that. At the beginning, we were really in the heart of the system. It’s really in the last two or three years that we’ve had more time to work on Lutèce and promote Lutèce. It’s really recent.

The major developments in Lutèce

Walid : What would interest me is to know, between the first versions that you make available, so there, what we see, what Magali said, is that already, you had a first job which was to make the core more extensive, to be able to make plugins, etc. What have been the major developments that have happened in Lutèce over time?

Magali : So, at the beginning, we actually created and developed the solution ourselves and with service providers. Quickly, we integrated more recognized frameworks, including the Apache framework. As time went on, we also integrated other components, such as log management and cache management. Technically, it is also evolving by taking other open source solutions to integrate them. We don’t work alone, we don’t reinvent the wheel every time. And here, the last big technical evolution is a migration to Jakarta EE to switch to cloud-native compatibility as much as possible. That’s really a huge amount of work that is being done at the moment to be dockerable. We have a big evolution in terms of infrastructure underway.

Walid: Can you explain for people who don’t know what Jakarta is compared to Java?

Magali: How am I going to explain this simply? Let’s say that we move from a solution that was becoming payable. Yes, in fact, we are concerned about remaining independent in terms of the use of our open source and the tools we use. Java became paying, at least, we passed on it. And it wasn’t our policy at all to stay in that dynamic. And the choice was made to switch to Jakarta EE, even if it does require rewriting a lot of things. This version upgrade is not trivial for us. Does that answer the question?

Walid: That answers the question, I was wondering if it was an open source implementation of Java. It’s a completely separate project now from Oracle.

Magali: Yes.

Walid: and community.

Philippe: Absolutely.

Walid: Apart from these technical issues, which are major changes, have you had any major functional changes? There, we talked about plugins, etc. Have there been any major functional changes?

Magali: In fact, we really moved from the CMS part that you had to work on, and we evolved a lot towards everything that is digital service. That is to say, today, we are able with a form plugin to create forms with more or less complex steps that are backed by workflows and other components and allows us to create a digital service where a user will deposit documents. We, the city of Paris, will be able to request additional documents, to progress the request in a workflow with requests status, and to relocate to Parisians where the processing of their request stands.

Last year, we set up the entire identity management part of Le Parisien. There was already a Paris account, but more broadly, we managed all the entities of Le Parisien. And as a result, we have created an ecosystem, as I was saying earlier, with a lot of features. We have a meeting platform where there are more than … how many, Philippe, 150 appointment instances?

Philippe: No, there are about fifty instances that generate close to 600,000 appointments per year.

Magali: That’s it, and so there, these services allow Parisians to make appointments with the town halls, with different services of the community. And behind it, there are all the civil registry services that are running. Everything related to identity documents, we are linked to the ANTS (Editor’s note: National Agency for Secure Titles). As a result, we report our appointments on the State platform.

We have developed Lutèce as needs have changed. We build plugins according to needs. And here, in fact, we are really motivated by the fact that a digital service should not make us spend millions of euros to be realized. So the idea is that since we already have a lot of components, when we are asked again for a digital service, theoretically the elements we have allow us to make maybe 60 or 80% of the request and we may complete the rest with specific developments if necessary.

Walid: ANTS, National Agency for Secure Titles, if I’m not talking nonsense.

Magali: That’s right, absolutely. It’s true that not everyone knows about the ANTS.

Walid: No problem.

Magali: And so, yes, we have a lot of different and reusable services. Functionally, yes, we started with the CMS. Today, the CMS part constitutes perhaps 10% of our activity. It’s really not the core of our business anymore at all. It’s anecdotal compared to the rest.

Walid: And then, there is another evolution that is not technical and is not functional, and that is the evolution of skills. How did you go from a small team of four people to, by the way, I don’t know how many of you are?

Magali: There are 17 of us, so a little more. But considering the amount of things that are carried by Lutèce, in the end, it’s not that huge. How did we go from 4 to 17? By a will, however, at the level of the community to establish Lutèce. that is to say, insofar as the service was used by all the digital services and the basic service for the entire development of the city of Paris, we have integrated more and more skills.

The 17 people do not do all the developments internally. We keep sovereignty, we define the principles of what we want to do, and then we entrust the main areas of development to service companies that have the Lutèce maintenance market.

Walid: And by the way, once it’s developed, afterwards, are you the one who does the maintenance of the code?

Magali: No, we keep the management of this maintenance, that is to say that we organize the development roadmap, we prioritize the need and that’s it. And then, the development, there is a part that is done internally, we still have internal developers who do part of the developments. After that, we are supported by a service company that carries out this maintenance and the evolutions of the core and the associated plugins. It’s mixed. There are only 17 of us, where the service companies have a much greater strike force than us. As a result, we rely a lot on service providers.

The definition of evolutions

Walid: To finish on this part, how do you define the orientations? How do you say, in the next version, we’d like to do that?

Magali: We have a lot of digital services that use tools. We get feedback from users who tell us that I would like to see this feature or that feature appear because they miss it. So, we put it in the roadmap, we effectively define the generic nature of the feature, see if it interests all or some people. And then we start development. And depending on the projects, for the moment, a priori, indeed, the realization, depending on the projects, we are internal. They are the ones who keep us alive today. It’s still the projects that keep us alive.

The community around Lutèce

Walid: Okay, fine. To come back to what we said a little bit in the introduction, if we now move on to the community, apart from the town halls and therefore Paris in the broad sense, who else uses Lutèce? What relationship do you have with these people? Do you know them? How do you interact with them?

Philippe: I intend to animate three types of communities. The very first is the one I just mentioned, which I identify as functional. These are cities, users, users who have a need and who want to have a tool that meets a need. For that, there are only the cities. Only users can identify their needs, name it, define it and see if the tool corresponds to the answer to this need. It’s not a technical team that is going to say, “Yes, I think we’ve tested this tool, it’s fine.” No, it’s up to the functional and business teams to decide on this. I believe that a community that knows how to talk about software and that knows how to focus only on the functional rather than the technical or to mix all these subjects a little is much more effective.

Secondly, a technical community, because, as Magali said, for the city of Paris alone, we have a certain number of external partners who are required to work on the platform. These integrators, these partners, are also led to develop the Lutèce service elsewhere. So, it is good to work with them, to animate this technical community and to be able to guide them, to accompany them and to offer them part of the support, but also architectural committees where we are able to tell them, “no, no, wait, this is not in the rules of the art of Lutèce, that’s not how Lutèce was designed, and that’s how Lutèce will be able to accept your contributions, so please, pay attention to such and such constraints. In this way, we will all be able to benefit from it.”

And the third community, it may seem more anecdotal, but it’s one of the most dynamic at the moment, it’s the community of translators. Because we realized that there was a growing interest abroad. And on several presentations that I have been able to make to counterparts, particularly European counterparts, I have been led to see an interest on their side. And to present a solution whose interface is purely in French. Well, I saw wide-eyed, I understood that I had to present them with something in their language. I’m not able to do that, so these are the same people who agreed to contribute and participate in a hackathon that I organized, that we organized in October 2023 and which made it possible to translate the heart of Lutèce, so this basic part that is common to each of the Lutèce sites, into six languages in their entirety. And six new ones received contributions that made it possible to move forward. The next step is to focus on the business features to move forward with translations, particularly of these six languages, to be able to offer fully translated tests to these communities who are really interested in developing and implementing them locally.

Walid: So if I go back, there are on the one hand the end users, on the other hand there are all the technical people who can contribute to the code and therefore that includes the companies.

Philippe: Absolutely. Or even other cities and administrations that have in-house technical skills. This is our case and it exists.

Walid: But do you want to create an ecosystem with partner companies that are able to integrate Lutèce?

Philippe: Ideally, yes, because when we respond to counterparts, other French administrations, other cities, agglomerations of municipalities, etc., who come to see us and say “Here, let me see your Lutèce, how you make it work and how I can reuse it”, that’s one of the reasons why we put it open source, Not to mention the transparency, the algorithms and the services behind it, of course. But the goal was to share it and for people to reclaim it.

Events around Lutèce

Walid: And so, earlier, you talked about a hackathon. Do you organize other events for people to meet? Whether online or physical.

Philippe: We have organized some physical events in the past. A platform dedicated to this, whose name escapes me, but whose reins are being taken over a little bit to put these discussion groups back. Clearly, these are discussion groups based mainly on individuals, as in this environment, in this open source ecosystem. So to make these physical meetings possible, because that’s really where the contacts are made, where decisions are made, and where we’re able to assess the maturity of an open source project and the dynamism of a development team behind it. So that’s the only way we can do it.

I also have in mind to set up regular webinars that are oriented for these different communities that I mentioned earlier, to allow them to also identify who uses them, who is there, who is not alone, who is reassured by the fact that he is not alone, and that if a decision is made, If there is a bug that is detected, let him be reassured that if it’s not them… not everyone has technical capabilities on hand and ready to draw, whether it’s the city of Paris or another city that is able to propose a patch that can be deployed quickly and that way, everyone benefits.

So that’s really what we’re trying to do. And so through this kind of webinar, beyond identifying yourself, it is also about making flashes, spotlights rather, both technical and functional, to present the evolution of the tools, the evolution of the product, features that may be unknown, why not small training sessions. To say “if you want to integrate into this type of use, this is how we offer it, this is how we do it, this is how it is done on the platform”. Because we have documentation that is there, but it is quite substantial. We remain in an administration, and not Google with just a search field, a button to launch a query. It’s a little more complex than that.

Lutèce and the competition

Walid: Very good. I will say, my next questions that arise from this are governance. But first, I would just like us to come back to the competition for 5 minutes. Well, I think there are plenty of competitors in general. How do you compare to competitors? Do you really have any strengths? And also, are there any competitors, are there things that you see outside that also inspire you for the development of Lutèce?

Magali: So, there are competitors, yes, but not in the same segment as us. Once again, we are excessively transversal. And so, if you want, there are competitors like Liferay, Jahia, on the CMS part, we have OpenCMS and Ametys. There is also Public , which offers an offer that is quite similar to ours in some aspects. After that, the competitors, we’re going to have more of them in segments really, for example appointments, you’re going to have tools to create appointments. You’re going to have a tool to manage forms, you’re going to have the Decidim platform which is going to be focused on citizen participation, but we’re not really going to have a cross-functional offer with a company or a community that is going to offer a set of services like we do.

That’s the real difference. And the real difference is that we’re really open source. That is to say, we’ll talk about Cité libre later, but really, the idea is really to give the elements to other communities, associations, diverse, varied actors, so that they can take over our code, our plugins, to create their solutions.

And on this, indeed, I don’t think that there is any society or community that proposes what we propose. Today, on a scale… In France or even elsewhere, I don’t see any other organization that offers what we do.

So where, indeed, afterwards, we have finer things on really specific sectors of activity. As for Decidim, what they do, I think it’s great. I think it’s very good, but they only address a very small part of the activity.

And the difficulty we have is to specialize in something particular because in fact, that’s not our goal. We don’t aim to be a specialist in something. We remain generic, we want to deliberately remain a little high in relation to the services that are offered, because our services are adaptable. Make an appointment to make the form. And so, if you want, we make particular business plugins, but it’s true that we avoid most cases.

Magali Lemaire

Walid: For people who are interested, I interviewed Valentin Chaput last year to talk about Decidim. The story is quite interesting, since there are some parallels too, since it comes from the Barcelona City Hall. And on the governance aspects, there are also some very interesting things.

Philippe: Originally, it came from Consul, which was a Madrid project.

Walid: It was a bit of a bicbisse between Madrid and Barcelona. And finally, Barcelona finished. Well, that’s it, but there are some very interesting things. I am thinking in particular of the fact that at one point, they ended up taking Decidim out of the Barcelona city hall to avoid the problems of changing the political majority.

Which, in your case, I suppose there is a political consensus over time to continue working on this, but they had this problem. In short, that’s not the subject of the episode.

Magali: To answer your question, Decidim, indeed, super interesting. Public too, there are some interesting things. After that, there are initiatives at the state level, such as that of the DINUM, because of their strike force which is… Really, we find it fascinating because they have a fairly large possibility of broadcasting. The only thing we regret is not working enough with them, not being sufficiently involved in their solutions to be able to disseminate what we do. We regret that, all the same, deeply.

We would like to be able to work, to disseminate our solutions at a slightly higher level, since I think that what we are proposing is recreated elsewhere and that’s a shame.

What is Cité libre?

Walid: That brings me to the next transition. The best thing is that you introduce Cité Libre to introduce the observation that led to the transition from Lutèce to Cité Libre. What is Cité Libre ? And what is the observation that led you to create Cité Libre ?

Philippe: Cité Libre is an answer that we found to improve and above all improve the ability of Lutèce to be broadcast, while reducing the technical difficulty that is linked today.

Just to illustrate the example, is that when I said earlier an administration, a city, anything, that comes to us and says “Hey, I like your Lutèce, how can I use it?”, our response for 20 years was “Well, go and see on GitHub !”. I mean, we were technical enough to do it, felt that we were dealing with mostly technical people.

Wrongly, because once on GitHub, if you’re not a developer, integrator or software engineer, you just have directories with source files and you don’t necessarily know how to integrate. Especially since Lutèce is an extremely modular and generic platform, which means that to implement a service like Rendez-vous, for example, we are talking about an assembly of nearly 70-75 modules and that there is no documentation that says functionally: if you want to make appointments with a connection and a queue manager, you have to take this plugin, but wait if you’re on this type of queue, you need this module… It’s still extremely complex.

For a few years now, we’ve been thinking about setting up a system that can deploy a complete digital service, but really as complete as possible, as we actually use it, identically, on the same versions, with the same version compatibilities, the same features. But it was clearly the lack of time that prevented us from doing so.

But now, for the past two years, we have had the authorization to create Cité Libre, which is the pre-assembled package solution based on Lutèce. So, we now avoid talking about Lutèce, because in the end, it’s a technical-technical platform that we can talk about with people who know about it and who want to contribute. There, obviously, we will have to talk about technique. But for those who want to stay at the service level, in fact, there’s no need to talk about the OAuth2 or SSO plugin, etc. In the end, what type of authentication do you want in SSO? We will recommend this combination. But in the end, we’ve already experienced assembly, we’ve already set it up at home, so we’ve industrialized a number of digital services at home.

So we might as well make it available, in the same way as code but in open source, from the assemblies already made, with a list of components that we recommend and that we use internally, for Parisian citizens. With compatible versions and with features that are clearly established, because it meets a need that has already been defined.

So, all this to say in the end that Cité Libre offers pre-assembled services. So, I’m not going to go so far as to say ready-to-use, but ready to test, in any case, for easy deployment locally, on a machine. We set up a certain number of servers that allow us to show all the power on a test game that we also offer. All the power of a tool, all the functionality, the notifications, the power of the workflow, as Magali said, everything that is possible to allow prospects, so I don’t really like this term because I’m not a salesperson or a salesperson, but in the end interested people to say “Well yes, in fact it fits my needs.”

Philippe Bareille

Here is a free city. And the interest also through this is to offer these features as a white label. That is to say that there is a whole graphic design and graphic universe specific to Cité Libre, but everything is done to ensure that the users of the Cité Libre packages appropriate this graphic interface, to allow them to keep a user journey as coherent as possible in the colors of their administration.

We don’t want, I won’t name any appointment provider for example, but to switch like this from the website of our town hall or our administration to the XX platform that makes appointments: “Oh dear, but wait, I don’t know where I am, I don’t know where I come from, am I sure to make an appointment at that place? What happens to my data? Because it’s also an important criterion.

Well no, in fact, Cité Libre, if you put it in your charter, remains in the ecosystem of your organization.

Walid: Simplifying things, couldn’t we say that, maybe I’m wrong, that Lutèce is the project and that Cité Libre is the product, what? To stay in a…

Philippe: Absolutely.

Walid: It’s a bit of a productization. To have a broadcast.

Philippe: That’s exactly right. And it also allows us to refocus the sales discourse. No, once again, I didn’t commission myself for each adoption, but in any case, to refocus the discourse on the service provided to citizens and not a technical assembly.

Magali: Above all, it allows us to have a functional approach with the communities and to speak to them in a language that they understand. For the moment, we were still very technocentric. And Lutèce, when we explained what it was, people didn’t understand. Clearly, we still had a big difficulty defining what Lutèce was and what we could do.

And as a result, with Cité Libre and by offering practical services within the local authorities – civil status, making appointments, services to remove bulky items – things that actually speak to people. And by setting up services that really speak to local authorities with their daily concerns. As a result, we manage to move on to another level. We manage to discuss, to interest them much more than by talking about technology.

Walid: And so, the creation of Cité Libre, what did it mean to you in terms of team? Was it a lot of work?

Philippe: No, not at all. Because, as I said earlier, we have already industrialized most of the services offered by Cité Libre and included in Cité Libre. So, in the end… I’ll try to stay away from the technique, but we have an assembly file and a graphic theme to apply to a site.

So in the end, the time actually spent rebuilding or at least generating these applications that we use, it’s in the order of a few hours, honestly.

The most complicated thing today, because if you go to the GitHub, Cité Libre has its own GitHub, you will see that there are a number of commits and activities on it, but in the end, these are new features that we don’t necessarily use at home, but that we want to make available to people who want to set it up and test it, To show them the power, in particular, I don’t know, of authentication in the back-office, so at the administration interface, via a company directory.

There you go. So we’ve done that, sometimes, but since we’ve done it, we’re also proposing it.

So all this based on… So, we didn’t develop everything. We also reuse a lot of open source and free building blocks, but it’s based on standards, and that’s what allows us to enrich these offers. Even if you’re not necessarily a user, you think it’s in your best interest to complete the offer.

Walid: And your first feedback?

Philippe: The initial feedback is extremely interesting. I have a lot of interlocutors, both in cities and departments as well as abroad. Now, that’s it, I’m able to tell them: here’s the command to type to deploy a Cité Libre service in your language. Right away, it opens doors that we wouldn’t have had before without a certain investment on the tester side. Today, it’s much more convenient. There are a lot of tests and benchmarks underway because we are also in the administration. When it comes to decision-making, we are often challenged by enterprise solutions, which offer SaaS offers or, for the time being, just turnkey, ready-to-use.

We are not there yet. In any case, we, the City of Paris, are not allowed to offer these services in SaaS. On the other hand, we know that in addition to this interest among future users, we have also created an interest or recreated an interest among integrators who think that they can also offer this service. This means offering Cité Libre SaaS services that could be deployed, maintained and supervised for their customers.

The Lutèce license

Walid: Two remarks because I realize that, one, I forgot to ask you what license it was, so we’ll come back to it. And two, for people who are interested in all these issues around evaluation, I invite you to go see the Open Source Experience conference that I republished, which is called “How to evaluate free software?”, in which we talk about all these subjects, also the subjects of the public.

So it can also be a complement to that. We are talking about SaaS, etc. I completely forgot to ask you: what license is there on Lutèce ?

Philippe: we’re on a BSD-2. The choice was made 24 years ago. That hasn’t changed since. What for? Because it’s one of the most permissive types of licenses possible. Today, it allows anyone, in addition to integrating it into their home, to reappropriate it, to develop on it, to contribute and to provide it again. The choice of this type of license was really motivated by the absence of a barrier to the adoption of Lutèce. Really none.

The creation of the OSPO of the Paris City Hall

Walid: If we now move on to the last big subject, because the clock is ticking, which is governance, that’s where it gets quite interesting too. Not that the rest isn’t, but because we’re going to define the word OSPO, which I haven’t talked about too much on the podcast yet, and there’s going to be a definition episode a little later in the year on that.

Can you explain a little bit what you have put in place in terms of governance around all these contributions? Because I didn’t ask the question of whether the experience of Lutèce made you want to do it and have you been contributing to other software since then? So in fact, it’s kind of time to start talking about these subjects.

Philippe: Okay. So what about the OSPO? It’s a notion that, so I’ll let you talk about it in a future episode, but in any case, it’s extremely important because it’s what has already made it possible for us, the creation of Cité Libre, to justify a better distribution factor for our platform.

Not just by saying that we are doing open source, but also by taking the actions to make it happen.

Walid: ah the two are linked?

Philippe: Absolutely, absolutely. Part of the OSPO roadmap, so OSPO stands for Open Source Program Office.

It was organized at the City of Paris, in any case we started talking about it in 2019, we really put it in place in 2022. It’s a notion, it’s not a team strictly speaking, it’s time that I dedicate to an activity that allows us to be a good professional player in this open source ecosystem which is complex, which until a few years ago, notably with Pierre Lévy, was supported and guarantor of our good behavior in this ecosystem.

And in the end it was time to concretize this imprint, this grip on the sector, by saying, in fact, open source is not just about putting code, is not just reusing code, is not just doing a little doc and considering that our code is somehow reused. It also has virtues in the HR world, it can be a real recruitment argument. This can allow us to think about: can a public service agent contribute, or at least to the public service to the City of Paris, in a more localized environment? What do we do with the needs and desires to contribute to other projects? So that’s the answer has been dealt with. And then, how can we professionalize our approach and our use of open source?

Philippe Bareille

This is what allows us to justify a little more participation in trade shows, conferences, etc., to show a little bit and talk about our open source policy and to make sure that it is correctly or as correctly applied as possible in more concrete terms.

Walid: Does the fact that you have the OSPO, which is what I understand implying, make you contribute more? Or in fact, the OSPO will just be used to do this by the book?

Philippe: So, the OSPO already allows you to have a person to contact when you are outside and want to know how the City’s policy in terms of open source is implemented. It falls into a box that is lifted and a person who follows it. We took the opportunity to set up metrics on external contributions, etc. So, we have dashboards that allow us to better monitor attempts to contribute from outside.

So, I would say that the subject is extremely broad. We based ourselves on a method that is, I hope, known by now. It’s been around for a few years. It’s the Open Source Good Governance Initiative, with the Eclipse Foundation and OW2 and other private sector actors, among others.

We have defined a framework for the deployment or implementation of an OSPO in any type of structure. The goal is to say to ourselves: whatever our background, our environment, our scope, know that open source can have an impact on this. So if this is one of your digital objectives, in your governance, etc., know that open source can have a hold, can have an influence and a positive impact on it.

So in the end, based on this, we have a kind of range of topics covered and that can be solved by an approach supervised by this governance and which obviously allows us to deal with all these good practices and all the rules that we want to put in place for contributions, either from us externally, or from outside on our projects.

There you go, I hope I’ve answered your question.

Walid: That’s interesting. And what does it bring you in terms of relations with the ecosystem, with other public actors, etc.? ? Does it put you in a position, because you’ve been making free software for a long time compared to others, does it put you in a position where people come to you for advice, they watch what you do, etc.? ? Does it finally highlight what you’ve been doing for years?

Philippe: So yes, it allows us to have better visibility, obviously, and to consider this visibility as necessary and indispensable, in fact, for the proper evolution of the product and this aspect of sharing that is necessary.

Again, the City’s open source policy isn’t just motivated to release code. It also means being part of ecosystems to reflect and allow us to establish commons on which we do not necessarily impose everything we do. Obviously, we work hand in hand with other organizations, but the Lutèce and Cité Libre chapter is not the only one of the OSPO. The OSPO also allows you to follow other projects on which you are either not a contributor, but you are just a user.

So what are our rights and duties as users of an open source platform or solution, what can we do and how should we integrate?

So it’s also an entry point, as I said, a point of contact that is essential. And this notion of OSPO, so it has existed for 25 years in the private sector, in the public sector we discovered it more recently. But we’re in the process of doing the same thing with the European Commission – well, we’re no longer in the process, we’re now leading working groups with the European Commission and counterparts in the Member States, whether at the level of cities or national governments, we’re organising a few meetings during the year. It’s not huge, but online, we have discussions about our respective roadmaps, about the application of certain things or the sharing of problems that we may have on a daily basis, and how others solve them.

So it’s a real contribution, it’s a real asset to have organized ourselves like this and to have come together as the Open Source Program Office .

The organization to welcome external contributions

Walid: A question that is related to that… How do you intend to organize yourself if tomorrow, for example, you start to have contributions from foreign organizations that will come up with specific problems? I’m thinking of authentication, that kind of stuff, etc. How are you going to organize yourself in order to contribute?

I think it’s like an ERP with accounting in all countries. Do you already have any ideas of how you are going to organize this so that you can continue to work on the project, but also that people can arrive and contribute to external issues that they could not necessarily have control over or ways to check a little bit of all this?

Philippe: In fact, we have already had experience in the past of attempts to contribute that had to be refused. It’s always unfortunate because we always see efforts that are ultimately in vain and in any case that we can’t value, unfortunately. But that’s for many reasons. One of the first is a failure to comply with rules: naming rules, architecture rules, etc. Others may, unfortunately, be too important specificities that cannot be considered generic. I mean, Lutèce is a generic platform first and foremost. So what would be ideal, because it hasn’t always happened like this in the past, is for the structure or the sponsor of these developments to contact us beforehand and say: “Well, I intend to have this done. How do you think I should do it? »

And here, we’re not talking about doing it for them, we’re just talking about accompanying them and giving them 2-3 guidelines to respect so that it can be totally integrated into the Lutèce universe.

There is a question of genericity and a question of getting into the specificity of the needs of the profession. On this point, the architectural answer would be to develop a component that connects to a generic component, which can address all the different specific systems. So that, you just have to give this kind of advice to say:

“Do you know? Are you going to respect that? If you respect it, mount a GitHub next to it, say you’re a compliant Lutèce project or repo, and host your own specific data, or your own specific codes and projects, and you’re fine. After that, this assembly game can look for projects here and there. We can imagine on the City of Paris’ GitHubs , for everything that is really purely generic, and the entity or structure that contributes can offer its own tools that they have had to put in place to meet their needs.

Walid: ok, it was a question I had afterwards: can people actually make their own catalog of plugins, which are specific to them, or needs that we wouldn’t have in France, that kind of thing?

Philippe: Absolutely. So we did the same. In all transparency, we also have a local repository, which is not public, precisely to go into certain needs that we have deemed specific, so that we cannot share, because not all our devs are necessarily open source.

On the other hand, as soon as we can make credits, we do it and share it.

The Implications of Producing Open Source Code

Walid: One last question on that. Does the fact that it’s free code change anything when you create the code? I guess there’s no difference between a proprietary plugin that you make for your needs and an open source plugin. But do you, in terms of development, change anything or do you put a particular constraint on development?

Magali: Yes, of course, it puts a particular constraint on us.

Developing something generic, which can be aimed at as many people as possible, requires more time for design, for reflection, to be able to define something that can be scalable and that doesn’t go into too much detail to meet a need so that it remains at a level… always, we try… In fact, the problem we have is ultimately to stay at a higher level, and it’s more complicated than meeting the specific needs of the person who asks you to. Because suddenly, you’re going to say to yourself: “I have to go up a level in my thinking to remain generic.” And designing generic is more complicated than developing something specific that will be disposable, to evolve on another project or fork something else .

Magali Lemaire

Here, we really have this problem of saying to ourselves: we are doing something that is sustainable. We have to sit down, we have to evaluate the possibilities of evolution, how we will be able to have interfaces, what APIs will be implemented with other systems. It’s like a game of chess: you count the next move to design your solution. So, yes, I think it requires an effort of reflection and also a financial investment that is not neutral. It takes longer to develop something generic than to develop something specific. So, at first. Afterwards, in the long term, it’s more profitable.

Relationship between the dev team and the OSPO

Walid: What is the relationship between you, the development department, and the OSPO? What are your relationships, actually?

Magali: Philippe will explain to you how he does his animation and I will explain my point of view.

Philippe: thank you Magali, I’ll start by saying that we’re totally dependent on each other. I go to see them regularly, we have weekly updates to keep up to date, I keep up to date with new features on generic plugins, what I can and can’t integrate, version upgrades on an assembly that will, for example, process requests, workflow-based administrative procedure, etc. So I’m going to be aware of the upgrades that I’m able to do and that I have to do to keep users informed and to make them available.

So I have this little maintenance to do packs based on the information I have from Magali’s teams. Then, conversely, my action allows… So, they are mainly dedicated to the implementation of the projects of the mandate and the executive. But from time to time, I can also say, well, I have a need, I have an idea of integration into a department because I know that I will have a reuse behind it. So, can you help me with a technical detail? Because well, I was a developer about ten years ago, so I’m not completely autonomous because really, it’s two different jobs. But this technical background allows me to do a certain part of it, but on some, I am drying up and I need an intervention, a support team to allow me to set up new services or add new features to my services.

Magali:

for me, it allows us to give another dimension to our profession, that is to say that it allows us to take a step back from what we do and the reuse that we can make of it, especially at the level of the OSPO. In fact, the sharing of experience that we can have from other communities, the feedback we have from Philippe, it also nourishes us. It’s also important to have the project development, but also to have Philippe’s projection from the outside and the view he brings to us from the outside because it allows us to lift our heads from the leaf a little and consider that we can indeed open up to others, that others can contribute. So we know it, but indeed, with Philippe, it materializes.

Magali Lemaire

And that’s important for the teams to see that we can interest Lyon, Bordeaux, Marseille, that we can interest abroad. We have worked quite a bit with the United States, with Bloomberg. There are still a lot of things that manage to shine. And for the teams who work on the projects, I think it’s very important to see that it has a resonance other than within the City of Paris and on their own projects.

Philippe: You said something important that I would like to pick up on, which is that indeed, the OSPO makes it possible to concretize, to materialize the work that is done by the dev teams and the technical project managers on a daily basis. And to base themselves on facts, figures that allow for reporting, self-evaluation, achievement of objectives, etc. rather than just relying on the memory that each person has of his role and what is expected of him.

Magali: I think that to complete the picture, I think it completes, it gives the open source dimension. You see, open source in the end, saying that it’s open source is good, but it’s not enough. The OSPO will really make it possible. I would really say that. It values people’s work.

Walid: Speaking of valuing work, it’s still rewarding to make code that is used by fellow citizens and that can be reused by others. Is this a big motivation in the teams?

Magali: I hope so. Yes, yes. I think we have a number of people who are very committed. I think that anyway, if you come to our team and you come to do open source, you are necessarily committed.

Because it’s still demanding, it’s interesting, it’s very diverse. And then, we still have this sense of commitment to the common service. So, I think so, I sincerely think that we all have that side.

Walid: The people who come to work in the team, did they do open source before or not at all?

Magali: Not bad, yes. Not all of them, but at the level of the Java team, there is still a big basic sensitivity, of course. And then, at the level of project managers, we have people who are very invested, indeed, in open source.

One of our young colleagues, who was a cartographer in education and who was very invested, who is very invested in open source. So, we really already, we really got to the point.

The challenges of Lutèce and Cité Libre

Walid: Before we finish, the last thing I’m going to ask you about is the challenges. Do you have one or two major challenges ahead of you, whether technical, organizational or communication? Is there anything you would like to highlight?

Magali: At my level, I have two very important ones. This is already the integration of AI into our work. Not to suffer it, but to support it and bring it gently into our projects, while considering all the ethical, ecological, financial and all the problems we have behind it.

To avoid it, we want to be able to offer plugins that would integrate AI modules. After that, we really think about all the issues and what is underlying with AI. And that’s a big problem that we’ll all have. In any case, it’s not just us. So I think we’re going to have to follow the movement and not suffer it. So, as a result, we will do it with all the reserve and all the protections we can have. But nevertheless, we’re going to go for it.

And then there’s the whole organization you were talking about, the community. How can we support it, make it grow, get people to contribute? Because today, indeed, we are in the business of dissemination. I would love for people to contribute too, even more. And it’s true that it still requires an opening that is necessary and that we will manage to have.

Walid: Philippe, on your side?

Philippe: I completely agree with the second challenge mentioned by Magali. That’s clearly what it’s for me, it’s the animation of this community and finding axes, even if it’s been done in the past, there’s no problem, but to do it now under the cover of the OSPO and especially this scaling, in fact. There you go. For me, it’s the transition to scale that matters to me.

Today, it’s to say, what has worked with this city, in fact, we have to make sure that it can work with all the others. So, at the beginning, it’s almost individual support and afterwards, it’s group support. So, it is really these activities in the broad sense of the communities that allow everyone to integrate, to find a role and a level of participation that satisfies them.

So for me, it’s the implementation of these good practices, of things that can work, knowing that we are still a fairly small team, and that, so, I don’t have the dream that the community is self-sufficient, I stopped dreaming about that, but in any case that the actions we can put in place are enough to show that this project is viable, animated, dynamic, that there is a team… people who work on it on a daily basis and that it’s reassuring enough for people who are still hesitating.

The last word from the guests

Walid: We’re done, so I’ll leave you before leaving, to each say a final word. If you have a message to pass on to the listeners of Projets Libres!.

Magali: Come and see us, contribute. If you have a hesitation, or at least an interest in Lutèce and Cité Libre in particular, I think that we offer solutions that are widely accessible and easily implemented in associations, communities, small, large and medium. And I think this solution really has huge potential and it’s a real shame to miss it.

Philippe: I’m going to repeat something that was said a little bit before, that you said and that we don’t agree on enough, which is that when we have a need, stop focusing on what separates us, on what makes us unique, but let’s look at what we have in common with other people who have dealt with the subject.

I have often been confronted with this type of response: “No, you, the City of Paris, are different. And my needs are different. No, in fact, we are cities. We are cities, we provide a public service to our citizens. Our goal is the same. It’s made in different ways, yes. The tool can indeed sometimes adapt, sometimes need to adapt, and sometimes not respond, I understand that completely. Now, instead of saying, “Because I’m unique, because my name is something, and no one else’s called something, I’m unique enough to spend money and do something that I order because I know how to do it.” In fact, no, let’s take the trouble – so I include myself in it, of course – to look at what exists around us, to look at the communities that exist. There are people who work on a daily basis on open source projects that are used everywhere and that no one knows about, and there are projects that are remade, remade, redone, because just some don’t look at the landscape and what already exists.

Walid: Absolutely. Redoing and redoing in free software seemed to be a pretty common thing.

Philippe: Yes.

Walid: No, but that wasn’t how I wanted to do it. So, I did my project. Okay, fine. That’s the last word. Thank you Magali, thank you Philippe for your time

Philippe: thank you Walid

Walid : And for coming to present to us a little bit what you do. I found it very interesting. And on a personal level, it makes me very happy. I am happy. So, I hope to have the opportunity at another time to have you in a little while to talk a little more about where you are. In any case, for the listeners, don’t hesitate to comment on Mastodon and especially to share this episode, like all the others. It would make me very happy and it’s also important for the podcast.

Listen, Magali, Philippe, thank you and then have a good evening and then see you next one.

Magali: Thank you very much. Thank you.

Philippe: good evening.

This episode was recorded on January 7, 2025

This article 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.