in reply to madlian

“Nanook” is a slur for northern indigenous people in the same way “Chan” is a slur for Chinese people. Sure, there might be some members of that demographic with that name, but using the term as a generalization for that demographic is derogatory in intent.

Using the term “Eskimo” in the instance name is problematic for at least two reasons.

  1. The term itself is considered problematic and derogatory for reasons I don't have time to go into here, but feel free to research why it’s under fire.
  2. I haven’t checked, but the admins are probably not part of the demographics that the term would refer to, so they’re not “reclaiming a slur” so to speak

Can you spot an authentication chip in the Nintendo Switch 2’s dock?


GrapheneOS Organization Calls Out False Claims Made In European Countries By Media Outlets


European authoritarians and their enablers in the media are misrepresenting GrapheneOS and even Pixel phones as if they're something for criminals. GrapheneOS is opposed to the mass surveillance police state these people want to impose on everyone.

xatakandroid.com/sociedad/cada…

There are ongoing coordinated attempts at misleading people about GrapheneOS and Signal in multiple European countries. A consistent pattern are completely unsubstantiated claims about exploits with no evidence. These are contradicted by actual evidence, leaks and their behavior.

GrapheneOS is not immune to exploitation, but the fearmongering done in these ongoing attacks on it is very clearly fabricated. They feel threatened enough by GrapheneOS to engage in coordinated attempts at convincing people that it's unable to protect their privacy and security.

GrapheneOS eliminates many classes of remotely exploitable vulnerabilities and makes the vast majority far harder to exploit. It even puts up a strong fight against attacks advanced forensic data extraction tools with physical access. See discuss.grapheneos.org/d/14344… for an example.

There's currently an example of one of these attacks on the project ongoing across Swedish forums and social media. This reached our forum at discuss.grapheneos.org/d/23535…. An account pretending to be just asking questions goes on to pretend to be an expert citing non-existent sources.

This same thing is currently ongoing across several Swedish forums and on social media. It's generally not in English which makes it inaccessible to the broader GrapheneOS and privacy community so they can get away with extraordinary, unsubstantiated claims much more easily.

GrapheneOS is not supposed to stop people installing malware and granting it invasive permission. It does provide alternatives to being coerced into granting invasive permissions by apps via our Storage Scopes, Contact Scopes and other permissions, but it's a user choice.

GrapheneOS similarly not supposed to prevent authorized access to data by someone with the PIN/password and access to the device. Rather, we provide far stronger protection against unauthorized access via exploit protections, 2-factor fingerprint unlock, duress PIN/password, etc.

Our features page at grapheneos.org/features provides an overview of how GrapheneOS improves privacy, security and other areas compared to the most secure Android devices running the stock OS. It's not immune to exploitation and cannot be. Products making that claim are scams.

Not being immune to exploitation doesn't mean it can be successfully exploited in a given real world scenario. It's significantly harder to develop and deploy an exploit successfully. It can be exploited, but it doesn't mean it is happening especially at scale or consistently.

Having far from perfect security does not mean real world attacks including sophisticated ones will be successful in practice. Don't fall for security nihilism propaganda. We'll keep working on advancing security for general purpose computing devices. It will keep getting better.

GrapheneOS Organization Commentary On False Claims About AOSP Privacy By ICEBlock App


bsky.app/profile/iceblock.app/…

Apple stores which devices/users install which apps. They have the device IDs. US government could obtain a list of people who installed the app if a court authorized it. Not clear what they mean by having to store device IDs. Those IDs aren't accessible to Android apps.

ANDROID_ID is a per-app-per-profile random ID. Not clear why they would need it. Android has privacy-preserving hardware-based attestation if they're talking about making it harder to spoof a location. Can't prevent either iOS or Android users making false reports via attestation APIs regardless.

bsky.app/profile/iceblock.app/…

Making posts with inaccurate technical claims about Android doesn't inspire confidence. It's a closed source app with a closed source service fully under their control. Why is that the approach if their goal is helping people rather than monetizing interest in it?

bsky.app/profile/iceblock.app/…

Apple records which apps people install and requires an account to use their app store. Apple Push Notification Service (APNs) has comparable privacy to Firebase Cloud Messaging (FCM). However, iOS apps must use APNs for push while Android apps do not have to use FCM.

Android apps can implement their own push service or allow the user to choose a service via the UnifiedPush framework. Play Store has a policy of requiring FCM for most use cases for battery reasons but there are exceptions. Unlike iOS, Android allows installing apps from other app stores / sources.

ICEBlock app is very clearly misleading people about privacy and their safety. Apple has a list of which accounts/devices have installed the app. They will provide it to the US government if they receive a court order. FCM is also not less private than APNS and FCM doesn't work the way they claim.

iPhones have good overall privacy and security but Apple does collect telemetry, forces people to have accounts and knows which apps each user/device has installed. They do not have magical privacy and security properties. An app like this claiming iOS gives them 100% anonymity is very strange.

iOS has significantly worse support for VPNs than Android and requires using Apple services. Android exists without Google services and people can install apps from elsewhere. The mandatory or effectively mandatory services on Google Mobile Services devices and iOS have comparable privacy.

Is the Fediverse stalling?


I'm genuinely interested in people thoughts about the Fediverse because here in the UK it has massively stalled in 2025, like a lot of things. I am seeing way less posts from UK people and way less interaction and general use in fact. Most seem to have stopped social media use to be fair, and I know a lot of that is to do with my age (old fart here, 56 laps round sun and counting) but the numbers game look poor from my point of view. Do we think the Fediverse has a future now after useage appears to be going downwards? Is it a UK thing? (well I know the UK is weird but hey)
in reply to nebula42

I'd say this is lost, while I can seemingly find other languages pretty easily, the Serbian dub specifically I've come up empty for as well

It's fairly common for a specific language of multi-language release content to be missing. Especially when it's outside of the mainstream languages like English, Spanish, Japanese etc.

I would suggest making a post over at forums.lostmediawiki.com/ as well to get more eyeballs on it

GrapheneOS version 2025070100 released


Tags:
  • 2025070100 (Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold, Pixel 9a, emulator, generic, other targets)

Changes since the 2025063000 release:

  • Exynos 5400 modem Pixels (Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold): temporarily disable hardened_malloc and hardware memory tagging for shared_modem_platform executable due to an upstream write-after-free bug
  • Launcher: fix upstream bug causing a crash for the interface to add lockscreen widgets (currently a tablet only feature until Android 16 QPR1)
  • Vanadium: update to version 138.0.7204.63.0
  • add debug build functionality for toggling off hardened_malloc usage for vendor processes to make narrowing down issues quicker

Vanadium version 138.0.7204.63.0 released


Changes in version 138.0.7204.45.2:
  • backport upstream port of Local Network Checks site settings to Android to provide per-site control with a prompt when sites try to use it instead of the status quo where Vanadium enforces Local Network Checks for the browser with only a global toggle for disabling it

A full list of changes from the previous release (version 138.0.7204.45.1) is available through the Git commit log between the releases.

This update is available to GrapheneOS users via our app repository and will also be bundled into the next OS release. Vanadium isn't yet officially available for users outside GrapheneOS, although we plan to do that eventually. It won't be able to provide the WebView outside GrapheneOS and will have missing hardening and other features.

GrapheneOS version 2025063000 released


This is the initial official release of GrapheneOS based on Android 16 after the June 10th release of Android 16. Device support for Pixels was removed from the Android Open Source Project for Android 16 and had to be reimplemented which is why it took so much longer than usual. Please join our testing chat room if you're interesting in testing this experimental release. We'll be making a series of releases this week to fix several known issues and other issues.

Tags:

  • 2025063000 (Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, Pixel 8, Pixel 8 Pro, Pixel 8a, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold, Pixel 9a, emulator, generic, other targets)

Changes since the 2025062700 release:

  • full Android 16 port with all GrapheneOS features available (we previously shipped some parts of Android 16 backported to Android 15 QPR2 to provide the 2025-06-05 and then 2025-07-01 Pixel patch level)
  • migrate to using adevtool to handle a much larger portion of device support since the Android Open Source Project no longer includes device support for Pixels
  • adevtool: add new arcslib infrastructure for extracting resource overlays from the stock Pixel OS
  • adevtool: use fixed build number and build date for state regeneration to reduce diffs
  • don't disable external ports at boot on debug builds for internal development for debugging early boot failures

I want a community to exist like 4chan greentext here


Call it something like greentext or confessions or something. Anyone posting is automatically set to Anonymous with no link whatsoever to the original account for admin or users to track or in the logs/activity pub etc. Like the person will not get replies, notifications on their account for the post, or the ability to reply as Anon. Simply streamline creation of a throw away account using the existing credentials of an existing account for post access and to give automod a chance to act. Maybe bar new accounts or below a certain threshold of engagement.

Amazon CEO Andy Jassy says AI will probably mean fewer jobs after 27,000 people have already been cut from its workforce


Private company AmeriStarRail proposes cross-country Auto Train service with Amtrak


in reply to OneSpectra

Maybe try recognizing that most people actually have very real, legitimate grievances which have been completely swept under the rug by assholes all too eager to avoid responsibility by painting those asking the questions as brainwashed.

Or continue condescending to the entire world so you never have to break the pretty illusions you've painted for yourself, and keep lamenting how the entire world is turning against you.

All. The. Way.

This entry was edited (1 week ago)

Israel Slaughters Dozens in Attack on Popular Gaza Cafe as Trump Claims a Ceasefire Deal is Moving Forward


Abdel Qader Sabbah, Sharif Abdel Kouddous, and Jeremy Scahill
Jun 30, 2025

The outdoor cafe became a scene of carnage: all broken concrete and shredded wood, bodies strewn on the ground, plastic chairs torn apart, and blood soaked on the floor. A large crater in the ground in the cafe showed the missile impact. At al-Shifa hospital in Gaza City, fresh corpses in body bags were lined up outside."

Israel Slaughters Dozens in Attack on Popular Gaza Cafe as Trump Claims a Ceasefire Deal is Moving Forward


Abdel Qader Sabbah, Sharif Abdel Kouddous, and Jeremy Scahill
Jun 30, 2025

The outdoor cafe became a scene of carnage: all broken concrete and shredded wood, bodies strewn on the ground, plastic chairs torn apart, and blood soaked on the floor. A large crater in the ground in the cafe showed the missile impact. At al-Shifa hospital in Gaza City, fresh corpses in body bags were lined up outside."

What do you play in your phone?


We are coming from here.

I'm not gonna lie, guys, neither say the opposite: there are people who play in their phones, I bet you do, so do I. I'm curious to know what do you play in your phones, what kind of "phone gamer" are you. Remember PDAs? The only games that things had were mineswipper, solitaire, chess, sudoku among others. All those are games that perfectly use the touch capabilities of its device, but now, we have more process capacity, and we still have one touch screen (I know, you can touch many points of the screen at the same time). I've always seen the screen of my phone as a one big button, so, I can't play any game that needs more than one touch to be played. I do limit my catalogue of games to those mentioned above, and I really like them. I love sudoku.

What do you play in your phone?

in reply to gedhrel

I'm not quite sure why you think pointing out someone's confidently incorrect claim that containers do give you reproducible environments means that I fetishsize anything?

But if you genuinely want to know why reproducibility is valuable, take a look at reproducible-builds.org/.

I was quite happy to see that Debian and Arch have both made great strides into making tooling that enables reproducible packages in recent times. It's probable that, because of efforts like this, creating reproducible builds will become easier/possible on most Linux environments, including traditional container workflows.

For now though, Nix Flakes are much better at enabling reproducible builds of your software than traditional containers, if you can suffer through Nix not being documented very well. This article covers some more details on different build systems and compares them with Nix Flakes if you want more concrete examples.

FWIW, I think that containers are awesome, and using them for dev environments and CI tooling solves a lot of very real problems ("it works on my machine", cheap and easy cross-compilation for Linux systems, basic sandboxing, etc.) for people. I use containers for a lot of those reasons. But if I need to make something reproducible, there are better tools for the job.

in reply to ikidd

I really want to like Nix. The idea of declaratively defining my entire system sounds great. I can manage it with Git and even have multiple machines all look the same. I can define my partititioning once and magically get a btrfs disk working. Wow!

But I find the language confusing no matter how many times people say it's easy. I have a lot of experience with other programming languages so maybe it just doesn't mesh. It also gives terrible error messages that are hard for me to understand. And Nixpkgs is unpredictable for what version I'm going to get. One of the services I installed ended up being a release candidate version which was a surprise. What if I don't want the latest version of Docker? How do I pin it? Do I have to duplicate part of Nixpkgs? It just feels like a monorepo where everybody has to be on the same versions. Why on earth do the Nix language docs start by introducing math expressions instead of here is a simple self contained thing that installs one program. Here's how you configure it. Here's how you expand. Why does the dependency graph seem to pull in so many unnecessary dependencies? For example, I tried to build a minimal Docker image (which Nix looks to be a very good fit for), but I couldn't figure out how to strip out dependencies that likely were only used during build for a dependency.

I still like the idea and have managed to get my server defined entirely with NixOS which is very cool, but I can't recommend this to my tech friends because if I'm confused they will be more so.

This entry was edited (1 week ago)

The Fediverse Passport: A needed tool.


The Fediverse Passport would be the central account for all users on the Fediverse.

How it would work

a. Upon signing up for the a platform on the Fediverse the user would be redirected to the "Create your Passport" You would create your unique username. Once signed up you would then have an account on every platform connected to the Fediverse.

b. If someone friends/follows you on one platform they would automatically follow you on all platforms. Insuring that communities and friends could stay connected across platforms.

c. The passport for the user would show your feed on all platforms and allow you to selected which platform you want to see your feed from, also allowing you to directly search your content so you could find a post for whatever reason you need.

d. For the subscriber it would show them your feed and allow them to easily find your content.

e. Tons of customization options including the ability to monetize and or set a subscription fee for the video, blogging, and other "arts" platforms.

Safe Guards

You would be allowed to set your privacy setting to, Public, Subscribers Only, Approve Subscribers, Mutual Friends only, Private (Requires link)

Benefit

Would allow stream less interaction across the whole Fediverse and really get it going. No more having to create a different account on each platform and now you can claim an identity and keep track of your communities, also each site would directly help "advertise" the others.

in reply to Sackeshi

There is also KeyOxide with solves part of it via cryptographic verification and I believe some fediverse platforms already support it: codeberg.org/keyoxide

8BitDo announces it's controllers now have Steam/SteamOS compatibility


These controllers were all working on SteamOS before as far as I know, so I'm interested to see what this changes. My understanding is that previously their controllers just show up as generic xbox controllers, and now they will be properly recognized. We'll see if this has any other benefits like custom bindings for back buttons and things like that.

Source

This entry was edited (1 week ago)

Oculus founder Palmer Luckey leads group of tech billionaires launching new crypto-bank — aims to fill the void left by Silicon Valley Bank's 2023 collapse


just_another_person doesn't like this.

[SOLVED] Can't unmount automatically mounted CIFS share


Hi! Got an issue I couldn't figure out

When I use /etc/fstab to automount an SMB share using CIFS, I cannot unmount it without root privileges. If I mount it manually (as a non-privileged user), everything works just fine.

Also, an application I mount the share for (Pika Backup, based on borg) cannot access backups unless I unmount the share with root privileges and then mount it back manually.

A respective line in /etc/fstab is:
//address/directory /mnt/backup cifs credentials=...,user,auto,iocharset=utf8 0 2

Highlighted user option to make it clear I didn't forget it.

Any advice?

This entry was edited (1 week ago)
in reply to rumschlumpel

I live almost exactly on the opposite side of the planet from Australia; I just prefer to be cold - especially while sleeping.

Also, did you edit your earlier comment? I could've sworn I replied to one that said "Even in the winter?" But now it mentions long pants being an option, and there's no icon indicating it was edited. Just wondering, because someone mentioned a similar situation (a comment they replied to being different) recently.

in reply to schnurrito

You are right, my apologies.
Thats a platform for watching videos just like youtube. But it works in a completly diferent way, similar to torrent. Because its goal is to bring content freedom.
The problem with youtube is that they directly decide what people can record and what is forbiden. If you make content that youtube doesnt like, first he will hide it so wery small amount of people can see it, second they will demonetise you, and third they will delete your video and your whole channel at the end.
Just because you wanted to spread the truth.
Thats why lbry is created, they call it content freedom. 😀
This entry was edited (1 week ago)
in reply to pH3ra

Well you are hosting videos that are on lbry but its done automaticly, its not something that you have to do manyaly.
You just enter the desktop aplikacion and watch videos. And rest is done on itsown.
Videos that you watched you are now hosting for others to watch and thats it. You just set how much memory you want to allow app to use, so it doesnt fill up your drive and thats it.

And if you are content creator you host your videos just at first so couple of people can see them, and after that people are watching and hosting your videos vithout you doing anything.

"Sehr schön": FDP-Chef Dürr fliegt Wetter-Kommentar um die Ohren


Die Meinungen, ob 35 Grad und mehr sehr schönes Wetter sind, gehen auseinander. Der FDP-Vorsitzende Christian Dürr freut sich über hohe Temperaturen und schießt gegen die Grünen. Damit zieht er jedoch nicht nur deren Zorn auf sich.

Der vor wenigen Wochen ins Amt gewählte FDP-Chef Christian Dürr hat am Dienstag mit einem Kommentar zum Wetter auf der Plattform X einen Shitstorm ausgelöst. "Liebe Grüne, es nervt! Hört bitte auf, bei Hitze im Sommer (und bei Regen) eure gesamte Klimaerzählung zu posten. Wir haben gerade, wie man früher sagte, sehr schönes Wetter", schrieb der Bundesvorsitzende. Es gebe den Klimawandel und man müsse gegensteuern, "Populismus bringt uns aber nicht zum Ziel", so Dürr.

[...]

This entry was edited (1 week ago)
in reply to SapphireSphinx

So ein "Blow-Up" wäre auf einer Landebahn äußerst gefährlich, heißt es vom Flughafen in Hannover. Damit dies dort gar nicht erst passiert, waren dort dem Airport zufolge am Mittwoch Tankwagen im Einsatz. Diese fuhren demnach zwischen den Starts und Landungen die Landebahn entlang und kühlten den 50 Grad heißen Asphalt mit Wasser ab.


Was zum Fick machen dann Flughäfen in heißeren Regionen?

in reply to einkorn

Es gibt wohl unterschiedliche Asphaltmischungen für unterschiedliche Temperaturen. Das Problem ist, dass die Bandbreite begrenzt ist - das, was bei 40° nicht schmilzt, geht dann im Winter bei -20° kaputt (unsere Winter werden zwar auch wärmer, aber man tauscht ja nicht jeden Straßenbelag alle 5 Jahre komplett aus). Die meisten heißeren Regionen haben keine kalten Winter. Aber kp was man bei kontinentalem Klima macht, wo die Temperaturunterschiede immer schon größer waren - vielleicht ganz auf Asphalt verzichten, rumpelt dann halt mehr wenn man nur Beton hat?

Stop Killing Games - EU Initiative has 200k Signatures Left!


Yarr citizens of the high seas! The Stop Killing Games movement is still ongoing and we've recently had a second wind. It's within reach!

We're all lovers of media in here, and games currently have no safeguard that guarantees that they won't be locked down long after being released and abandoned. If crackers help us, they can still be played long into the future, but many times there isn't such a possibility, specially in multiplayer games.

This initiative seeks to change that by mainly:
- Disallowing planned obsolesce in paid video games. (Ex: By disallowing phone-home based DRM after the game reaches end of life. Like in Ubisoft's The Crew)
- Ensuring that paid multiplayer games can still be reasonably played long into the future. (Ex: By releasing relevant server hosting software)

If you didn't sign yet, there is only one month left. Tell your friends too.

Do you live in the EU?



Do you live in the UK?



Do you live elsewhere or would like to know more?


Disclaimer: Reminder post, sort of relevant since piracy movements have much to benefit from this initiative.

Have a fine day!

I've written a series of blog posts about a "hands-off" self-hosting setup intended for relative beginners.


Recently, I've found myself walking several friends through what is essentially the same basic setup:
- Install Ubuntu server
- Install Docker
- Configure Tailscale
- Configure Dockge
- Set up automatic updates on Ubuntu/Apt and Dockge/Docker
- Self-host a few web apps, some publicly available, some on the Tailnet.

After realizing that this setup is generally pretty good for relative newcomers to self-hosting and is pretty stable (in the sense that it runs for a while and remains up-to-date without much human interference) I decided that I should write a few blog posts about how it works so that other people can set it up for themselves.

As of right now, there's:
- An introduction (with Ubuntu basics)
- Tailscale setup
- Optional Docker Explainer
- Dockge setup with watchtower for automatic updates
- MicroBin as a first self-hosted webapp

Coming soon:
- Immich
- Backups with Syncthing
- Jellyfin
- Elementary monitoring with Homepage
- Cloudflare Tunnels

Constructive feedback is always appreciated.

EDIT: Forgot to mention that I am planning a backups article

This entry was edited (1 week ago)
Unknown parent

lemmy - Link to source

cyclicircuit

That's reasonable, however, my personal bias is towards security and I feel like if I don't push people towards automated updates, they will leave vulnerable, un-updated containers exposed to the web. I think a better approach would be to push for backups with versioning. I forgot to add that I am planning a "backups with Syncthing" article as well, I will take this into consideration, add it to the article, and use it as a way to demonstrate recovery in the event of such an issue.

My reason for wanting HomeAssistant and a locked down VLAN...


cross-posted from: lemmy.world/post/32265822

xkcd #3109: Dehumidifier

xkcd #3109: Dehumidifier

Title text:

It's important for devices to have internet connectivity so the manufacturer can patch remote exploits.

Transcript:

[A store salesman, Hairy, is showing Cueball a dehumidifier, with a "SALE" label on it. Several other unidentified devices, possibly other dehumidifier models, are shown in the store as well.]

Salesman: This dehumidifier model features built-in WiFi for remote updates.
Cueball: Great! That will be really useful if they discover a new kind of water.

Source: xkcd.com/3109/

explainxkcd for #3109

in reply to Landless2029

I just shopped for a humidifier, purposely avoided anything "smart", I ended up with a really fucking simple one, it has a hydrostat and can aim to automatically reach a level you want (40-50-60), has 4 speed,1,2,3,auto and sleep.

And the whole thing is nothing else just a wicking filter sitting in water that has a fan pointed at it, I think Technology Connectios would be proud of my purchase.

I will have to disinfect and change filters, but no need for distilled water like with ultrasonic humidifiers, and I boil my water and let it cool back to room temperature before adding it to the humidifier, hopefully that will help with staving off build up of bacteria

Steps Forward in Long-form Text


Some quick news about the Long-form Text project at the Social Web Foundation. After the publication of the draft FEP b2b8 (“Long-form Text”), the Social Web Foundation has been working with implementers to get more support for the Article data type, repr

Some quick news about the Long-form Text project at the Social Web Foundation. After the publication of the draft FEP b2b8 (“Long-form Text”), the Social Web Foundation has been working with implementers to get more support for the Article data type, representing multi-paragraph text on the Fediverse.

One of the big pain points has been how subscribers to long-form text from platforms like WordPress, WriteFreely, Plume and Ghost.org see the text in their microblogging platforms like Mastodon or Threads. Often, the data is abbreviated or misformatted. FEP b2b8 is, in part, a way to improve and standardize this problem.

The work in this area is bearing fruit; a few weeks ago, Shubhankar Srivastava of the Fediverse team at Threads announced that Threads is now properly displaying long-form text from Ghost. This is a big step forward in support.

The participants in the project are aiming to have better standards support from both publishers and consumers over the next few months, so I’m optimistic that other platforms will see similar improvements.

This entry was edited (2 months ago)
in reply to Evan Prodromou

As soon as Mastodon redirects all comments with more than one paragraph back to their original site rather than displaying them inline (in other words, makes them type 'Article' and treats them just like they do 'Article' content from WordPress, Ghost, or Friendica), I'll turn on our "long-form content should be an Article" switch again. Until that day, it's going to be a Note.
This entry was edited (2 months ago)
in reply to Mike Macgirvin 🖥️

Re: Steps Forward in Long-form Text


mikedev@fediversity.site that's the eventual plan actually... The vision is Articles are sent with a Note preview that contains maybe a paragraph or two, and links back to the original article. Baby steps!

FWIW NodeBB has already turned on "federate top level posts as Articles".

cc evanprodromou@socialwebfoundation.org

OBS does not allow me to create a new pipewire screen (only one works)


How come when I try to create a new obs screen, it is black, whether or not i toggle off the visibility on Screen Capture
and how do i get it to show the capture settings, like which monitor, or what portion of the screen, to be clear, the! first capture works, for some reason no other capture i try to create is letting me configure or display anything


^ Image \
pastebin.com/AzKCZ8Tt \
^ Logs
imgur.com/a/K7pMA4p
\
^ Video \
There is a chance this might be related to another issue I had, but I dont know a fix (I have to manually add what portals I want to install due to a bug, but I have the plasma portals so that should be enough?)

This entry was edited (1 week ago)
in reply to just_another_person

I have the hyprland portals installed, and the kde ones, due to some issue I had to explicitly install them so idk if that will mess with the way applications handle it, assuming not, and yes I have two gpus, one dgpu, and one igpu, the dgpu is directly connected to my hdmi, does OBS stuggle with 2 gpus? still, that sounds like it would be a issue with capturing the monitor managed by my igpu. Not a reason to stop a second pipewire capture.

What logs do you need? I provided some from running OBS but i assume it isnt enough, what logs should I collect, or is there a flag i need to run with OBS

This entry was edited (1 week ago)
in reply to SpiderUnderUrBed

Missed your logs link, but there's some hints in there.

You have both an Intel GPU and Nvidia GPU in that laptop, and it's selecting your Intel while trying to use Nvidia compatible settings. So you need to try and force everything to either work on Nvidia, or everything to work on Intel. It can't do both without splitting the settings per GPU, which I don't think is an option in OBS.

in reply to just_another_person

I tried nvidia-offload, as I set up PRIME awhile ago, it didnt help, here is the logs, if its useful:
pastebin.com/CiJ4Zyjw

Idk if OBS would actually respect the GPU being handed to it, or if it'll do something weird with screen capture, its weird per-gpu settings is not a option with OBS, if this is a OBS bug, i can file a bug report. Hopefully it can be resolved here.

in reply to SpiderUnderUrBed

Well in that log, it actually DOES use the right GPU. There are some other errors you have going on in there though, like you seem to have AV1 encoding selected somewhere in your settings, but this RTX 3070 doesn't support AV1 encoding (on the fly) AFAIK.

Try launching the app this same, setting all your hardware encoding stuff back to defaults, then see if you can get it working. In these logs it IS picking up the second pipewire display, so that's good, but launch this way again without AV1 enabled then upload the logs again and let's see what's happening.

in reply to rumschlumpel

Und wie wäre sowas?

Etwas runterscrollen, da wird eine Lösung zumindest abgebildet.

This entry was edited (1 week ago)

How to Reclaim Social Media from Big Tech


Article emphasizes the concept of "middleware". BlueSky inevitably gets more attention than the "Mastodon protocol" but there are some decent theoretical observations.
in reply to JubilantJaguar

Big Tech doesn't run social media. It runs algorithmic advertising platforms.

The majority of people using algorithmic advertising platforms are not content creators, they're consumers (if you're reading this, you're probably not in the majority). They have no interest is active participation in "social media". They're in it for the entertainment, the distraction, the memes, the algorithm telling them what they should care about. You can't remove this feature and expect these users to find content for themselves.

You can argue the pros and cons all you want, your reasoning may be factual and altruistic, but you will not get a substantial portion of content consumers to migrate to platforms that require more effort. They know what they're signing up for. They have no interest in "reclaiming social media".

Bluesky and Mastodon are fantastic platforms that, in my opinion, revive some of the core tenants of social microblogging. But this is like comparing a bulletin board system (BBS) to the Yahoo! homepage. Some people want to be involved, some people want to be told.

One of these platforms offers a greater profit making opportunity than the other. If one allows people to make money and another does not, what's the motivation for the most influential of creators to embrace the latter? And then what's the motivation of the consumers to embrace a platform that lacks the most influential creators? (Again, if you're reading this, you likely aren't a member of the majority.)

turdburglar doesn't like this.

Mehrere AKW wegen der Hitze runtergefahren


Lasst uns bitte die Atomkraftwerke wieder einschalten, für eine prüft Notizen sichere Stromversorgung.
This entry was edited (1 week ago)

Erdgasfeld vor Borkum: Bundeskabinett stimmt für umstrittenes Abkommen zur Erdgasförderung


in reply to chagall

I've got an m1 Mac mini running Asahi and its great. Just make note, not all of the hardware features are 100% supported. I'm fine with what's missing on my m1, but before you pull the trigger on an m2 Mac check the Asahi page and know exactly what machine you plan to install on. Do not buy it if you want or have to have hardware features that Asahi doesn't support on the machine you're planning to buy.

A podcast episode with heavy-weights of the Fediverse and ActivityPub - fredrocha.net


Please for gods sake dont use CasaOS


  1. It is a For-profit without any means of Generating income (unlike Truenas or Suse which have a paid enterprise version)
  2. Since there is no way of making money, it is apparent they will pull a Plex and Enshittify once they have the noobs on board
  3. At least it uses docker, so you can export the images, but who knows when this will change
  4. It uses discord as forum. They cant even get themselves to use their own OS to install a matrix server on there.
  5. They are not even Private. Their FAQ literally says „They will try to limit data collection“

You want to use some shitty OS by some shitty company? Go sign your soul to Windows Server you lobotomite

Thanks for coming to my ted talk.

This entry was edited (1 week ago)

don't like this

L’ERP Tryton : histoire et perspectives N. Evrard & C. Krier – B2CK


Connaissez-vous l’ERP Tryton ? Découvrez avec Projets Libres! son histoire, sa gouvernance et ses projets avec deux de ses membres fondateurs, Cédric Krier et Nicolas Evrard.

podcast.projets-libres.org/@pr…

Sommaire

L’histoire de l’ERP Tryton


Walid: bienvenue sur ce nouvel épisode de Projets Libres! Aujourd’hui, c’est un épisode un peu spécial. Les deux invités que j’ai aujourd’hui, ce n’est pas la première fois que je les interview. Il se trouve que la première fois que j’ai participé à une interview… c’était il y a 15 ans, sur une radio qui s’appelait Radio Panic, avec Frédéric Péters, Fabrice Flore-Thébault et Pierre Cros. On avait une émission qui s’appelait Good Morning Stallman, à laquelle on participait. Et un jour, le 14 janvier 2009, nous avons reçu nos invités, Nicolas Evrard et Cédric Krier, pour présenter ce qui était à l’époque, je pense, une des premières interviews de Tryton, un ERP open source dont on va parler aujourd’hui. Donc voilà, 15 ans après, normalement, si vous écoutez cet épisode, il doit sortir le 14 janvier 2024, c’est-à-dire 15 ans pile après la première interview. Petite touche humoristique. Et cette idée d’interview m’est venue parce que ça fait longtemps que je voulais parler de fork et faire une série sur ce que c’était que les forks. J’ai repensé à cette interview et j’ai donc recontacté Nicolas et Cédric. Ils ont gentiment accepté mon invitation. Donc j’espère que vous allez bien tous les deux.

Nicolas: oui, oui, on va bien. J’ai un peu peur qu’on répète ce qu’on a dit il y a 15 ans, mais voilà.

Présentation de Nicolas Evrard et Cédric Kreier


Walid: ça fait 15 ans, ça va. Je pense qu’on ne dira pas la même chose à mon avis. Alors pour les auditrices et les auditeurs, je mettrai dans les notes du podcast le lien vers l’émission de Good Morning Stalman de 2009. Voilà, pour ceux qui sont motivés, ils pourront aller écouter. La première partie, c’est que je vais vous demander à tous les deux de vous présenter, nous expliquer un petit peu quel est votre parcours. Comment vous avez connu le logiciel libre ?

Nicolas: bon, je vais y aller moi, je suis plus vieux. Donc, Nicolas Evrard, je suis un développeur Tryton. Comment j’ai connu le logiciel libre ? C’est à l’université, dans les années 90, donc ça fait quand même un bail là maintenant. On bossait sur des Unix et à la maison, pour faire des TP, le plus simple c’était d’avoir un Linux. Et donc j’ai installé une Red Hat, qui si je me rappelle bien était la 5.2. Et puis voilà, puis finalement j’ai mis une Debian et je me suis retrouvé à bosser sur Zope, un framework de développement web en Python. Puis une chose en amenant une autre, je me suis retrouvé à faire de l’OpenERP, TinyERP même à l’époque ça s’appelait, qui est devenu OpenERP. Et puis j’ai quitté, c’est devenu Odoo. Et j’ai rencontré Cédric peu avant de quitter, puisque pour la petite histoire je faisais les interviews des gens qui arrivaient chez Odoo et j’ai interviewé Cédric. Et il m’a bien plu parce qu’il lisait ses emails par Mutt. Ce qui est complètement stupide, mais bon, voilà. C’était une façon de trier les gens quand même.

Cédric: ouais, donc, Cédric, j’ai une formation d’ingénieur. J’ai commencé à connaître le logiciel libre, je pense, pendant aussi mes études. J’ai dû installer une Mandrake à l’époque (NDRL : pour en savoir plus voir l’interview de Gaël Duval), que j’avais eue dans un magazine, c’était des CDs. J’ai un peu laissé de côté. J’ai commencé mon parcours professionnel comme développeur dans une société qui faisait un logiciel pour des banques, en Cobol. Je suis resté quelques années là, et puis j’ai switché, et j’ai travaillé dans une boîte qui était dans la sécurité, qui faisait des network appliances. Et après ça, j’ai été engagé chez Tiny, pour travailler sur TinyERP. Et puis, quelques années après… on a démarré Tryton et maintenant on travaille tous les deux chez B2CK, une société qu’on a créée pour le support du logiciel.

Walid: je me rappelle très bien de la Red Hat 5.1 ou 5.2, on doit avoir à peu près le même âge. Vous êtes basé en Belgique, vous êtes basé où ?

Cédric: on est à Liège.

Nicolas: tous les deux liégeois.

Walid: alors maintenant que vous êtes présentés, commençons par introduire Tryton. La plupart des gens qui sont là, je ne suis pas sûr qu’ils connaissent Tryton. Donc déjà, c’est un ERP, un logiciel Enterprise Resource Planning. C’est un logiciel dont le but est de gérer un peu l’ensemble des process d’une société. Est-ce que vous pouvez nous présenter Tryton ?

Cédric: oui, en fait, on a même plutôt tendance à dire que c’est plutôt un progiciel qu’un ERP. C’est un peu plus large que vraiment les features (NDLR : fonctionnalités) d’un ERP. C’est vraiment un peu au-delà.

Donc, Tryton, c’est un logiciel libre, qu’on a développé, qui vient initialement d’un fork de TinyERP. On en parlera un peu plus tard. Ses caractéristiques, c’est qu’il est écrit en Python, qu’il se base sur une base de données Postgres, qu’il est sur une architecture trois tiers. Donc on a un client, un client léger, un serveur qui est le serveur applicatif, donc il y a la connaissance métier, les process métiers, etc. Et puis la base de données pour le stockage.

Cédric Krier


On a deux clients, en fait, deux clients légers. Un client dans le navigateur, écrit en JavaScript. et un client ou bureau écrit avec GTK, compilé en application native. Après, les fonctionnalités qu’on a de base, c’est les grosses fonctionnalités qu’on attend d’un ERP : achat, vente, gestion de stock, comptabilité, facturation, production…

Nicolas: vente en ligne plus ou moins, enfin il y a moyen de construire. C’est aussi ça qui est dans la philosophie de Tryton, c’est qu’on fournit les briques pour aller plus loin. Tout n’est pas intégré. J’imagine que les gens connaissent mieux Odoo. Et Odoo, ça vient avec son e-commerce dedans, et avec Tryton, c’est plutôt construit sur le côté. On a d’ailleurs construit quelques-uns.

Cédric: une des idées d’architecture du logiciel, c’est d’être modulaire, pouvoir activer les modules dont on a besoin, et créer des modules si on veut en plus. Et en plus d’être interopérable, donc on peut l’utiliser, d’être facile à connecter à d’autres applications, à d’autres solutions. Et donc entre autres pour l’e-commerce, on a un module pour se connecter à Shopify, un module pour Vuestorefront. Et on a déjà développé plusieurs fois des petits connecteurs pour d’autres e-commerces. On a aussi des solutions de connexion avec des solutions de paiement en ligne. On gère automatiquement : on a Stripe et Braintree, filiale de Paypal. Vraiment, l’idée c’est l’interopérabilité.

Nicolas: j’ajouterais en plus que le projet, cette vision d’interopérabilité a permis qu’il y ait d’autres projets qui sont construits en parallèle à Tryton. Entre autres, il y en a un logiciel libre qui s’appelle GNU Health, qui est donc un logiciel de gestion d’hôpitaux et de dossiers patients. Il se déploie, alors il paraît, en Espagne, mais essentiellement dans les pays en voie de développement. On en a vu au Laos, il y en a en Afrique, on sait qu’il y en a aussi en Argentine, en Jamaïque, à Cuba, je pense. Mais je pense qu’il y a des cliniques en Espagne qui l’utilisent. Et il y a aussi un logiciel de gestion d’assurance qui s’appelle Coog, édité par des clients à nous, qui fait de la gestion d’assurance et qui se base sur Tryton. Et eux, ils ont pris essentiellement la compta, mais rien du tout de la vente, du stock, etc. Et ils ont construit des centaines de modules qui gèrent des assurances.

Cédric: autre exemple de verticalisation, il y a aussi GnuVet, une version pour la gestion de vétérinaires.

Walid: vous avez fait des petits, là !

Nicolas: oui, oui, oui.

La génèse de Tryton


Walid: alors, justement, commençons par la genèse de Tryton. Pour parler de la genèse de Tryton, il faut donc parler de l’époque où vous étiez chez OpenERP. Moi, ce que j’aimerais comprendre, c’est quel est le cheminement qui vous a amené à vouloir créer Tryton, en fait ?

Cédric: je pense qu’on va me refaire une petite précision. En réalité, j’ai démarré le projet avec un autre associé, Bertrand, qui travaille aussi chez Tiny, et Nicolas a rejoint par après. Donc, vraiment la genèse du projet Tryton, ce serait plutôt de mon côté. Après, Nicolas a eu un peu la même démarche, mais de manière un peu différente. Donc, Tiny, ça s’appelait Tiny à l’époque, la boîte, et qui éditait Tiny ERP, un logiciel gestion d’entreprise aussi open source.

En tant qu’employé dans la structure, qui était une petite structure, je crois qu’on était moins de 10 à l’époque, avec mon collègue Bertrand, on était, après une année et demie, deux ans de travail dans la société et d’expérience, pas très contents en réalité du service au client qui était fourni. On était toujours un peu pas à l’aise par rapport aux promesses faites au client et par rapport à ce que la solution offrait et ce qu’il fallait développer, réparer en cours de route, etc. Donc, c’était assez frustrant en tant qu’employé de ne pas avoir la possibilité de fournir un travail considéré valorisant. Du coup… on s’est dit qu’on pouvait faire mieux. Et de là, assez rapidement, je pense qu’on s’est décidé, en deux ou trois mois, on s’est dit on va se lancer. Et donc, on a démissionné et puis on a démarré.

Cédric Krier


On n’a pas directement repris le code qui était hébergé un subversion (NDLR : autrement appelé SVN), mais en fait, c’était un subversion qui était privée. Donc, en tant qu’employé, on y avait accès, mais en n’étant plus employé, on n’était plus censé y avoir accès. Donc, on n’a pas repris, on n’a pas su reprendre l’historique, parce qu’à l’époque, le logiciel était juste publié en release, de manière un peu irrégulière. Et donc on est reparti d’une archive, mais on ne l’a pas intégrée telle quelle directement dans notre dépôt. On a repris des bouts, bloc par bloc, parfois en réécrivant des parties, et on a reconstruit en piochant dans le code existant. Ce qui nous a permis, dès le début, de corriger des erreurs qu’on connaissait de l’architecture initiale, d’essayer d’éviter de les reprendre pour notre départ. Avec le temps, on s’est aperçu qu’on avait laissé passer des problèmes à cette époque-là qu’on ne connaissait pas. Et de là, on a commencé à reconstruire. Ça, c’était vraiment pour le cœur, le cœur avec le client léger.

Walid: donc, en fait, la décision de faire votre propre boîte et votre propre ERP, elle n’est pas liée à des problématiques techniques, elle est liée à des problématiques de relations clients, c’est bien ça ? Ou il y en a aussi des problématiques techniques, en fait ?

Cédric: quand on était employé, on avait identifié des problèmes techniques qu’on a essayé de faire corriger et de rectifier en interne. Mais on n’avait pas la possibilité, on ne nous a pas donné les moyens de pouvoir le faire. À l’époque, je sais bien que la société n’avait pas beaucoup de ressources non plus, donc c’était difficile, il fallait balancer entre le client et ce genre de développements. Après, on ne connaissait pas tout de la société, on n’était pas dans les secrets du management à l’époque. Nous, on avait l’impression qu’on pouvait faire mieux. Mais ce n’était pas possible de le faire en interne, enfin dans la structure. La structure était plus à courir après des clients, à essayer de rentrer un maximum de clients que de rectifier les problèmes de genèse du projet.

Nicolas: pour la petite histoire, en fait, quand je suis parti et que j’ai fait engager Cédric à Fabien (NDLR Pinkears, fondateur de TinyERP) à l’époque, je suis parti avec quelqu’un que j’ai rencontré chez Tiny, qui s’appelle Gaëtan de Menten, et on est partis tous les deux avec, exactement ça c’est très drôle, les mêmes constats et les mêmes envies de changer techniquement les choses et d’avoir une autre relation au code et à la façon de faire les choses de façon générale. Bon, nous ça s’est planté beaucoup plus, Tryton a réussi à s’en venir, nous ça n’a pas du tout marché. Parce que nous, on a réécrit dès le début from scratch, on n’a pas voulu du tout être dans le fork. En fait, on a voulu partir de zéro et c’est le plus difficile.

Les premières actions à la naissance de Tryton


Walid: il y a naissance de Tryton. Si je comprends bien, les premières actions, ces premières actions, c’est reprendre le code, faire du nettoyage, etc. Vous publiez une première version quand ?

Cédric: j’ai regardé le premier commit qu’on a fait, le 19 décembre 2007. Et la première release, on l’a faite le 17 novembre 2008, donc quasiment un an. Je pense que c’est à peu près ce qu’on s’était donné comme objectif : un an pour avoir une solution utilisable, démontrable, et pour commencer à essayer d’attirer des clients. On a eu un client très tôt, qui nous a suivis dès le démarrage, ce qui nous a permis de survivre pendant cette année-là. À la première release, assez rapidement, il y a une petite communauté qui s’est créée, principalement des gens qui venaient de TinyERP et qui étaient un peu déçus aussi par la qualité et par la gestion du projet. Je pense qu’on a surtout capitalisé sur le fait que nous, on a directement publié le dépôt. Notre dépôt était public, ce qui n’était toujours pas, je pense, le cas de TinyERP à l’époque. Avec notre première release, on avait une discussion ouverte et on était prêts à discuter avec les contributeurs éventuels, ce qui n’était absolument pas le cas chez Tiny. Il y avait bien un forum, mais en fait, c’était plutôt un forum d’utilisateurs qui s’entraidaient, et les employés de la société n’avaient pas d’autorisation d’aller aider sur ce forum, ça ne passait que par une relation commerciale.

L’état d’esprit au moment du fork


Walid: dans quel état d’esprit vous étiez quand vous avez fait le fork ? Je m’explique, j’ai participé à un fork d’un projet libre, et pendant un an c’était la grosse excitation, parce qu’il y avait des possibilités qui s’ouvraient et tout. Alors, dans quel état d’esprit vous étiez à ce moment-là ?

Cédric: assez enthousiastes, on n’avait pas de passif. On n’avait pas à prendre en considération un passé, maintenir une compatibilité avec quelque chose d’existant, etc.

Donc c’est vrai qu’on pouvait casser tout et décider de changer des grosses choses, de faire des gros changements structurels sans trop de contraintes. Et donc c’est vrai que pendant cette année-là, c’était assez gai de développer et de travailler sur le projet. Mais une fois qu’on a fait une première release, on s’est imposé des règles.

Cédric Krier


Et du coup, ces règles ont un peu cadenassé : il y a eu plus de challenges pour arriver à faire ce qu’on voulait dans les contraintes qu’on s’est données. Et un petit peu moins de liberté, mais dans un sens…

Walid: c’était quoi ces règles ?

Cédric: un utilisateur doit pouvoir passer d’une version à l’autre sans avoir besoin de services externes. Ce qui permet de ne pas avoir de vendor lock-in, ce qui est souvent reproché sur certains projets : à partir du moment où ils utilisent leurs solutions libres, on est obligé de passer par leur service pour maintenir, parce qu’il y a personne d’autre qui ne sait le faire. C’est ce que fait Odoo pour l’instant. Ça, c’était une première contrainte. Essayer d’avoir une backward compatibility (NDLR : compatiblité descendante) des API le plus possible. Bien qu’on ait décidé à plusieurs reprises de casser cela, on a fait la publicité de ces changements, expliqué et mis tout le monde au courant.

Le panorama des solutions d’ERP en 2008


Walid: je voulais vous demander quel était le panorama en fin 2008 des ERP libres et open source. Il y avait quoi ? Il y avait Dolibarr, TinyERP, il y avait quoi d’autre ?

Nicolas: Dolibarr, TinyERP, ERP5. C’était un ERP fait en Python, si je me rappelle bien, par un Lillois ou quelque chose comme ça. Les concepts étaient un peu intéressants, d’ailleurs. Je me rappelle, il y a eu un bouquin sur le design des logiciels, et il y a un chapitre dessus. Ça existe toujours d’ailleurs. Ah bah oui, il y a eu un commit il y a cinq jours. Voilà.

Cédric: GnuCash. Je ne sais pas si ça peut se monter comme ERP, mais il y a GnuCash qui existe.

Nicolas: un truc en Java, comme Compiere.

Cédric: … Compiere.

Walid: il n’y avait pas grand-chose.

Nicolas: non. Au final, il n’y a toujours pas grand-chose.

Cédric: ERPnext.

Nicolas: ERPnext en effet.

Cédric: oui. Il y a aussi… Alexor.

Walid: il y avait de la place pour un nouvel ERP libre open source.

Cédric: la première concurrence, je pense, c’est avec Excel. Dans beaucoup d’entreprises, ils travaillent avec Excel. Donc, il faut remplacer Excel, on remplace souvent Excel. Ou alors après, il y a vraiment les logiciels propriétaires, Navision, SAP. C’est plutôt la concurrence que les autres logiciels open source.

Walid: vous publiez la première version, vous avez une communauté qui se crée. La question que je me pose, c’est : est-ce que vous gardez des contacts à l’époque chez Tiny ? Est-ce que vous savez s’ils regardent un peu ce que vous faites ? Est-ce que vous, vous regardez ce qu’ils font aussi ? Est-ce qu’il y a des échanges un peu dans un sens ou dans les deux ? Comment ça se passe ?

Cédric:

le début était un peu chaotique. Parce qu’on a eu une première affaire avec Fabien, donc Fabien Pinckaers, le directeur de l’entreprise, qui, assez rapidement, quand on a publié du code, etc., nous a accusés de le voler. Alors qu’on était repartis sur la version publique, ce qui était sous licence GPL2. De ce point de vue-là, on n’a en fait rien à se reprocher. D’ailleurs, après nous avoir accusés de manière publique, on a juste écrit une première lettre avec l’aide d’un avocat pour lui dire qu’il se calme un peu sur les accusations. Et d’ailleurs ça n’a jamais été plus loin.

Cédric Krier


Donc je pense que c’était plus une crainte d’avoir un concurrent qui débarque qu’autre chose.

Walid: c’était pour dire bienvenue.

Cédric: si on veut.

Ensuite, par la suite, il y a eu du code qui a été repris. Je pense principalement à une petite librairie qu’on avait développée, qu’on avait appelée VAT Number, qui est pour valider les numéros de TVA d’un peu partout, de plein de pays. Et donc, on collectait des formats et on ajoutait des validateurs, etc. Et on a retrouvé notre code repris tel quel, en copier-coller, à l’intérieur des modules d’Odoo. Ce qui ne nous avait pas trop plu, c’était le manque… Ils n’avaient pas gardé l’attribution de l’auteur, le copyright. Au niveau licence, c’était bon parce que ça restait GPL, si je me rappelle bien.

Cédric Krier


On a dû un peu leur rappeler qu’il fallait mettre… Ils ont mis le nom en commentaire quelque part dans le fichier. Ce n’est pas tout à fait la bonne pratique, mais on n’a pas été plus loin que de leur rappeler ça. Donc, il y a eu ce genre d’échanges de code qui sont partis dans cette direction-là. Ce qu’on a même trouvé un peu regrettable, c’est que nous, on a tendance à développer des librairies pour des fonctionnalités générales qui ne sont pas directement liées à Tryton ou à l’ERP, de manière à ce qu’elles puissent être utilisables par d’autres. Et on a vu qu’ils ne réutilisaient pas notre librairie, mais la bundle de manière un peu cachée. On trouvait que c’était un peu dommage de ne pas avoir cet esprit où justement on aurait pu contribuer ensemble sur un projet… un bout de code, un bout de projet

Nicolas: oui, par exemple. Sensiblement la même idée, c’est quand on a fait notre client. Parce qu’il y a le client JavaScript, il y a le client GTK, donc desktop. Pour faire les tests, on a fait aussi un client en ligne de commande, enfin, plus ou moins. Au final, ce client, il a aussi eu une existence. Enfin, l’idée a été reprise. Ils auraient évidemment pas pu reprendre exactement la même chose. Mais il y a eu de l’inspiration, je pense, des deux projets de l’un à l’autre. On est passés à l’Active Record (NDLR : un design pattern logiciel, un patron de conception). Ils ont suivi un an ou deux plus tard. Et nous, on regarde ce qu’ils font et ça nous inspire de temps en temps.

Cédric: nous, de manière claire et publique. Il nous arrive de voir des commits passer ou des changements chez Odoo et de dire : « ah bah tiens, c’est peut-être intéressant, c’est une idée intéressante ». Et du coup, on ouvre un bug dans notre bug tracker avec le lien vers le commit en disant : « tiens, ils font ça comme ça, ça pourrait être applicable pour nous et ça pourrait être intéressant ». Dans l’autre sens, il y a, je pense, clairement la volonté de ne pas parler du projet Tryton. Du coup, on n’a pas vraiment de preuves, mais il y a parfois des coïncidences, des choses. On découvre qu’on a une idée, on développe quelque chose, et on retrouve l’idée un peu similaire qui est développée quelques mois après. Alors, c’est possible que ce soit des coïncidences ou pas. C’est difficile à savoir. Mais de leur côté, je pense clairement que le mot d’ordre c’est d’ignorer et de faire comme si le projet Tryton n’existait pas.

Walid: donc le projet est en licence GPL V3+. Quand vous avez récupéré le code au départ, il était en licence quoi ? GPL2 ? Il était déjà en licence ?

Cédric: en GPL2. On l’a upgradé à la GPL3. C’était à l’époque où la GPL3 venait de sortir. Il y avait tout un terme autour de la Tivoization. On s’est dit que c’était probablement une bonne idée d’upgrader.

La gouvernance du projet Tryton


Walid: quelque chose d’autre qui m’intéresse beaucoup. J’ai écouté d’autres podcasts que je mettrai en description dans lesquels vous parlez un peu du deuxième sujet qui m’intéresse : la gouvernance que vous avez mise en place. Il y a cette volonté, dès le départ, de faire en sorte que le code reste libre. J’ai trouvé ça vraiment très intéressant, surtout dans une période un peu troublée comme maintenant où les projets ont tendance à changer de licence pour passer sur des licences plus ou moins libres. Et puis entre-temps, vous avez aussi créé une fondation. Est-ce que vous pouvez un peu m’expliquer le cheminement qui a conduit à la gouvernance que vous avez maintenant ? Est-ce que c’était ce que vous vouliez faire au départ ? Et puis maintenant, quelle est la gouvernance ? Comment le projet est-il géré maintenant ?

Cédric: je pense qu’au démarrage du projet, Bertrand et moi, nous n’avions absolument aucune idée de comment le projet allait … au niveau communautaire… de comment on allait gérer. On n’avait absolument pas de vision. On s’était dit : on va faire un projet open source comme les autres projets open source.

Nicolas: au niveau de la licence, il y a le fait que tout bêtement… OpenERP ou Odoo, je ne sais plus, Tiny, je pense. Tiny a toujours le copyright sur une partie du code, et donc on ne peut pas le changer. On voulait le changer, il faudrait qu’on demande, et je ne pense pas qu’ils seraient d’accord.

Mais sinon, notre vision à ce niveau-là, ça a toujours été d’attribuer le code aux personnes qui l’ont écrit, dans le sens où plus de personnes ont le copyright, plus il est difficile de changer ensuite. Et donc, ça oblige le code à rester open source. C’est aussi pour ça qu’il n’y a pas de CLA, Contributor License Agreement, parce qu’un CLA, au final, ça donne l’autorisation à une boîte de faire ce qu’elle veut avec son code.

Nicolas Evrard


Je ne sais pas si on en a vraiment discuté, mais c’est quelque chose sur lequel on était d’accord quasi naturellement.

Cédric: oui, nous, dès le début, on s’est attribué à chacun le copyright du code qu’il a écrit. Ça ne sert à rien de faire autrement. Et on ne voit pas d’intérêt à le faire autrement. Qu’est-ce que ça nous apporterait, à part des contraintes juridiques ? Il faudrait un CLA, il faudrait en avoir un, le faire signer, le conserver, etc. Et pour quel intérêt ? Si on me demande de signer un CLA, c’est parce qu’on veut changer la licence par après.

Walid: c’est parce que l’entreprise garde le droit de faire ce qu’elle veut avec le logiciel auquel une communauté de gens a potentiellement contribué, ce qui est assez sournois finalement quand on y pense.

Cédric: oui, oui. Et alors, je dois dire aussi, je pense qu’il y a un point à rajouter.

Au début du projet, la communauté s’est principalement construite avec des gens venant du monde de Tiny, d’OpenERP et Odoo, qui ont eu une forte tendance à changer de licence tous les 3-4 ans. Ils sont passés d’une GPL à, je pense, une AGPL, puis une LGPL, et maintenant ils ont un mix avec une partie propriétaire et une partie qui reste LGPL, mais ils se réservent le droit de basculer du code d’un côté à l’autre. Tous ces changements de licence ont créé une crainte chez certains utilisateurs ou participants à cette communauté, qui se sont redirigés vers nous. Et du coup, c’était un critère important pour eux : s’assurer que les règles n’allaient pas changer en cours de route.

Cédric Kreir


Nous, dès le départ, on disait que l’idée était d’avoir B2CK comme une entreprise qui contribue au projet, mais qui reste une entreprise comme les autres. De ne pas avoir un avantage ou la possibilité de dire, à un moment donné, « la communauté est assez grande, maintenant hop on ferme, on garde pour nous et on vous fait payer une licence pour la suite ». C’était une crainte que beaucoup avaient, et du coup notre mode de travail… la manière dont on gérait déjà était rassurant. Du coup, on a pu construire cette idée que plus on partage le copyright, plus c’est protégé, et plus la licence est figée. C’est un peu ce qui s’est passé avec le kernel Linux (NDLR : noyau Linux), qui d’ailleurs n’a pas pu passer à la GPL3 parce qu’il n’est pas possible d’avoir l’accord de tous les contributeurs. À l’époque, la clause initiale n’avait pas mis « ou plus tard ». C’est ça, donc c’est une GPL2 stricte.

Nicolas: ça nous permet d’embrayer sur la fondation, parce que la fondation vient d’une de ces craintes en réalité.

À ce moment-là, on avait B2CK, et on est allés rencontrer des gens en Espagne qui étaient utilisateurs d’OpenERP et contributeurs de certains modules, etc. Une de leurs craintes, c’était en effet que B2CK copie ce qu’avait fait Tiny et prenne le contrôle sur la chose. Et une façon de les rassurer, c’était de créer la fondation. La fondation, c’est un mécanisme juridique en Belgique qui permet de créer une sorte de société avec un but particulier, qui doit être non commercial, si je me rappelle bien.

Nicolas Evrard


Cédric: c’est sécuriser un bien.

On a dû donner à la fondation un bien, qui est en fait le nom Tryton, simplement. La fondation a pour objet de le protéger. Donc, on a défini des règles, mais ce sont des règles immuables. On ne peut plus modifier l’objet de la fondation, et ça, c’est une garantie qui va au-delà de simplement s’engager. L’État nous oblige à respecter cette situation.

Cédric Krier


Nicolas: si d’aventure, le conseil d’administration de la fondation ne respecte pas les règles, par exemple en fermant le code source, n’importe qui pourrait attaquer ce conseil d’administration devant les tribunaux belges en l’occurence, pour faire respecter le caractère open source.

Walid: et donc là, vous décidez de créer la fondation. Là, on est en quelle année ?

Cédric: en 2012.

Nicolas: ouais, novembre 2012. On peut voir ça comme une façon de rassurer les gens, parce qu’au final, pour nous, on ne voyait pas le problème.

Cédric: on avait sécurisé en quelque sorte le code source, mais l’autre risque, c’était le nom. La marque Tryton et le nom de domaine étaient la propriété de B2CK. On les avait achetés avec B2CK, parce qu’il fallait bien sortir les fonds à un moment donné. Et du coup un des risques était qu’on prenne le contrôle du domaine et qu’on pointe vers autre chose. Tout le travail de construction de la marque soit volé en quelque sorte. C’était une manière de protéger le projet.

On a cherché la bonne forme juridique. Ce n’est pas évident parce que les juristes ne font pas ça souvent et ne comprennent pas toujours la demande, la difficulté. Mais aussi ce qui est souvent fait, ce sont des organisations type ASBL (NDLR : association sans but lucratif), mais ça ne protège pas de la même manière. Il y a toujours moyen de prendre le contrôle d’une ASBL et de changer son objet social.

Cédric Krier


Donc, ça a pris du temps entre chercher, écrire des statuts qui nous conviennent et qui protégeaient le projet. De trouver un mécanisme qui permet un bon équilibre entre ceux qui vont avoir la responsabilité de la fondation et le reste de la communauté qui va avoir une espèce d’équilibre de pouvoir. Voilà donc ça ça a été des choses à inventer et à imaginer.

Nicolas: dans notre fondation, on a le principe des supporters, parce qu’une fondation ne peut pas avoir de membres. Le terme « membre » ne pouvait pas apparaître dans les statuts, donc on a utilisé le terme « supporter ». Les gens deviennent des supporters de Tryton et constituent une assemblée des supporters. Cette assemblée des supporters peut, à une majorité de 2/3 ou 50%, – je ne sais plus, de toute façon ça n’arrive jamais – décider changer complètement le board de la fondation. Il est élu pour 5 ans.

Walid: ce board, il est composé de qui ?

Cédric: à la création, on était trois fondateurs, donc les trois propriétaires de B2CK. On est fondateurs parce que c’est nous qui apportons le bien. Donc on a une qualité juridique spéciale. On a choisi quatre autres membres. Donc, on s’est mis tous les trois dans le nombre fondateur, dans le conseil d’administration, et on a inclus quatre autres membres. Alors, on a essayé d’avoir une diversité géographique.

Nicolas: il y avait Udo d’Allemagne, Albert d’Espagne. Sharon d’Inde, et le quatrième,

Cédric: Sebastien,

Nicolas: ah bah si, voilà, eébastian, donc d’Argentie.

Cédric: d’Argentie. Donc on a essayé d’avoir une université géographique, aussi de pays, évidemment, de langues, enfin de cultures, enfin d’essayer de représenter la diversité qu’il y a dans la communauté dans le bord. Ensuite, le bord se renouvelle tous les cinq ans par cooptation. On lance un appel à candidats, en fait, pour qu’ils se présentent. C’est comme ça que le bord décide de fonctionner. Ça, ce n’est pas vraiment dans les statuts. On va devoir aider les candidats et le bord précédent choisit les membres suivants. Ça peut être les mêmes. Il n’y a pas de limite sur le nombre de mandats que personne peut faire. Il est déjà assez difficile de trouver des gens. C’est en limite, on risque de…

La communauté de Tryton


Walid: donc, il y a une fondation avec des membres qui sont représentatifs de la communauté. Il y a la communauté. Donc, je suppose que dans cette communauté, il y a des utilisateurs. Il y a aussi potentiellement des sociétés de services, des gens qui… quelle est la diversité de la communauté autour de Tryton ?

Cédric: si tu parles juste des supporters, là, on en… être supporters c’est juste demander, il faut juste demander, donc il y a un peu tout, il y a des utilisateurs, il y a des développeurs, il y a des sociétés de services qui fournissent du service sur Tryton. Donc on a vraiment tout type d’entités. Après, si on veut parler de la communauté plus générale, plus large, la partie vraiment vivante qui participe, etc., c’est principalement quand même des développeurs qui sont… souvent des développeurs qui sont dans une société qui fournit du service sur Tryton.

Nicolas: la communauté se rassemble essentiellement autour du forum et on voit qu’il y a quand même une bonne petite partie de développeurs allemands, pas mal d’hispanophones aussi qui font du GNU Health ou du Tryton.

Cédric: oui, au final,

on n’a pas une très claire vision de qui utilise Tryton, sur le forum, on a des pseudos, mais on ne sait pas toujours ce qu’il y a derrière. On a des événements en live, et donc on peut mettre des visages sur des pseudos, mais c’est toujours une partie. En fait, on est assez dans le flou de savoir qui utilise Tryton, et qui est vraiment dans la communauté.

Nicolas Evrard


Walid: vous avez des clients que vous avez le droit de citer, juste pour donner un exemple, qui peut utiliser Tryton par exemple ?

Nicolas: j’ai cité Coopengo, oui, mais ce sont des gens qui font la verticalisation dont je parlais, Tryton, les assurances, c’est un de nos principaux clients.

Cédric: je crois qu’on peut parler de Jurassic Fruit.

Nicolas: on a Jurassic Fruit,

Cédric: c’est un site. C’est un site de vente de fruits en ligne.

Nicolas: on a quelques… Ah oui, clients prestigieux, Saint Luc.

Cédric: c’est les leaders des boules de billard. Je crois qu’ils font 80% des boules de billard du monde. Et ils l’utilisent pour presque… ils sont en train de passer à presque tout leur processus.

Cédric: oui, ils ont commencé par la gestion d’entrepôt et puis progressivement, ils rajoutent des fonctionnalités, les achats, les ventes. Ils complètent, ils remplacent un ERP fait maison, historique, par Tryton.

Nicolas: on sait que dans les gens qui contribuent à Tryton, il y a une société qui fait je ne sais plus combien de pourcents des fraises qui sont faites en Espagne. Voilà. Donc à mon avis, c’est des gens qu’on ne connaît pas, mais il y en a certains qui ont bonne part de marché dans leur secteur. Et ce qui se passe, c’est que comme on n’a pas une entreprise têtière qui dirige le marketing, qui dirige le logiciel, au final, on ne sait pas. On ne sait pas ce qui se passe. Enfin, si, on le sait évidemment, parce que comme on est quand même des gens qui contribuent beaucoup, les gens nous parlent, mais au final, il y a quand même des gens qui l’utilisent sans jamais rien nous dire.

Cédric: et B2CK, si on revient sur B2CK, on a principalement comme client d’autres sociétés d’IT qui ont des clients. Donc, on est souvent plutôt en deuxième niveau. On a certains clients en premier niveau direct, mais on a principalement des clients en deuxième niveau. Donc, du coup, on peut un peu deviner les clients qu’il y a derrière. Oui, et il y a aussi un point en plus. Je pense qu’il y a aussi une partie de rebranding. Donc, il y a des sociétés de service qui vont installer Tryton, mais sans dire que c’est Tryton. Peut-être juste rebrandant le logo, ou en faisant un logo à leur sauce, et en mettant un petit thème sur sur le client et hop, ils en font leur solution. Dans un sens, ça nous va. Ils ont tout à fait le droit de le faire. C’est un peu regrettable pour la notoriété du projet.

Les outils pour collaborer


Walid: vous avez parlé d’un forum. Quels sont les outils qui sont utilisés pour collaborer ?

Nicolas: alors le forum, c’est Discourse. Plus en plus de logiciels libres sont en train d’y passer.

Cédric: on a un forum IRC. Plutôt calme, parce que sur Discourse c’est quand même beaucoup plus agréable et plus asynchrone, donc ça permet beaucoup.

Nicolas: il y avait des mailing lists, mais on les a tuées pour Discourse.

Cédric: on n’a pas voulu multiplier les canaux, disperser, sinon chacun reste dans son silo, dans son canal préféré. Donc on a vraiment tout centralisé sur Discourse.

Nicolas: et puis ça fait barbu, les mailing lists.

Walid: IRC aussi.

Cédric: et d’ailleurs, maintenant que Discourse a… On a activé aussi les chats sur Discourse. C’est vrai qu’il y a un côté un peu redondant. L’intérêt de l’IRC était pour les petits messages rapides, quelqu’un qui a un petit problème, il peut poser sa question et avoir une réponse rapidement. En fait, le chat de Discourse pourrait remplacer IRC dans un sens.

Walid: et pour les forges ?

Cédric: on a notre dépôt sur Mercurial depuis le début.

Nicolas: et c’était self-hosté (NDRL : auto-hébergé)

Cédric: oui, on l’a hosté sur nos serveurs avec juste le service web de base qu’il y a dans Mercurial. Et on utilisait Rietvelt comme outil de Code Review (NDLR : revue de code). C’était l’outil que Guido van Rossum, l’inventeur de Python, avait écrit quand il travaillait chez Google pour le review du projet Python, que le projet Python a arrêté d’utiliser depuis quelques années. Le projet n’est plus trop maintenu, je pense qu’on devait être les derniers encore à l’utiliser. Du coup, ça nous a poussé à chercher une solution alternative. Et là, depuis un an, on est passé sur une forge qui s’appelle Heptapod, qui est en fait un fork de GitLab avec le support Mercurial. C’est un fork qui se veut friendly (NDLR : amical), donc en fait, ils viennent juste rajouter des composants pour supporter Mercurial à la place de Git. Et on est hosté sur leur plateforme. Ils ont une plateforme de… Donc c’est foss.heptapod.net. Donc là, on a notre projet Tryton qu’on a migré maintenant en un monorepo. Donc avant, on avait un dépôt par projet et module. Pour la migration, pour le passage à la forge, on a fait un monorepo. Les modifications qu’on fait ont assez souvent des implications dans plusieurs modules, voire même dans tous les modules. C’est beaucoup plus pratique d’avoir une seule Merge Request globale qui contient tout l’historique du changement que d’avoir plein de petits dépôts avec des Merge Requests qui doivent être faites en même temps. En plus, ça permet aussi d’avoir une CI (NDLR : intégration continue) qui est beaucoup plus stable puisqu’on teste toujours un tout cohérent, une version, enfin un snapshot de l’ensemble du logiciel.

Nicolas: c’est la fondation qui a sponsorisé le switch.

Les points forts de Tryton


Walid: où est-ce qu’il en est le projet aujourd’hui et quels sont les points forts de Tryton en fait ? Pourquoi Tryton est bien adapté aujourd’hui maintenant ?

Cédric: moi je dirais la modularité. On a vraiment poussé le concept vraiment à l’extrême, c’est-à-dire qu’on peut, via l’ajout d’un module, modifier quasiment n’importe quel comportement du logiciel. Donc on peut modifier les flux standards qu’on implémente, qui sont des flux généralement classiques, mais chaque entreprise a sa petite spécificité, etc. Donc on peut aller se plugger (NDLR : brancher) n’importe où dans le code pour altérer le comportement et adapter aux besoins, et donc de pouvoir vraiment s’adapter à des flux de travail très spécifiques.

Nicolas: par contre, par rapport où on est le projet en général, là,

Cédric: on est en vitesse de croisière, je dirais

Nicolas: oui c’est ça, on a une vitesse de croisière. Nous, B2CK, on connaît pas mal d’entreprises qui utilisent Tryton depuis 10, 15 ans et qui fonctionnent.

Alors, on ne connaît pas l’explosion exponentielle que connaît par exemple Odoo. Ça, c’est sûr, on ne va pas le nier. Personnellement, ce n’est pas quelque chose que je recherche particulièrement, donc ça ne m’inquiète absolument pas. Oui, on pourrait probablement avoir plus de développeurs, mais ça ne vient pas non plus sans d’autres contraintes et sans parfois une certaine friction ou des choses ainsi.

Nicolas Evrard


Cédric:

il est assez facile d’avoir des gens qui veulent contribuer, d’ajouter des modules, de faire un module pour leurs besoins, etc. Ce qui est beaucoup plus difficile, c’est d’avoir des contributeurs qui vont faire vraiment le travail de maintenance du projet, maintenir les dépendances à jour, faire évoluer sur les nouvelles versions, corriger des bugs un peu compliqués dans le cœur, etc. Ou même juste optimiser.

Cédric Krier


Vraiment tout ce qui est travail d’optimisation, d’amélioration, vraiment dans le cœur du moteur. On a B2CK qui travaille et on a quelques contributeurs qui le font. Ce n’est pas énorme et c’est difficile de trouver parce que ce n’est pas évident. Il faut avoir beaucoup d’expérience, connaître bien l’intégralité du code parce que quand on touche au cœur, ça peut avoir des impacts partout. Ce n’est pas évident. Mais il y a beaucoup de développement qui est fait, mais en dehors vraiment de Tryton. Il y a des dépôts un peu partout qui existent, de projets personnels ou de sociétés qui implémentent des modules spécifiques aux besoins qu’ils ont rencontrés, etc. Donc il y a toute une partie de modules qui existent dans la nature. D’ailleurs, il y a un projet d’essayer de mettre en place, de faire une cartographie, un répertoire d’un peu tous ces modules externes pour donner un peu de visibilité.

Le futur de Tryton


Walid: dernier point que je voulais aborder, qui était le futur en fait. Quels sont les gros sujets que vous estimez être importants pour l’avenir ?

Nicolas: au niveau de la communauté, il y a cette cartographie des modules tiers. On se demande aussi s’il ne faudrait pas… Mais ça, c’est une grosse « polémique » dans la communauté de savoir si les modules doivent être hébergés ou pas par le projet lui-même ou par des externes. Nous, naïvement, on pensait que ça se ferait tout seul, mais ça n’a pas l’air de… Forcé de constater que ça ne s’est pas fait. Il n’y a pas non plus de cartographie qui s’est faite toute seule, un peu à la Django Package. Django Package, par exemple, c’est vraiment bien, ça montre tous les packages, les gens peuvent mettre des commentaires, etc. Mais ce n’est pas le projet de Django qui a décidé de le faire, c’est d’autres gens qui l’ont fait, et puis ils se sont dit, ah, c’est cool,

Cédric: on peut reprendre.

Nicolas: Django le reconnaît,

Cédric: quoi.

Nicolas: il y a ça au niveau de la communauté, je pense que ça va prendre encore du temps pour que ça arrive, puisque ça traîne depuis des années. Mais je pense que s’il y a une volonté plus forte maintenant que ça arrive, je pense que ça arrivera. Et puis, il y a des défis techniques qui sont des mises à jour. Il faudrait qu’on mette à jour le client, par exemple, à GTK4. J’en parle quasi tous les ans. On pourrait réécrire… le JavaScript qu’on utilise est daté, on pourrait le réorganiser autrement, on pourrait le moderniser, ça simplifie la vie à plein de gens.

Cédric: on a l’idée d’implémenter une API REST avec une architecture particulière pour permettre de développer plus facilement des sites connexes et communiquer juste avec une API REST. Pour l’instant, la manière dont on développe ce genre de site est fort couplée avec Tryton. Donc je pense que ce serait bien de pouvoir le découpler un peu plus avec une API. Ça, c’est un des projets.

Nicolas:

on dit souvent qu’on n’a pas de roadmap, les gens nous demandent parfois » est-ce qu’il y a une roadmap, quand est-ce que ce module-là va être disponible ? ». En fait, ça n’existe pas. C’est la communauté qui le fait, et alors la communauté le fait soit en le développant elle-même, soit en payant une des boîtes dans la communauté pour le faire.

Nicolas Evrard


Cédric: les développements sont drivés par le besoin, en fait. Je viens de penser à un autre projet qui est aussi en cours, qui est la réécriture de la documentation. En fait, il y a un an et demi, deux ans, on a structuré la manière dont on voulait documenter chaque module avec un squelette prédéfini qu’on doit appliquer à tous les modules. On a déjà réécrit la documentation pour les principaux, on a réécrit 50. La difficulté, c’est qu’il faut connaître pour réécrire la doc, et une fois qu’on connaît, ce n’est pas très intéressant d’écrire la doc.

Conclusion de l’interview


Walid: on arrive sur la fin de l’interview. J’avais, en guise de conclusion, des questions à vous poser. Première question, c’est qu’est-ce que vous diriez pour parler de Tryton à des gens qui n’ont pas d’ERP ?

Cédric: j’imagine que s’ils n’ont pas d’ERP, ils travaillent avec Excel, ça permet de ne pas avoir des milliers de feuilles Excel à mettre à jour et à dupliquer, à copier-coller à gauche à droite et reporter des infos.

Nicolas: ça cadre les processus aussi. Il y aura moins de déviations par rapport à la norme et ça va permettre de mieux optimiser.

Cédric: standardiser les processus et aussi la communication à l’intérieur de l’entreprise. Et donc on va pouvoir communiquer tout le monde avec la même info. L’information sera plus partagée, plus diffusée.

Nicolas: et en fonction aussi de la taille de l’entreprise, ça peut définir mieux les tâches de chacun.

Walid: deuxième question, qu’est-ce que vous diriez pour présenter Tryton à des personnes qui, comme moi, ont déployé d’autres ERP, libres ou pas libres ?

Cédric: avec Tryton, la configuration, la personnalisation est très poussée. On peut répondre aux besoins du client, de l’utilisateur quasiment dans tous les cas, et que la base sur laquelle va être reposée l’installation, donc la base sur laquelle on va construire, est saine et a un design cohérent et stable aussi. Mais on a basé beaucoup de notre design au début sur un bouquin de design d’ERP, en fait : data model resource. L’architecture, ce sur quoi on va… vous allez construire. C’est des bases stables et robustes.

Nicolas: et aussi que les migrations sont incluses.

Walid: ça introduit ma dernière question qui est comment est-ce que vous présenteriez Tryton à des libristes qui travaillent déjà sur des ERP libres comme Dolibarr ou Odoo ?

Cédric: les migrations sont incluses.

Walid: pour Dolibarr aussi. Dolibarr,

Nicolas: c’est pas inclus.

Walid: ah si, c’est dedans. Si, si, je peux dire que c’est dedans les migrations.

Nicolas: par Odoo par exemple ça l’est pas.

Walid: à part la migration.

Cédric: Tryton fonctionne. Est vraiment orienté objet. On travaille sur des objets qu’on fait évoluer, sur lesquels il y a des flux, des déconnexions, etc. En fait, c’est assez agréable, parce qu’on n’a pas besoin d’écrire beaucoup de code pour répondre aux besoins. Le code est assez clair et assez lisible, assez vite compréhensible.

Nicolas: pour Odoo, je rajouterais aussi, par exemple, qu’on ne fait pas des calculs avec des float (NDLR : nombres flottants), tout bêtement. C’est un peu mauvaise langue, mais voilà, quand on fait de la comptabilité avec des flots, c’est pas terrible.

Walid: c’est la private joke pour finir. On arrive à la fin. Est-ce que je vous fais une petite tribune libre si vous avez un message à passer ?

Nicolas: zut, je m’étais dit, c’est le moment que je préfère. Il pense à un truc cool et j’ai oublié.

Cédric: ben, Mercurial, c’est cool. C’est mieux que Git.

Nicolas: oui, voilà.

Walid: vous êtes un des derniers que je connais qui utilisent Mercurial, si ce n’est les derniers.

Cédric: ah bon ? En fait, Mercurial est utilisé par Google, Facebook, Nokia. C’est probablement un des systèmes de version de source qui a probablement la plus grosse base, qui gère les plus grosses bases de code.

Nicolas: oui, je ne m’aventurerais pas juste à dire ça.

Cédric: alors, chez Google, je crois qu’ils réécrivent des bouts, etc. Mais c’est des boîtes qui ont des monorepos qui sont…

Walid: c’est en tout cas la première fois qu’on parle sur Projets Libres! de Mercurial.

Nicolas: on peut expliquer pourquoi ?

Cédric: ce qui est vraiment bien avec Mercurial, c’est la ligne de commande. Les options sont cohérentes, le fonctionnement est cohérent à l’intérieur de tout le projet, et il n’y a pas d’étonnement. Et en plus, c’est extrêmement difficile de casser son repo. Il y a des sécurités partout. Mercurial empêche de faire des bêtises, alors que je n’utilise plus très souvent Git. Mais chaque fois que j’utilise, régulièrement, je me trouve à casser mon repo et à devoir re-cloner parce que je suis perdu ou j’ai perdu des développements.

Nicolas: Mercurial, à ce côté : ils ont fait une ligne de commande qui est vraiment ultra clean et qui fait ce qu’il faut, alors que Git, c’est un vrai bordel. Alors, ça fait énormément de choses, c’est super bien, c’est super rapide, c’est ultra performant, mais c’est un bordel sans fin.

Walid: ça marche. Écoutez, merci beaucoup d’avoir pris du temps pour échanger 15 ans après sur Tryton pour voir un petit peu les solutions très intéressantes que vous avez mises en place et assez originales finalement comme l’histoire de la fondation. Ça, c’est vraiment hyper intéressant de pouvoir échanger là-dessus. J’invite tout le monde à aller voir Tryton. Je mettrai les liens, bien sûr, en description. Comme d’habitude, aux auditeurs, aux auditrices, parlez-en autour de vous. N’hésitez pas à commenter. Le meilleur moyen de commenter, c’est sur Mastodon ou aussi sur LinkedIn. Les deux, je réponds. C’est les deux manières les plus simples. À bientôt. J’espère vous reparler dans quelques temps. Portez-vous bien et à une prochaine.

Nicolas: merci,

Cédric: salut.

Walid: à bientôt.

Licence


Ce podcast est publié sous la double licence Art Libre 1.3 ou ultérieure – CC BY-SA 2.0 ou ultérieure.

This entry was edited (6 months ago)

[Transports] Transition : simuler et optimiser un réseau de transport en commun – Y.Brosseau & P.L Bourbonnais


Transition : Simuler et optimiser les réseaux de transport en commun. Comment une plateforme libre peut-elle aider à améliorer leurs réseaux de transport ? Dans cet épisode, Yannick Brosseau et Pierre-Léo Bourbonnais de la chaire mobilité de Polytechniqu

podcast.projets-libres.org/@pr…

Sommaire

La plate-forme Transition avec Yannick Brosseau et Pierre-Léo Bourbonnais


Walid: bienvenue à tous pour ce nouvel épisode de Projets Libres!. Aujourd’hui je suis très content, c’est le premier épisode d’une nouvelle série. Si vous avez suivi les épisodes précédents, vous savez qu’une de mes passions c’est les transports, les réseaux de transport. Et aujourd’hui, on va parler d’un projet qui s’appelle Transition. C’est un projet qui nous vient du Québec. Il se trouve que j’ai rencontré un des deux interviewés du jour, Yannick, au FOSDEM en 2023. Il faisait une conférence pour présenter cet outil Transition et ça m’a intéressé. On est resté en contact.

Pour parler de ce sujet, j’ai deux personnes, donc deux invités. Le premier, c’est Yannick Brosseau et le deuxième, c’est Pierre-Léo Bourbonnais. Ils travaillent tous les deux à la Chaire Mobilité de Polytechnique Montréal. Ils vont nous expliquer un petit peu après ce que c’est. Pierre-Léo et Yannick, ravis de vous avoir sur le balado, on va dire aujourd’hui, voilà, sur le balado. Bienvenue à vous et puis j’espère que vous allez bien.

Yannick: merci, très bien. Merci de nous avoir avec nous et de nous permettre de parler un peu de ce qu’on fait ici à la chaire.

Présentation des invités


Walid: eh bien, pour commencer, je vais vous demander à chacun de vous présenter, Yannick. Est-ce que, à toi l’honneur, est-ce que tu peux te présenter, s’il te plaît ?

Yannick: oui, donc Yannick Brosseau, je suis ingénieur informatique. J’ai une carrière travaillée dans beaucoup de domaines différents. Je suis surtout spécialisé dans le développement de logiciels libres et dans le support d’infrastructures, ce qui m’a amené, il y a quelques années, de joindre la chaire mobilité et développer des outils en transport.

Walid: ok, super. Et toi, Pierre-Léo ?

Pierre-Léo: oui, moi, je suis associé de recherche, donc c’est un peu comme chercheur sous la direction d’un professeur, le professeur Catherine Morency, Polytechnique Montréal à la Chaire Mobilité. Je travaille surtout en analyse de données. Je travaille beaucoup avec OpenStreetMap et données spatiales, mais je fais aussi de la programmation depuis un certain temps. Puis, c’est pas mal ça. Je donne un cours sur la théorie du transport collectif à Polytechnique, puis un cours sur les innovations et technologies en transport. Donc, c’est un cours par session. Et voilà.

Walid: ok, super. Alors, justement, pour les auditrices et les auditeurs, on va parler d’OpenStreetMap. Donc, je vous renvoie vers l’épisode précédent, qui est l’épisode 5 de la saison 3 (NDLR : épisode 6), dans lequel on fait une introduction à OpenStreetMap avec Christian Quest, qui peut être un bon début si vous voulez comprendre certaines choses de la discussion qu’on va avoir par la suite.

Présentation de la Chaire Mobilité de Polytechnique Montréal


Walid : alors maintenant, ce que j’aimerais, c’est que vous nous présentiez un petit peu, avant qu’on rentre dans Transition, la chaire mobilité. Est-ce qu’un des deux, vous pourriez nous expliquer ce qu’est la chaire mobilité ?

Pierre-Léo: la chaire mobilité a été créée en 2010 officiellement, mais ça a commencé en 2009. C’est sous la direction de Catherine Morancy, qui est une experte du transport et de la mobilité au Québec depuis assez longtemps, donc de Polytechnique aussi. Au début, moi, j’étais étudiant à ce moment-là avec Catherine. Je terminais mon baccalauréat à ce moment-là en génie mécanique, mais j’ai bifurqué vers génie civil transport, parce qu’à Polytechnique Montréal, le transport se donne dans le génie civil aux études supérieures. Donc, il y a, je pense, un cours sur le transport au niveau du bac (NDLR : bachelor en Europe), mais sinon, c’est dans les études supérieures. Donc, moi, je suis arrivé là, sous la direction de Catherine, à ce moment-là. Puis, il y avait déjà, j’avais déjà un de nos collègues qui est encore là aujourd’hui, qui a commencé avec elle. Donc, au début, l’équipe, c’était deux : Catherine est un employé. Maintenant, on est rendu 7-8 avec toute l’équipe de développement. Ça a grandi en 13-14 ans. L’idée, au départ, c’était de faire le lien entre l’universitaire, l’académique et les sociétés de transport au Québec. Au début, c’était plus Montréal, mais maintenant, c’est rendu tout le Québec.

Donc, pour qu’il y ait des liens et qu’on puisse appliquer des choses et qu’il y ait un retour d’informations, que nous, on puisse les aider avec des outils, des modèles, des simulations, et qu’eux puissent nous envoyer des données plus récentes ou plus fiables ou officielles sur tous les transports à Montréal et au Québec. Donc, c’est vraiment ce lien-là. Et il y a aussi des experts internationaux qui viennent présenter à chaque année et qui viennent apporter une information sur ce que les experts en transport font ailleurs. Et c’est les partenaires, les sociétés de transport, les villes et le ministère des Transports du Québec qui financent la chaire mobilité, la base. Après ça, on a des projets à la pièce pour ajouter du financement.

Mais la base de la chaire mobilité est financée par ces sociétés de transport-là. À toute fin pratique, c’est, on va dire, 90 % des opérateurs de transports collectifs du Québec qui sont présents d’une manière ou d’une autre dans la chaire. Puis certaines villes. Il y a la Ville de Montréal qui travaille beaucoup en mobilité, le vélo et tout ça. Et le ministère des Transports qui est partenaire officiel de la chaire aussi.

Pierre-Léo Bourbonnais


Walid: ça se joue au niveau de la province de Québec ?

Pierre-Léo: oui. On va faire des contrats des fois avec d’autres gens ailleurs au Canada, mais au moins 90 %, c’est vraiment au Québec. Quoique récemment, on a des nouveaux projets avec le Canada, avec Infrastructure Canada. Donc, ça grossit. On a commencé à faire des enquêtes pour tout le Canada. Donc, on va voir comment ça va aller à ce niveau-là.

Présentation de la plate-forme Transition


Walid: ok, très bien. Je ne l’ai pas dit. Je ne l’ai pas dit en introduction, est-ce que vous pouvez nous présenter à quoi sert cette plateforme Transition ?

Yannick: c’est en fait issu d’un projet, justement de la thèse et des travaux de Pierre-Léo au cours des études.

C’est une plateforme de planification des réseaux de transport en commun. Donc on parle à la fois des autobus, de métro, de train. Donc c’est tout un ensemble de ça. C’est une plateforme qui se veut vraiment pour permettre aux opérateurs essentiellement d’analyser les réseaux, enfin de faire des simulations sur des populations et vraiment analyser et optimiser les réseaux de transport.

Yannick Brosseau


On a des modules d’optimisation, de simulation à certains niveaux. On peut faire des comparaisons avec les réseaux, la marche, le vélo. On peut vraiment analyser l’impact de la mobilité des gens sur les réseaux en fonction de s’il y a des modifications à faire et voir où sont les performances la meilleure. Ça, c’est vraiment la plateforme de Transition qu’on a développée au fil des ans.

Pierre-Léo: ça a commencé, en fait, au début, on avait beaucoup de contrats, justement, d’analyse et d’optimisation avec les sociétés de transport à la chaire. Puis bon, je me suis mis à travailler sur des outils, des prototypes pour faire certaines tâches. Puis à un moment donné, on s’est dit : « ben, ce serait le fun d’avoir une plateforme où on met tous ces modules-là ensemble ». Puis c’est là que ça a commencé, d’agencer les pièces du casse-tête. Puis là, après ça, bien, l’équipe a grandi. Puis là, on commence, on a mis ça open source, puis on veut rendre ça plus robuste, plus facile aussi à implémenter avec d’autres sociétés, puis ailleurs dans le monde. Donc, c’est ça le processus actuellement.

Walid: donc, les utilisateurs de la plateforme, c’est les sociétés de transport, en fait ?

Yannick: essentiellement, pour l’instant, oui, les sociétés de transport, les villes, les gens qui ont à planifier les réseaux.

On a une vision à long terme de rendre l’outil tellement facile d’utilisation qu’un peu monsieur, madame, tout le monde pourrait l’utiliser pour essayer de comprendre les enjeux de transport dans leur région. On n’est pas encore là vraiment à l’outil, mais l’outil présentement s’adresse à des professionnels en transport, des gens qui connaissent un peu bien.

Yannick Brosseau


Pierre-Léo: les étudiants aussi, il y a beaucoup d’étudiants qui l’utilisent.

Yannick: tout un volet, effectivement, recherche pour l’étudiant dans notre laboratoire, mais aussi dans d’autres équipes, ils commencent à utiliser l’outil au niveau de la recherche pour comprendre les différents enjeux.

Walid: ok, oui. Donc, c’est un outil qui, à la base, vient de la recherche ?

Pierre-Léo: oui oui, à 100 %.

Walid: ok.

Yannick: c’est un peu intéressant, justement, je rajoute le modèle qu’on a avec la chaire mobilité, c’est issu de la recherche, mais vraiment en collaboration avec les utilisateurs ultimes, les sociétés de transport. Donc, on a vraiment une boucle de rétroaction de, oui, on fait des analyses en recherche, on a des étudiants qui font des analyses théoriques ou des analyses avec des données réelles, mais après ça, on peut les mettre les outils directement… bon, ces analyses-là, une fois qu’elles sont implémentées, peuvent être utilisées par les opérateurs directs.

Exemples d’utilisation de la plate-forme Transition


Walid: est-ce que vous avez des exemples un peu concrets à donner pour expliquer un peu comment les sociétés de transport… comment elles optimisent leurs réseaux de transport, en fait. Est-ce que c’est assez variable ? Est-ce que c’est plutôt des bus ? Est-ce que c’est plutôt avec du vélo ? Enfin, qui fait quoi avec la plateforme ?

Pierre-Léo: c’est sûr que pour l’instant, Transition, c’est pour le transport collectif. Donc là, il n’y a pas encore de gestion du vélo. Nous, on a du vélo partage qui s’appelle Bixi et tout ça. C’est prévu, on veut l’intégrer, mais pour l’instant, c’est strictement transport collectif. Et les sociétés de transport, un exemple de ce qu’ils vont faire, là récemment, il y a eu l’implantation d’un nouveau système sur rail qui s’appelle le REM, le réseau express métropolitain (NDLR : voir les vidéos de RMTransit sur le sujet, par exemple celle-ci, ou cette vidéo de Railways Explained), qui rajoute quand même beaucoup de services dans la région de Montréal. Et puis, les sociétés de transport qui opèrent des réseaux de bus doivent se rabattre sur ce nouveau réseau-là. Donc, ils ont fait une refonte de leur réseau autour des premières stations qui ont été inaugurées il y a deux ans.

Donc, un exemple de ce qu’ils vont faire, c’est qu’ils vont revoir le réseau de bus à l’aide de Transition. Il y a d’autres outils aussi, mais ils ont utilisé Transition pour ça. Donc, ils vont revoir chacune des lignes, changer les parcours, réduire le nombre de détours, souvent, aussi, qu’ils essaient de faire. Avoir un réseau plus européen, plus basé sur la demande. Donc, ils vont utiliser la plateforme pour faire ça. On a aussi eu des partenariats avec le ministère et avec des villes pour créer un réseau à partir de rien ou optimiser un réseau qui est très fragmentaire. Donc, on a utilisé un algorithme génétique pour proposer un réseau. On va proposer, par exemple, des milliers de lignes possibles puis l’algorithme va choisir l’ensemble de lignes qui va être optimal selon une flotte d’autobus donnés. Par exemple, je vais dire, « ben, j’ai 50 autobus dans telle ville dans mon budget de flotte, qu’est-ce que tu peux offrir comme service qui serait optimal avec cette flotte-là », en utilisant les données sur les déplacements des gens, où sont les commerces, où sont les points d’intérêt, où sont les domiciles, puis essayer de minimiser les temps de parcours, la collectivité, avec le réseau de transport collectif.

Donc, ça, on a fait ça, ça a été des prototypes, mais là, maintenant, on essaie de l’opérationnaliser pour que ce soit utilisable en vrai. Ils ont quand même utilisé, deux ou trois sociétés de transport ont utilisé des morceaux de ce qui avait été proposé pour revoir leur réseau, surtout en couronne de Montréal, parce qu’on ne fait pas encore les algos génétiques pour Montréal Centre, parce que les capacités de calcul sont limitées pour l’instant, mais il n’y a rien qui va nous empêcher de le faire dans le futur.

L’équipe de Transition


Walid: ok. Il y a quelque chose que j’aimerais bien aborder aussi tant qu’on est sur la présentation, c’est la présentation du projet, c’est la présentation de l’équipe. J’aimerais bien que vous nous disiez un petit peu les profils des gens, puisque là, déjà, tous les deux, vous avez des profils assez différents. Est-ce que vous pouvez nous dire un petit peu les profils des gens qu’il y a dans l’équipe ?

Yannick: dans l’équipe, si on regarde un peu at large (NDLR : en général), on a plusieurs développeurs logiciels, des gens qui ont des backgrounds un peu différents aussi. Je fais un peu de back-end, on a des gens un peu hybrides, on a des gens très front-end en développement. Mais beaucoup des gens qui ont appris aussi par eux-mêmes dans le domaine open source. On est quelques-uns qui ont vraiment une formation en informatique, mais Pierre-Léo a un background (NDLR : passé) en génie mécanique, génie civil. On a un autre collègue qui était un professeur d’éducation physique qui s’est appris à être autodidacte, mais qui est venu à nous parce que c’est un projet d’intérêt. Mais on a aussi plusieurs professionnels de, je dirais, des transports d’analyse qui travaillent plus comme clients, comme utilisateurs, qui nous donnent du feedback (NDLR : retours) sur les outils, sur l’utilisation.

Donc présentement, dans l’équipe, on est à présent en cinq personnes en développement logiciel. On est souvent suppléé, on a des fois des stagiaires, des fois des étudiants qui font contribuer des bouts d’outils ou même des projets de fin de bac, par exemple, de fin de formation en ingénierie, que les gens vont contribuer un module à l’outil. C’est l’avantage de l’open source, les contributions peuvent venir d’un peu partout.

Pierre-Léo: on a aussi une économiste qui, à temps partiel, mais elle travaille quand même beaucoup avec nous. Parce qu’on trouve ça important aussi d’avoir un pied dans tout ce qui est économique, budgétisation, prédiction, etc. Donc, au niveau statistique, c’est quelqu’un qui est très fort en statistique, en économie. Puis après ça, nous autres, on fait beaucoup d’informatique. Moi, je fais aussi de l’analyse de données. Donc, c’est pas mal ça.

La licence MIT du projet


Walid: ok. Et donc, le fait que ce soit un projet de recherche à la base, ça explique la licence MIT très permissive que vous avez choisie à la base du projet ? Est-ce que c’était une évidence ?

Yannick: pas nécessairement, ça a été quand même une bonne discussion qu’on a eue.

On voulait avoir de l’open source, on voulait aller en libre, c’était de façon évidente, c’était issu de fonds publics et tout, ça doit rester. Il existe des outils commerciaux très très chers, mais on voulait avoir quand même un outil accessible à tous. Mais on s’est beaucoup posé la question entre GPL et MIT. Au début, on penchait plus du côté GPL, mais finalement, on a opté pour une licence permissive comme MIT, justement pour faciliter la collaboration avec tous.

Yannick Brosseau


Dans tous les milieux, parfois la GPL, dans certaines entreprises, si on voulait même que les entreprises puissent l’utiliser, va être un peu rébarbative. Une licence GPL, on peut aller de façon, une licence, une des plus libres possible en disant « voici du code, vous pouvez l’utiliser dans le contexte que vous voulez » en se disant, on va pouvoir faciliter le plus de collaboration possible de cette façon.

Walid: est-ce que le fait que ça soit financé par des fonds publics, ça doit être obligatoirement du code public ?

Yannick:

oui, donc malheureusement, il n’y a aucune obligation ici dans les fonds de recherche publiques à publier le code de façon libre. J’ai beaucoup travaillé dans plusieurs groupes de recherche. Je me suis toujours dit que si le financement est public, le code devrait rester public. C’est un peu l’évangélisme qu’on fait des fois quand on parle pourquoi vous faites du libre ? Oui, c’est intéressant, mais comme le financement a été payé par tous les contribuables québécois parfois, ou des fois tous les contribuables canadiens. On veut s’assurer qu’il y ait quand même un retour sur l’investissement en rendant la plate-forme disponible.

Yannick Brosseau


Walid: est-ce que ce projet vous a permis d’avoir des contacts avec d’autres organismes ?

Yannick: quelques-uns, pas encore des énormes collaborations. Effectivement, quand on va parler du projet dans les endroits libres comme FOSDEM, ça me permet d’établir des contacts. On a des discussions avec un projet qui s’appelle MOTIS, géré par une équipe en Allemagne principalement qui font des trucs très similaires à ce qu’on fait. Et voir s’il y a des endroits qu’on peut collaborer. On ne s’est pas rendu très loin parce que tout le monde manque de temps à ce niveau-là, mais on peut justement aller chercher des morceaux libres un peu partout. On ne veut pas réinventer la roue si la roue a déjà été inventée. Donc, ça permet de collaborer comme ça à force d’en parler un peu partout en se disant, ah, bien, c’est intéressant, je peux l’essayer. Puis, on l’a présenté dans des conférences aussi comme WCTR, qui est une des grosses conférences en recherche en transport. Les gens, « c’est comme, ah oui, c’est intéressant comme outil d’accès, relativement simple ». Les gens regardent sur « OK, comment est-ce qu’on pourrait l’utiliser et tout ? ». On se bute quand même à une difficulté. Ce n’est pas tous les gens qui sont informaticiens. Tous les praticiens du transport ne sont pas nécessairement informaticiens. C’est des théoriciens, justement, comme à Polytechnique, issus du Génie civil. Des fois, c’est d’autres départements, mais ce n’est pas nécessairement des programmeurs. Notre objectif de rendre la plateforme la plus facile d’utilisation reste assez primordial.

La plate-forme, ses possibles financements et formes juridiques à l’avenir


Walid: et là, quand tu parles de plateforme, on va y revenir un peu plus en détail après sur les composants techniques. Transition, c’est une plateforme en ligne ou c’est une plateforme que les sociétés de transport peuvent installer chez elles ?

Yannick: c’est un truc qui est basé sur le web, c’est une plateforme en ligne. Théoriquement, ils pourraient l’installer dans leur infrastructure locale, mais présentement, dans notre projet de recherche, c’est nous qui hébergeons en fait la plateforme et donc les utilisateurs viennent sur notre plateforme présentement. C’est un truc qui amène une réflexion de notre côté sur comment on déploie la plateforme utilisateur. On se dit que c’est open source, les gens vont simplement juste le télécharger et l’installer dans leur plateforme et tout. Mais comme c’est pas seulement un logiciel desktop, c’est une plateforme web, c’est une base de données, il y a quand même plusieurs composants, on y reviendra tantôt, c’est plus difficile. Donc on a une réflexion présentement en cours de comment on structure ça. Est-ce qu’on se crée par exemple un OBNL, un organisme à but non lucratif, pour offrir la plateforme en mode SaaS par exemple, en échange d’une contribution monétaire raisonnable. C’est vraiment un enjeu du libre, de dire, on écrit du code libre, les gens vont l’utiliser, mais non, il reste une étape de comment l’emmener à l’utilisateur final, ce qui n’est pas nécessairement évident quand tu sors du domaine de l’informatique. J’e t’étais dans le domaine del’infrastructure informatique, on utilise le logiciel libre tout le temps parce qu’on s’y connaît, mais quand on sort du domaine, ça amène un questionnement de comment on amène l’outil dans la main des gens. Ce n’est pas une question qui est aussi facile qu’on pourrait penser.

Walid: oui, je trouve ça intéressant que tu évoques ça parce qu’une des questions que j’avais après, c’était de savoir actuellement, c’est financé par des fonds publics, mais c’était de comprendre aussi est-ce que ces fonds publics sont suffisants pour pérenniser votre travail ou sinon, quelle structure et comment vous imaginez que vous allez pouvoir organiser votre projet pour pouvoir avoir l’argent nécessaire pour pouvoir continuer à travailler dessus en fait ?

Yannick: c’est une bonne question. Présentement, c’est ça. On regarde, entre autres, des prochains fonds de recherche. Il y a quand même de l’argent disponible dans certains domaines, parce qu’on avait quand même du financement pendant un certain temps pour développer le premier prototype. Là, on veut aller plus loin. Mais effectivement, comme tu dis, si on veut regarder, puis le rendre disponible aussi. Présentement, l’aspect des fonds de recherche vient du Québec, vient du Canada, donc on est un peu limité géographiquement, mais s’il y a des gens en Europe, des gens ailleurs en Amérique ou en Asie qui veulent l’utiliser, comment on peut supporter cette plateforme-là ? Donc c’est un peu là que la réflexion s’amène de se dire, on peut peut-être louer la plateforme en mode SaaS, c’est-à-dire un abonnement mensuel qui financerait une partie du développement sans en amener à des frais exorbitants, mais juste pour dire, on peut peut-être financer des financements de cette façon-là. Voire avec des subventions, parfois des utilisateurs finales qui pourraient peut-être financer des fonctionnalités spécifiques aux besoins. On est en réflexion à ce niveau-là. C’est vraiment l’avenue qui est la plus intéressante. Soit il y a une fondation, un non-profit derrière, soit on ramasse des dons directement un peu à la Kickstarter, si on veut, de dire « Ah, on a des features, on les finance de cette façon-là » ou des amendements suels. Il y a un questionnement qu’on se fait. Quand c’est de la recherche, c’est assez facile, mais c’est ponctuel. On a un projet pour 3-4 ans, mais après 4 ans, il faut tout le temps le renouveler, voir si des partenaires, disons, on a des partenaires ici qui sont publics-publics, donc on a les sociétés de transport, mais qu’il y a du financement aussi qui vient des organismes subventionnaires fédéraux et provinciaux. C’est des partenaires comme ça, mais est-ce que le partenariat va être encore là dans 5 ans ? C’est tout le temps une question qui est plus problématique. C’est un peu la difficulté.

Walid: oui, c’est intéressant parce que tu parles de fondation. Qu’est-ce qui vous pousserait, par exemple, à faire une fondation plutôt que, par exemple, une société ?

Yannick: ça pourrait être une option, mais dans nos réflexions qu’on s’y amène, on veut garder l’aspect public. On vend… l’outil est utilisé par des villes, par des sociétés de transport, par des organismes publics essentiellement. On ne veut pas faire du profit sur cette plateforme-là, cet outil-là. Ça se ferait très, très bien, ça serait très facile de fonder une entreprise, puis de le supporter de cette façon-là. Puis ça se voit beaucoup dans le modèle open source aussi. Il y a quand même plusieurs entreprises qui le font. Mais souvent, je trouve qu’il y a un modèle qui accroche. Des fois, il y a un conflit entre la profitabilité et le service public.

Et étant donné que l’outil veut vraiment être là pour aider à développer des services publics, ça peut être aussi des services privés, il peut y avoir des sociétés de transport privées, des autobus intérieurs urbains qui pourraient l’utiliser pour leur réseau. Mais l’essentiel est d’avoir un besoin public. On se dit… « Gardons ça dans le giron public, ça peut être plus intéressant ». Il y a d’autres compagnies privées dans le transport qui vont faire des outils similaires. On ne veut pas nécessairement rentrer en compétition directe sur ce domaine.

Yannick Brosseau


Les financements initiaux


Walid: là, tu as un peu répondu à la question. Une de mes questions, c’était la relation avec ce que nous, on appelle les autorités organisatrices de transport (NDLR : on parle désormais des AOM : autorités organisatrices des mobilités), donc les sociétés de transport. Là, ce que je comprends, c’est qu’en fait, comme tout le monde est associé à la chaire mobilité, les besoins remontent naturellement. Ce n’est pas vous qui les démarchez ou eux qui vous démarchent. C’est plutôt un peu collaboratif, quoi.

Pierre-Léo: oui, bien, la première fois qu’on a eu le financement pour trois ans, c’était avant la pandémie. Ça venait du gouvernement fédéral, donc le gouvernement canadien. C’est le financement à la recherche pour développer cet outil-là. Puis tout de suite, on a été voir les sociétés de transport qui étaient partenaires, parce que chacune a donné un certain montant. Puis l’organisme subventionnaire, lui, triplait le montant qui avait été donné par les sociétés de transport. Donc, on a réussi à ramasser une cagnotte comme ça. Puis là, tout de suite on a été voir les intervenants dans les sociétés de transport qui allaient utiliser Transition pour savoir c’était quoi leurs besoins. Puis là, on a fait la liste. Puis on gère ça dans la gestion du développement de Transition aussi. Puis on a aussi des canaux de communication où les utilisateurs dans les sociétés de transport peuvent nous écrire directement et on peut leur répondre. Des fois, ils ont des besoins particuliers, comme à Montréal, la Société de transport de Montréal. Des fois, on a besoin d’un calcul plus demandant. Donc là, ils vont nous contacter. Puis Yannick va pouvoir ouvrir des machines qui sont plus puissantes temporairement pour ne pas que ça coûte trop cher dans le nuage. Donc on a quand même des communications qui se font comme ça. C’est sûr qu’on veut continuer, mais ce serait le fun d’avoir d’autres pays ou d’autres sociétés aussi, puis c’est ça qu’on veut développer dans le futur.

Pourquoi les sociétés de transports sont intéressés par Transition


Walid: si je prends par exemple, maintenant, moi je suis une société de transport. Déjà, celles avec qui vous discutez, elles avaient déjà quelque chose informatiquement, elles n’avaient rien, en fait. Qu’est-ce qui les pousse finalement à collaborer avec vous sur cet outil ?

Pierre-Léo: au départ, ils utilisaient la plupart un logiciel qui était développé aussi à Polytechnique par un autre professeur depuis les années 90. Là, malheureusement, il est décédé il y a quelques années. Donc là, c’est comme on a repris le flambeau, mais on ne voulait pas nécessairement prendre le logiciel puis continuer à développer. Parce qu’on avait développé le notre au début en parallèle, donc on a continué avec le notre. Il ne fait pas exactement les mêmes choses, mais à terme, ça va permettre de répondre aux mêmes besoins, et plus encore. Donc, on a développé ça.

Aussi, les sociétés de transport utilisent des logiciels payants, commerciaux, comme Astus, puis toute la suite M2, etc. C’est des suites qui sont assez connues, qui coûtent très cher. Ça dépend. Ils ont toutes des ententes particulières avec les sociétés de transport. Donc, nous, ce qui est intéressant, c’est qu’ils doivent juste payer normalement… à terme, ils vont payer juste pour l’hébergement, puis pour des services particuliers, mais il n’y aura pas une licence onéreuse, quelque chose qu’ils doivent payer à chaque année.

Pierre-Léo Bourbonnais


Yannick: je peux donner un autre exemple. J’avais, lors d’une conférence, je discutais avec des gens de la ville de Los Angeles, en Californie, et ils disaient, oui, ils ont accès, il y a certaines équipes qui ont accès aux gros logiciels commerciaux qui font beaucoup de choses, puis beaucoup de planification, mais des fois, il y a des équipes qui ne sont pas dans l’équipe de planification, qui sont dans d’autres groupes, qui voudraient avoir, juste faire des petites analyses plus simples, mais qui n’ont pas accès parce qu’ils n’ont pas assez de licences pour tous les employés de la ville. Mais en ayant un logiciel libre comme ça, qui ne fait pas nécessairement 100 % du travail du logiciel commercial, mais qui peut faire l’essentiel de ce que les gens ont besoin pour développer des plus petites analyses, ils trouvent ça vraiment intéressant en complémentarité avec certaines plateformes qui ont des besoins plus spécifiques.

La formation des étudiants avec Transition


Pierre-Léo: il y a tout l’aspect de la formation qui est vraiment différent par rapport aux logiciels commerciaux. Et les logiciels commerciaux font beaucoup d’argent en envoyant des formateurs chez leurs clients sur une base régulière. Nous, à la place, c’est qu’on utilise Transition dans les cours à Polytechnique, les cours de transport. Donc, les étudiants qui ont fait les cours à Poly en transport, transport commun, puis gestion de données en transport, vont avoir utilisé Transition dans le cadre de leurs cours, vont avoir fait des simulations, etc. Donc, quand ils arrivent dans les sociétés de transport après, moi, je dirais qu’il y a facilement 20-25 % des employés, des nouveaux employés des sociétés de transport qui ont fait au moins un ou deux cours à Polytechnique en transport. Donc, eux autres, ils savent déjà l’utiliser, ils savent déjà comment configurer les choses. Donc, ça aide beaucoup, puis ça coûte beaucoup moins cher en formation. Toute la documentation est publique, on essaie de l’intégrer de plus en plus dans le logiciel. On a commencé ça ce mois-ci. Chacun des éléments, les définitions, les symboles, toutes les opérations pour calculer les choses vont être intégrées et documentées directement dans l’interface.

Toutes les choses que je montre dans le cours de transport collectif, sur la théorie du transport collectif, sont intégrées directement dans Transition avec les mêmes définitions. Donc, ça facilite aussi la formation des futurs étudiants là-dedans. Ça permet aussi de leur montrer toute la théorie qui est derrière, ce qui est rarement le cas, moi, je trouve, avec les logiciels commerciaux qui n’ont pas intérêt nécessairement à donner tous les détails de comment c’est calculé.

Pierre-Léo Bourbonnais


Le problème des standards et données fermées


Walid: avant qu’on passe au point suivant qui est comment est-ce qu’on démarre un projet de zéro, je me rappelle dans une des conférences au FOSDEM en 2023, il y avait quelqu’un des chemins de fer suisse qui était venu et il avait parlé d’un projet libre qu’ils avaient développé, donc au niveau ferroviaire, pour en fait pouvoir stocker et analyser les données des trains de mesure qui circulent sur le réseau. Et en fait, une des choses qu’il expliquait, c’est que une des choses les plus complexes, c’était que les outils propriétaires, les formats sont propriétaires et tu dois payer pour le format et tu dois payer pour la visionneuse. Et donc, en fait, t’es un peu… Tu es un peu embêté parce que tu ne peux pas partager tes données et si tu ne payes plus, tu ne peux plus les voir non plus. La chose que je me demandais aussi, c’est est-ce qu’à travers les solutions propriétaires du marché, il y a aussi ces problématiques de format fermé ou alors est-ce que sur les données de transport, il n’y a pas ce genre de problème parce qu’on utilise des outils libres et des formats libres ?

Pierre-Léo: moi,

je trouve le plus gros problème avec les logiciels propriétaires, c’est qu’on n’a pas la méthodologie. Comment c’est calculé ? Je ne pense pas qu’on va faire du reverse engineering (NDLR : rétro-ingénierie) pour trouver comment c’est calculé. Et ça, ça a toujours été un problème. C’est un problème aussi avec Google Maps, les calculateurs de Google, les lieux d’intérêt. On ne sait pas comment c’est calculé, c’est quoi leur méthodologie, quelles données ils ont décidé d’enlever, quelles données ils ont gardées, pourquoi. Alors que dans Transition, dans tout ce qu’on fait, nous, tout est transparent.

Pierre-Léo Bourbonnais


Si on veut faire un certain calcul, d’une part, tu as accès au code, mais en plus, on documente toutes les équations qui servent en dessous à calculer les choses. Donc ça, c’est pour moi qui est essentiel au niveau académique. Je ne veux pas qu’un étudiant se mette à faire des calculs et qu’il ne sait pas comment c’est calculé et qu’il prenne juste les résultats sans se poser de questions. Il peut toujours y avoir des erreurs, il peut y avoir des données qui sont mauvaises quand il arrive, qu’il y a eu des problématiques, juste les compteurs de passagers dans les autobus. C’est jamais fiable à 100 %. Donc, à la fin d’une journée, tu peux être ton compteur et compter moins 4 parce qu’à un moment donné, il a manqué 4 personnes ou il a manqué… Donc, c’est sûr qu’il faut être capable d’analyser ces données-là correctement, de savoir c’est quoi la méthode qu’on fait pour corriger ou pour accepter les erreurs, etc. Alors que dans les logiciels propriétaires, si tu ne connais pas quelqu’un qui travaille là, tu n’auras jamais vraiment une réponse claire. Puis même quand t’as une réponse, moi, j’ai toujours des doutes sur est-ce que c’est vraiment comme ça que c’est fait, on ne sait jamais.

Comment démarrer un projet avec Transition ?


Walid: si maintenant, par exemple, je suis une société de transport et je veux commencer un projet sur Transition, de quoi vous, vous avez besoin pour commencer un projet avec cette société de transport ?

Yannick: essentiellement, les données qu’on a besoin sont à trois niveaux pour utiliser Transition. La première, ça nous prend un réseau de transport. Donc, on se base sur OpenStreetMap pour avoir la couche de base du réseau, tout le réseau routier, les réseaux de marche et tout, pour faire la base de calcul. Donc, il faut que tu aies une région dans laquelle les données d’OpenStreetMap sont disponibles. Heureusement, et les auditeurs ont pu en entendre parler dans les épisodes précédents, c’est de l’information qui n’est pas partout dans le monde, mais elle est assez disponible dans la majorité des endroits. C’est de l’information qui est disponible.

Walid: au Québec, c’est super bien cartographié, je suppose ?

Yannick: la carte de cartographie de base, ce n’est pas du niveau de qualité que Pierre-Léo aimerait. Pierre-Léo travaille énormément avec la communauté OpenStreetMap pour corriger autant lui-même ou en collaboration les données. On va avoir les données les plus précises possibles. Mais disons, les réseaux routiers de base sont là, mais par exemple, je te donne un exemple, on s’assure présentement dans la région de Montréal, est-ce que les passages piétons sont tous bien documentés ? Parce que ça peut affecter le calcul des temps de déplacement pour accéder au réseau de transport en commun. C’est vraiment des niveaux de qualité qu’on va chercher. Plus la qualité du réseau OpenStreetMap est élevée, plus les résultats de calcul vont être de meilleure qualité.

Walid: donc, au minimum, il te faut les réseaux routiers.

Yannick: si ça va être les trains, ça prend un réseau ferroviaire, en théorie, mais on travaille beaucoup avec les autobus présentement, donc ça prend un réseau routier pour pouvoir déplacer. Puis ça a un réseau routier aussi, en incluant si on assume qu’il y a des trottoirs partout, pour que les gens accèdent au réseau. Donc, première étape, un réseau quelconque. Deuxième niveau, si tu pars from scratch, tu peux juste prendre ça et commencer à dessiner des lignes. La plupart des utilisateurs, des partenaires, ont déjà un réseau d’autobus, donc ils vont souvent importer, on va utiliser le format GTFS, qui est maintenant un format standard relativement universel, pour définir des réseaux de transport en commun. Donc, on va pouvoir importer le réseau existant et pouvoir faire des calculs là-dessus.

Walid: quand tu dis importer, ça veut dire que ce réseau-là, vous allez enrichir OpenStreetMap ?

Yannick: non, le… C’est importé dans l’outil, dans Transition, directement. Donc, on va afficher ça comme une couche par-dessus les données d’OpenStreetMap dans la visualisation de l’outil.

Pierre-Léo:

dans OpenStreetMap, mettons les réseaux de transport collectif, souvent, on a juste la ligne avec les arrêts, mais on n’a pas les horaires, parce que c’est des choses qui changent souvent, puis que OpenStreetMap, c’est fait plus pour quelque chose de stable. Donc, dans Transition, tu vas importer toutes les lignes, les arrêts, mais en plus, tu vas avoir tous les horaires pour une certaine période de l’année.

Pierre-Léo Bourbonnais


Donc là, ça te permet d’analyser. Puis souvent, tu vas importer les services : semaine, fin de semaine, ça peut être samedi, dimanche, je ne sais pas, ou les mêmes, si l’horaire ne change pas. Puis là, tu vas pouvoir analyser ça et rajouter une ligne, enlever une ligne, changer les services, etc. Donc, tu peux éditer tout ton réseau puis simuler des changements.

Yannick: les calculs dans Transition se font vraiment en fonction de l’horaire réel que tu mets, soit dans une nouvelle ligne que tu mets, mais c’est vraiment le calcul avec l’horaire existant, en se disant, ce n’est pas juste théorique. Tu prends une ligne, puis il va vraiment y avoir un autobus à cet endroit. C’est comme, « OK, tu pars d’un endroit à une heure précise, tu marches, ça prend combien de temps ? » « Est-ce que l’autobus va passer dans un horaire raisonnable ? » « Si tu as une connexion à faire, c’est quoi les temps raisonnables de connexion ? ». Donc, on va vraiment calculer avec une bonne précision des cas réels de ce qui se fait dans le réseau.

Walid: ok, donc t’as… D’un côté, la première, c’est les données de base. Il faut qu’elles soient à jour dans OpenStreetMap. Et ensuite, après, vous venez rajouter des données supplémentaires type données horaires. Par exemple, où est-ce que c’est géré toutes les notions de trafic routier ?

Yannick: c’est malheureusement un des aspects qu’on n’a pas encore dans l’outil et qu’on aimerait bien intégrer, qu’on réfléchit à comment intégrer.

Et la grosse difficulté sur les données de congestion, c’est qu’il y a très peu de données publiques sur la question. On est habitué d’aller sur Google Maps et voir les données, mais ce sont des données qui sont propriétaires. Ici, si on regarde au Québec, le ministère des Transports a quelques données, des comptages de rues sur les autoroutes et les grandes voies. Il y a moyen d’accéder à ces données-là. Puis, on a d’autres projets de recherche, par exemple, pour utiliser des données de taxi pour avoir inféré une certaine congestion. Mais c’est vraiment des difficultés importantes.

Yannick Brosseau


On réfléchit à des options. On avait des discussions qu’on avait avec des opérateurs, entre autres. Eux ont des données réelles de déplacement d’autobus. Puis, tu as des données de temps réel. Tu as le GTFS, tu as les données planifiée. Mais tu as aussi le GTFS Real-Time qui permet d’avoir des données réelles. Il y aurait moyen d’inférer aussi des temps de déplacement, des congestions avec là, mais c’est encore un projet, disons, à venir, à court, moyen terme dans l’outil. Mais effectivement, s’il y avait des sources de données publiques sur ces informations-là ou s’il y a des régions qui ont des sources de données publiques sur la congestion, ce serait facile à intégrer dans l’outil et à justement adapter le calcul de chemin.

Pierre-Léo: ça aussi, il y a toute une méthodologie. Là, on a beaucoup les données de taxi, ça, maintenant, au Québec. Nous, on a accès, là. Puis il y a une partie qui est accessible au public aussi. Mais avec ça, les données de taxi, est-ce qu’un chauffeur de taxi peut faire des déplacements, puis il y a des vitesses, puis des façons de se déplacer qui sont représentatives du reste des usagers ? Pas nécessairement. Il y a tout un traitement méthodologique qu’il faut faire pour enlever les données aberrantes. Des fois, quand le chauffeur de taxi n’est pas dans une course, il est peut-être beaucoup moins pressé. Peut-être qu’il va juste se promener dans des rues pour faire des choses, on ne sait pas trop quoi. Donc, il y a tout un travail qu’on fait présentement, mais on n’a pas tout mis ça ensemble pour avoir un calculateur sous congestion. Mais c’est prévu. C’est tout juste ça qui est prévu. La problématique, c’est que par opposition à OpenStreetMap, qui fonctionne partout dans le monde, presque, ça, c’est des données à la pièce qu’il faut récupérer. À part Google, il y a très peu de gens qui ont des données pour à peu près toutes les villes. Puis Google, on ne peut pas les acheter parce que ce serait trop cher. Je ne pense même pas qu’ils les vendent de façon massive comme ça. Donc, il faut y aller tranquillement. Mais oui, avec les opérateurs qui utilisent des bus déjà, qui ont des temps de parcours avec les bus, on va être capable éventuellement de pondérer.

Mais après, c’est un problème si un nouveau quartier est en construction, il n’y a aucun bus qui passe là, il n’y a pas de taxi parce que ce n’est pas encore construit, mais si tu veux évaluer un réseau de bus, là tu es pris parce que tu compares avec un réseau de congestion existant et un quartier qui n’existe pas. Donc ça, c’est vraiment l’enjeu, comment créer des choses qui n’existent pas, les comparer et que ça soit réaliste. Ça, c’est vraiment un enjeu qu’on a actuellement.

Pierre-Léo Bourbonnais


Walid: ça, c’est un problème général, pas que sur Transition et pas qu’au Québec. Je suppose que tout le monde a la même problématique de trouver des sources de données fiables et accessibles ?

Yannick: c’est souvent le nerf de la guerre pour faire du bon calcul, c’est avoir des bonnes données. Puis ça, d’ailleurs, ça met le troisième niveau de données que tu as besoin pour vraiment faire une bonne analyse avec Transition, c’est vraiment ce qu’on appelle la demande. Donc, c’est quoi les déplacements, c’est quoi les itinéraires, d’où les gens doivent partir, d’où les gens doivent aller. La plupart des pays font des enquêtes, ce qu’on appelle des enquêtes origine-destination. Ils font des grands sondages pour savoir où vont les gens, pour quelles raisons. On a une plateforme sœur de Transition qui s’appelle Évolution, qui sert à faire ce genre de sondage-là en ligne, qui est aussi open source. Mais des gens font ça soit au téléphone, soit en personne. Donc, prendre ces données-là et leur faire des simulations. On peut aussi faire des simulations avec des populations synthétiques. Si on veut, on peut juste prendre des points au hasard ou des trucs comme ça, mais si tu veux avoir des données réelles, c’est d’essayer de matcher le plus possible ta population réelle et les déplacements réels qui vont être faits pour pouvoir faire les vraies analyses et après ça, voir l’impact du réseau.

Pierre-Léo: parce que qu’il y a deux aspects là-dessus : Il y a les résidences, où est-ce que les gens habitent ? Ça, ça va assez bien parce qu’en tout cas au Québec, on a maintenant accès à des données publiques, le rôle foncier, les adresses résidentielles, etc. La partie qu’on n’a pas ou très peu, c’est les lieux d’activité : les commerces, les écoles, les parcs, ça, ça va bien, mais tout ce qui est, tous les commerces, les industries, on a très peu d’informations. Google en a plein, mais nous, on n’a pas nécessairement accès à ça. Donc là, il faut se bâtir des bases de données sur les lieux de travail, les lieux de magasinage, les lieux de loisirs, pour pouvoir envoyer les gens quelque part, parce que l’enquête origine-destination, elle couvre rarement assez de population pour retrouver des lieux exacts à part les gros centres d’achat et les grandes écoles. Mais nous, il faut être capable de répartir dans une simulation les gens sur tout le territoire à partir de leur domicile. Donc ça, c’est un enjeu qu’on a présentement, sur lequel on travaille. Les deux gros enjeux, je dirais, au niveau des données, c’est ça. Les lieux d’activité qu’il faut réussir à acquérir, puis les données sur la congestion, sur l’utilisation réelle des réseaux, surtout pour l’automobile, qui a une influence évidemment la plupart du temps sur la vitesse des bus.

Walid: ces enquêtes origine-destination, les résultats, ce n’est pas des données publiques ?

Yannick: ça dépend des pays. La plupart des pays, tu n’auras pas des données précises publiques, non, effectivement. Ce sont généralement accessibles aux villes, aux opérateurs de transport pour pouvoir faire justement des genres de simulations. La plupart des données publiques vont être des données un peu agrégées, plus haut niveau. C’est pour ça qu’on se pose la question justement pour faire des simulations avec justement les lieux de résidence, les données publiques. Il y a des données sur OpenStreetMap, mais ce n’est pas toujours complet. Dans les villes qu’on a fait des analyses très poussées, on a souvent pris le temps, quand je dis on, c’est essentiellement Pierre-Léo, de vraiment voir OpenStreetMap et s’assurer que tous les points d’intérêt, que tous les commerces ont été rajoutés, toutes les écoles, tous les hôpitaux, tous les endroits précis. Une fois qu’on a ces données-là, on peut faire des simulations un peu plus.

Pierre-Léo: pour vous donner une idée, on a ramassé les statistiques.

Pour une ville, par exemple, d’un peu moins de 100 000 habitants, on a fait un gros test à Drummondville qui est rendu à 80-85 000 habitants. Ça a pris quatre mois à temps plein. Pour moi et une stagiaire qui est à demi-temps, donc, mettons, on va dire six mois à temps plein, une personne, pour s’assurer que le réseau de la ville au complet, les réseaux piétons et lieux d’activité, que tout est vérifié et validé pour une année de référence.

Pierre-Léo Bourbonnais


Bon, heureusement, après mettre à jour, on parle d’à peu près 10 % par année de ce temps-là. Mais là, si on voulait faire tout le Québec, on parle de 10 ans à une personne. 10 personnes pendant un an, donc ça représente des gros budgets. Mais on n’aura comme pas le choix parce que sinon les données ne sont pas assez fiables. Donc ça demande vraiment beaucoup de travail sur ce plan-là. On essaye aussi d’avoir du financement pour ça parce que les sociétés de transport, les villes, les agences gouvernementales, on sait qu’ils utilisent beaucoup Google. Puis ils payent, ça leur coûte des centaines de milliers de dollars, voire des millions par année. Nous, on est en train d’essayer de bâtir des partenariats pour les convaincre au lieu de mettre cet argent-là dans Google, de le mettre dans OpenStreetMap. Là, ils vont pouvoir contrôler les données. Puis à long terme, ça va leur coûter beaucoup moins cher parce qu’ils auront juste à faire les ajouts annuels avec une équipe qui va faire ça à temps plein.

Yannick: c’est un truc où l’Europe a une longueur d’avance sur nous. Il y a plusieurs juridictions qui exigent que les villes ou les sociétés de transport mettent de l’information sur OpenStreetMap directement. Et donc, la collectivité maintient les réseaux à jour. On n’a pas encore ça en Amérique.

Les politiques autour de l’Open Data


Walid: justement, je voulais faire une micro-aparté tant que je vous ai sous la main. Chez nous, on a effectivement des législations depuis quelques années sur ce qu’on appelle l’open data. Donc, en fait, on a énormément de données accessibles et publiques sur les transports, nos opérateurs, etc. Il y a plein de trucs. Et je voulais savoir un peu si vous aviez des choses similaires ou si c’est des choses qui étaient en discussion, justement, d’ouvrir ces données. Au départ, finalement, ce qu’on disait dans l’épisode sur OpenStreetMap, c’est qu’on s’aperçoit que quand on ouvre les données, les premiers qui sont contents de contribuer et surtout de les utiliser, c’est les administrations. Parce que finalement, entre elles, ce n’est pas toujours facile. Et là, elles ont un cadre où c’est facile de contribuer et c’est facile de récupérer la donnée. Donc je voulais savoir un peu si chez vous, il y avait des choses un peu…

Yannick: ça évolue bien ici sur l’Open Data. Il n’y a pas encore vraiment des cadres législatifs contraignants, je dirais, pour forcer les trucs. Mais il y a beaucoup de trucs qui se font de façon volontaire par les différentes administrations, les différents gouvernements. C’est une mouvance qui a été quand même mise en place depuis une bonne quinzaine d’années. Donc, on trouve quand même de plus en plus de données disponibles. Des fois, ce n’est pas les données qu’on veut. Des fois, c’est des données format un peu pas appropriés ou pas mis à jour de façon assez régulière. Puis on trouve encore des silos, justement. On sait qu’il y a des villes qui ont toutes ces données-là dans des bases de données internes qui pourraient justement mettre sur OpenStreetMap puis maintenant tout partager ces données. Mais ce n’est pas là encore. Mais il y a de plus en plus d’informations. Je pense qu’il y a comme, par exemple, si on prend Montréal, je pense que la ville de Montréal rend disponible sur son site d’Open Data la position de tous les arbres en ville. Il y a plein d’informations un peu fragmentaires, mais c’est de regrouper tout ça ensemble.

Pierre-Léo: c’est ça, c’est l’équilibre qu’on a de la misère à avoir. Tu sais, comme le rôle foncier, c’est génial. C’est même au Canada, je pense, que le Québec est celui qui donne le plus d’informations en ligne. Je sais qu’en Ontario, ils n’ont pas accès à ça aussi facilement. Mais en même temps, tu as des choses, tu te dis « comment ça se fait qu’on n’a pas accès à ça ? », puis c’est difficile. Puis je pense pas que c’est de la mauvaise volonté, je pense que c’est juste un besoin de formation. Pour mettre des données sur OpenStreetMap, il faut d’abord enseigner un peu OpenStreetMap à ceux qui vont travailler en géomatique puis en transport après. Donc c’est pour ça qu’on le fait, qu’on le montre aux étudiants le plus vite possible, parce que ça reste complexe. Il y a toujours à peu près une réticence à dire OK, mais ça, c’est des données 100 % publiques, on ne contrôle pas qui va modifier. Puis il y a quand même… Ça arrive qu’il y ait du vandalisme, quoi qu’au Canada, c’est assez limité. On ne parle pas comme en Ukraine ou en Russie présentement, où c’est plus problématique. Mais il faut qu’il y ait quand même une communauté qui fasse le suivi de ça. C’est ça qu’on essaie de proposer, puis pas de bâtir nous-mêmes, mais de pousser derrière pour convaincre les autorités publiques. Moi, je parle à beaucoup de gens au ministère des Transports, puis on a su aussi que le ministère des Ressources naturelles, de l’aménagement du territoire aussi, les mettent ensemble. Souvent, c’est drôle, de un moment donné, j’ai eu une réunion avec eux, puis ils ne se sont jamais vraiment parlé. Puis là, je leur demandais, ah, les données d’OpenStreetMap, est-ce qu’on pourrait faire ça, ça, ça ? Puis là, ils ont découvert que chacun de leurs collègues sont du même gouvernement, fonctionnaires, travaillant sur des choses similaires, puis là, ça a comme ouvert le débat. Fait qu’il faut ouvrir des portes comme ça, que les gens se parlent, puis à un moment donné, après ça, on pourra proposer un cadre qui va forcer les villes et tout ça à mettre ces données-là. Mais même forcer les villes, c’est un grand mot, parce que les villes, les petites en tout cas, elles n’ont des fois pas l’expertise. Souvent, elles font faire une partie de ces travaux-là par des firmes privées. Donc, effectivement, dans ce cas-là, il faut qu’il y ait une loi ou un règlement qui dit, « OK, vous faites affaire avec qui vous voulez, mais il faut que ça suive le cadre d’OpenStreetMap, que ça soit compatible », etc. Donc, c’est ça qu’on a essayé de pousser, mais ça, c’est un travail de longue haleine.

Walid: vous faites des carto parties ? Il y a des carto parties ou des trucs comme ça ?

Yannick: il n’y en a pas régulièrement. J’en ai déjà organisé ici à Montréal il y a plusieurs années. Mais ce qu’on fait, nous autres, présentement, on fait de la formation, je dirais, plus. On explique aux gens qui étudient, entre autres, à Polytechnique, on organise des formations de comment contribuer à OpenStreetMap, c’est quoi les différents outils, comment se servir des données. Donc, c’est là, présentement. On essaie d’étendre ça un peu plus. Dans le cas, justement, qu’il y a beaucoup de données déjà disponibles, dans le temps, les carto parties quand on a 10-15 ans, il fallait dessiner les chemins, dessiner les routes.

Pierre-Léo: c’est beaucoup des données précises, le type de traverse piéton. puis tout ça, est-ce que c’est des abris ? Il y a plein de façons de le faire. Ou des fois, c’est de vérifier la connectivité. Est-ce que le trottoir que la personne vient de décider est bien connecté au reste du réseau ? Ou s’il est déconnecté, puis là, ça crée des problèmes dans les calculateurs de chemin. À ce niveau-là, ça prend quand même un niveau de formation de base avant que les gens aillent dessus, parce que ça arrive des fois que les gens vont corriger les choses et disent, oups, il y a une mauvaise compréhension de la connectivité des réseaux. Il ne faut pas aller trop vite non plus, il y a un travail en parallèle qui se fait. Mais je pense que c’est prometteur, on s’en va vers quelque chose de plus robuste.

La stack logicielle de Transition


Walid: si maintenant on parle un peu de technique, moi ce qui m’intéresserait, c’est de savoir un peu quelle est la pile logicielle que vous utilisez, sur quoi vous vous basez en fait, qu’est-ce que vous avez développé, qu’est-ce que vous avez intégré comme briques open source qui existent déjà, pour faire cette plateforme Transition ?

Yannick: essentiellement, Transition est un logiciel écrit, pour la majorité du cas, dans TypeScript, du JavaScript typé. Historiquement, c’était du JavaScript, et même avant ça, les premiers prototypes développés par Pierre-Léo étaient en Ruby. Donc, on a évolué vers là. Le tout repose sur une base de données PostgreSQL avec l’extension PostGIS pour l’extension graphique, ça nous permet de faire des calculs géographiques plus efficacement. On a une partie du backend qui est équipée en Rust, présentement c’est une toute petite partie, mais on essaie de l’étendre tranquillement pour avoir des comptes un peu plus robustes, un peu plus efficaces que du code JavaScript en Node.js. Et on a un calculateur de chemin qui est aussi open source, qui est trRouting, qui est un projet un peu indépendant.

Walid: comment il s’appelle, pardon ?

Yannick: trRouting, Transition Routing essentiellement, qui est un calculateur de chemin, vraiment prendre un point A en point B, qui sert à nos calculs. Un des trucs que j’ai regardé, c’est justement est-ce qu’on peut prendre ce calculateur-là et le remplacer par un autre et prendre d’autres modules externes. Donc, c’est un travail qu’on regarde un peu à temps perdu. C’est les morceaux essentiels, donc beaucoup de librairies, bien sûr, en Node.js qu’on utilise. On a comme divisé le projet un peu en deux. On a ce qu’on appelle le sharelib, donc une librairie de base qui est utilisée par les différents projets qu’on développe à travers la chaire mobilité, et toute la partie là si on veut spécifique à Transition, qui est des algorithmes de calcul, d’interface, de simulation.

Walid: de mémoire, parce que ça fait un peu de temps, mais j’avais écouté une conf que tu avais donnée justement à Los Angeles, et dedans, tu parlais, Yannick, du fait que vous aviez réécrit une partie du logiciel pour le fiabiliser. Parce que justement, alors je ne sais plus comment tu parlais de ça au départ, mais du fait qu’en fait, au départ, le code n’avait pas forcément été écrit pour être, enfin, n’était pas forcément hyper maintenable. Et qu’il y avait une réécriture qui avait été faite avec le temps pour justement le fiabiliser, le rendre plus maintenable.

Yannick: oui, effectivement, ça se veut du code qui était issu un peu de la recherche au début, donc du prototypage qui a été mis en production. Donc, il y a beaucoup de code qui a été réécrit, plus structuré. On a rajouté au fil du temps beaucoup de tests unitaires. Souvent, à chaque fois qu’on touche à un bout de code pour le modifier, alors on se dit, « bon ok, il n’y avait peut-être pas de bout de code de test unitaire dans ce coin-là, on va rajouter toute une suite de tests par-dessus ». Si on regarde, par exemple, j’ai beaucoup travaillé sur trRouting, qui a eu ça sur un code qui est en C++, qui n’avait justement pas beaucoup de tests, qui a du code qui avait été développé un peu rapidement. Donc beaucoup de réécriture pour rendre le code un peu plus solide, un peu plus compréhensible. Bon, ça malheureusement a diminué la performance parce qu’on a rajouté des checks et tout un peu partout. On travaillait à revenir, on va travailler là-dessus à remettre ça un peu plus tard. Mais oui, il y a comme un défi de justement prendre du code, des fois, d’étudiants. Comme, OK, on ne veut pas non plus imposer des techniques de développement logiciel très compliquées. C’est quelqu’un d’étudiant qui fait un prototype rapidement. Nous autres, c’est un peu notre mandat en tant qu’associé de recherche qui travaille sur le projet, de prendre ces prototypes-là et les rendre plus robustes. Donc, il y a encore des morceaux moins robustes, mais au fur et à mesure qu’on a, quand on a fait la transition de JavaScript à TypeScript, ça a quand même enlevé toute une classe de problèmes qui pouvaient avoir potentiellement. On essaie de solidifier. Un des projets qu’on veut faire, c’est justement convertir une partie du back-end un peu plus en Rust pour encore une fois rendre ça plus robuste, plus efficace, sur plusieurs aspects.

Walid: et le code, il est hébergé où ?

Yannick: c’est tout sur GitHub, chairemobilite/transition. On peut tout retrouver, le code. Tout le développement, tout le travail qu’on fait, c’est fait essentiellement dans le public. Nos PR (NDLR : pull requests) sont publics, tous les commentaires sont…

Walid: vous avez déjà des gens qui ont contribué ou qui ont contribué sur le code ? Externe, je veux dire.

Yannick: pas encore pour l’instant. On a des anciens étudiants qui ont contribué un peu, qui ont travaillé, ont étudié, ont fait leur maîtrise, maintenant, ça travaille dans des sociétés de transport. Ça arrive qu’il y a des gens qui ont contribué, des contributions-là. Mais ce n’est pas encore énorme. C’est encore essentiellement drivé par nous. On a hâte d’avoir des gens. De temps en temps, on a des bug reports de gens de l’externe. C’est quand même toujours intéressant parce que des fois, on a des out of the view, des gens qu’on ne connaît pas du tout qui nous rapportent un problème : « ah, OK, c’est intéressant, on va regarder ça. On n’avait pas pensé à ça ». C’est encore beaucoup de petites communautés ici.

Le futur de Transition


Walid: il y a une partie que je fais assez régulièrement dans les interviews, c’est un peu les défis, le futur, sur quoi vous travaillez, quelles sont les problématiques que vous avez et sur lesquelles vous voulez travailler dans le futur sur cette plateforme.

Yannick: je te dirais que notre plus grande problématique, c’est d’avoir plus de temps. De toute façon, si on regarde notre issue tracker sur GitHub, je pense qu’on est à 550, 600 issues ouvertes. Parfois des bugs, mais parfois c’est juste des suggestions d’amélioration, des modules à rajouter. C’est vraiment avoir le temps et, slash (/), le financement pour engager plus de gens aussi, pour pouvoir contribuer. Parce qu’on a beaucoup de morceaux qu’on veut travailler. Un des gros morceaux qui s’en vient, qu’on commence à travailler dessus, c’est tout l’aspect comparaison justement des calculs. Présentement, les gens peuvent faire les calculs, mais souvent les analyses vont extraire les données et les comparer à l’extérieur. Donc on veut vraiment intégrer ça directement dans l’outil. On a beaucoup discuté de l’aspect congestion qui est un morceau qui est tout le temps demandé par nos partenaires pour avoir justement des temps de calcul un peu plus, encore plus réels. Puis il y a un peu de travail, je dirais, de robustness, de test, de validation des calculs de chemin pour s’assurer. Parce que des fois, il y a des petits artefacts. Notre calculateur est bon, mais il y a des petits artefacts. On a un des bugs qui est très, très spécifique au réseau de transport montréalais. On a quelques lignes de métro, mais il y en a deux en particulier qui s’intersectent au centre-ville. Et donc, il y a tout le temps deux chemins possibles, mais le calcul de chemin, il en donne tout le temps juste un. Des fois, ça ne change ultimement rien sur le calcul final, mais c’est le genre de petit bug qu’on veut régler, rendre un peu plus robuste dans notre suite de tests. Pierre-Léo, qu’est-ce qu’il y a d’autre dans ta wish list (NDLR : liste de souhaits) ?

Pierre-Léo: je pense aller plus à l’international. Ça veut dire simplifier l’installation ou, si ce n’est pas l’installation, que les gens puissent, avec un SaaS, directement l’utiliser. Ça, je pense que ça pourrait aider. C’est là qu’on pourrait trouver des contributeurs extérieurs au petit environnement québécois, parce que ça reste limité pour l’instant. Je pense que ce serait ça. Bon, au niveau du financement, je pense que ce serait bien de reconvaincre les sociétés de transport de mettre de l’argent, mais présentement, au niveau politique, l’argent dans le transport collectif au Québec, ça s’égrène plutôt que ça s’améliore.

Walid: c’était une de mes questions suivantes.

Pierre-Léo: c’est difficile, mais on peut peut-être en parler tout de suite. Au niveau politique, le gouvernement est plutôt à droite. Ce n’est pas la même droite qu’aux États-Unis, mais il y a quand même… Les gens qui votent surtout pour ce parti-là sont surtout de la banlieue, puis au niveau rural, des plus petites villes qui n’ont soit pas de transport collectif, soit tellement peu qu’ils ne voient pas l’intérêt. C’est sûr qu’il y a des gens qui aimeraient en avoir plus, mais ces voteurs-là ont une réticence à financer le transport collectif parce qu’ils pensent que ça ne les aide pas vraiment. Ils ont tendance à vouloir plus de routes parce qu’ils pensent encore que rajouter des voies, ça va aller plus vite. Donc ça, on se frappe un mur à ce niveau-là. Au niveau des villes, je pense que ça, ça s’améliore. En tout cas, la vision des plus grosses villes comme Montréal, puis même à Québec, il y a une vision plus progressiste, mais ça reste long.

Présentement, il y a beaucoup, beaucoup d’investissements dans le vélo, mais autant je suis pour à 100 %, autant je trouve que le transport collectif est un peu le parent pauvre actuellement. Puis, tu sais, quand on installe une voie prioritaire pour les vélos, c’est super, mais souvent, on va enlever une voie d’auto. Si on enlève une voie d’auto, ça enlève une voie aux autobus aussi. Puis là, des fois, les bus vont plus lentement qu’avant. Et là, nous, on dit, il faut sortir les bus de la congestion, leur ajouter des voies réservées. Puis là, des fois, ça crée des conflits. Donc, tu sais, ça prendrait un meilleur équilibre dans les investissements. transport collectif vélo, parce qu’à long terme, à court terme, le vélo, c’est super parce qu’on a même une diminution, quelquefois, des utilisateurs de la voiture. Mais au niveau du transport collectif, ça diminue aussi parce que le réseau, on n’augmente pas les budgets, tout coûte plus cher, les salaires coûtent plus cher, ça coûte plus cher à construire aussi. Mais il y a plus de congestion, donc les bus vont encore plus lentement, donc c’est le cercle vicieux. Si on met de l’argent, c’est juste pour annuler la perte de temps qu’on a. Il n’y a même pas de gain de service.

Pierre-Léo Bourbonnais


Yannick: par rapport à des villes plus européennes, qui ont beaucoup de réseaux de métro assez extensifs, à Montréal, on a un bon métro, mais la région métropolitaine dépend quand même beaucoup des réseaux d’autobus. Et si on va dans les autres villes d’envergure moyenne au Québec, c’est juste des réseaux d’autobus. On a comme quatre lignes de métro à Montréal, quelques lignes de trains de banlieue. On a maintenant le nouveau réseau REM qui ajoute un petit service de haut niveau, mais ça ne couvre pas partout. Donc, on a encore besoin beaucoup d’autobus pour couvrir tous les besoins.

Walid: j’ai pas dit, mais le REM, pour les auditeurs, les auditrices françaises, c’est un RER, en fait. RER métropolitain Montréalais.

Pierre-Léo: on va dire petit REM, là, parce que vous, vous avez deux étages et plus de wagons. Nous, c’est quatre wagons, un étage. Donc, c’est comme un mini-métro.

Le coût de la construction des infrastructures et les assurances


Walid: il vague un peu là-dedans, mais moi, je suis un… un YouTuber qui parle de transport et qui est canadien, qui s’appelle Reece Martin et qui fait une très bonne chaîne YouTube qui s’appelle RMTransit (NDLR : il intervient dans le cadre des cours de Pierre-Léo sur les transports en commun). Et ce qui met tout le temps en avant aussi, c’est le coût de la construction en Amérique du Nord comparé à… Par exemple, en France, on construit tout le temps, donc nos coûts sont assez bas, finalement, comparé. Et là, il y a l’exemple typique du tramway de Québec, par exemple, où effectivement les coûts, ils enflent et tout, c’est aussi une des problématiques que vous avez chez vous du coût de la construction (NDLR : voir cette vidéo sur RMTransit).

Pierre-Léo:

mon avis, pour l’avoir vu depuis quelques années, la problématique principale, c’est la façon dont les contrats sont gérés. Le gouvernement a peur de gérer les risques, donc il va demander au consortium qu’il va faire un contrat, un contrat clé en main avec des assurances, puis il veut s’assurer que ça ne coûtera pas plus cher que ce qui est prévu, donc ils vont plafonner énormément, puis même des fois ça coûte encore plus cher. Donc, il y a énormément d’argent qui va dans les assurances, juste pour gérer les projets, dans la planification du projet, dans les expropriations. Ça, c’est des choses, des fois, qui ne sont pas calculées de la même façon en Europe aussi. Donc, il manque beaucoup de transparence de comment l’argent est calculé, comment les budgets sont calculés. Puis évidemment, il y a le manque d’expertise. Et comme on n’en fait pas beaucoup, à chaque fois, il faut faire venir des gens d’Europe. Puis d’ailleurs, pour venir nous aider, il faut former des gens. Ça, ça coûte extrêmement cher.

Pierre-Léo Bourbonnais


À long terme, ça devrait s’améliorer, mais pour l’instant, ça coûte très, très cher. Mais c’est surtout quand on regarde les coûts d’assurance, juste avant de commencer un contrat. Il faut que, mettons, celui qui va construire le tramway de Québec soit assuré pour des milliards de dollars. Alors que, je veux dire, ça n’a pas de sens. Puis en Europe, vous faites souvent aussi du fractionnement. Pas partout, mais il y a des endroits. C’est que là, on va dire, « OK, telle compagnie, vous allez faire deux kilomètres. Telle autre compagnie, vous faites un autre kilomètre. Telle autre compagnie, vous faites la station ». Donc là, les risques de chaque soumissionnaire sont beaucoup plus faibles. Donc, leurs assurances, elles coûtent moins cher. S’il y en a un qui rate son coût, on a une station où un 2 km est à remplacer au lieu de tout le système qui a été mal fait et qu’il faut recorriger. Donc ça, j’aimerais savoir qu’il y a un peu plus de latitude pour qu’on puisse créer des petites compagnies qui vont devenir expertes en transport collectif dans le rail et dans tout ça. Et qui sont capables de faire des petits contrats et quand on met ça bout à bout, ça devient robuste. Et s’il y en a un qui manque son coût, on a juste une pièce du casse-tête à réparer au lieu de toute la merde. Espérons que ça va venir. Je pense qu’on commence à en prendre conscience, mais avant que ça soit intégré, puis qu’il y ait des changements au niveau légal. Tout ce qui est légal, puis assurance, c’est très, très lourd, là. Puis les avocats ont peur de changer, tu sais. Puis c’est payant pour eux. Tout le système légal, c’est très, très payant, ces contrats-là, parce qu’ils savent qu’il va y avoir plein de poursuites, puis plein de choses.

Les plans pour promouvoir Transition


Walid: bon, ça, on pourrait en parler des heures. J’ai encore plein de trucs à dire, mais il y a un dernier sujet dont je voulais parler, c’était, vous avez commencé à l’aborder tout à l’heure, très rapidement, c’était, moi et Yannick, j’ai vu ta conférence au FOSDEM. En fait, j’aimerais savoir comment, qu’est-ce que vous avez prévu pour faire connaître Transition et vos autres projets comme la plateforme Evolution, mais comment vous avez prévu de faire connaître votre travail au Canada, en Amérique du Nord, et puis ailleurs, comme en Europe ?

Yannick: en fait, je pense que le nerf de la guerre, comme tu le signes, c’est d’aller en parler. Donc, j’essaie de couvrir les conférences open source, telles que FOSDEM ou SCALE aux États-Unis et à Californie, et d’en parler à ce niveau-là. On en parle dans les enjeux, dans les endroits de recherche. On commence à en parler un peu plus. Il y a comme un réseau canadien aussi de chercheurs en transport qui est actif. On va essayer de présenter à ces endroits-là.

Éventuellement, il y a une énorme conférence aux États-Unis qui s’appelle le TRB, qu’on aimerait ça aller présenter, éventuellement à ces endroits-là. En parlant de conférences, en parlant avec des différents collaborateurs, éventuellement, c’est sûr, si on a une offre plus commerciale, on va probablement cogner aux portes directement des sociétés de transport et des villes, et on va dire, « voici un outil, vous pouvez l’utiliser ». Présentement, on ne pousse pas non plus à très grande échelle à essayer d’avoir trop d’utilisateurs parce qu’il faut quand même être capable de les supporter. Avec les gens locaux, on a déjà beaucoup de besoins à identifier et à régler. Mais s’il y a des gens ailleurs dans le monde, en Europe, qui veulent essayer l’outil et qui veulent nous poser des questions, on reste disponible pour répondre et aider. On parle de problématique d’installation, mais ce n’est quand même pas très difficile. On a une image Docker que tu peux rouler tout simplement en Docker en local et pouvoir tester l’outil de cette façon-là. Donc, c’est un peu tech-savvy (NDLR : calé), ça se fait relativement bien. C’est un peu la philosophie open source du bouche à oreille. Les gens vont en parler. On ne cherche pas non plus à avoir une croissance. Si on serait une société privée, on voudrait peut-être chercher à avoir une croissance rapide, avoir des revenus. Nous, on veut maintenir nos projets. On veut les développer de façon un peu durable pour être capable de supporter et ne pas exposer trop les utilisateurs à des problèmes trop importants trop rapidement. Donc, on y va tranquillement, on parle à des gens comme toi sur ton podcast puis on y va morceau par morceau.

Walid: c’est quoi pour toi les retours du FOSDEM en fait ? Comment tu vois cette conférence et quel type de discussion tu vas avoir ensuite ? Quel type de personnes tu vas rencontrer ? Qu’est-ce que ça t’apporte que t’es venu ? Enfin, ça fait deux fois que tu viens, je pense.

Yannick: ça fait plusieurs fois que je vais au FOSDEM. Ça fait deux fois que j’y vais avec mon chapeau en transport maintenant. Puis c’est intéressant parce que maintenant, FOSDEM, depuis ça va être la troisième année maintenant en février prochain, qu’il va y avoir une track (NDLR : Railways and Open Transport). Il faut comprendre, pour les gens qui ne connaissent pas le FOSDEM, c’est le Free and Open Source Developer European Meeting, la plus grosse conférence de logiciels libres en Europe. Et c’est tout divisé en différents silos, en différentes tracks, sur des thèmes spécifiques, soit c’est un logiciel comme Postgres ou des domaines d’opération comme le source control, des trucs comme ça. Donc, il y a une track maintenant en transport. Et ce qui est intéressant, parce que la plupart des opérateurs, surtout ferroviaires européens, ils sont présents, ils contribuent, ils partagent des outils. Donc, pour nous, c’est une occasion d’aller discuter avec eux, discuter avec les gens qui utilisent l’informatique pour dire, bien, on a un outil qui peut vous être utile. Ou eux ont des outils qui prennent l’intérêt. Je reviens tout le temps à chaque fois avec une ou deux idées de comme, ah, ils ont développé tel outil. Si on pouvait trouver une façon de faire un bridge entre Transition et leur outil, des morceaux de simulation ou des trucs spécifiques, par exemple, au ferroviaire. On n’a pas beaucoup testé le ferroviaire parce que en Amérique du Nord, on n’a pas beaucoup de ferroviaires, tandis qu’en Europe, ils ont peut-être des problématiques qu’il faudrait regarder un peu plus. Donc, c’est un genre de discussion à avoir d’autres utilisateurs avec un point de vue un peu différent. Et d’autres projets, ce que j’aime de l’open source, c’est de ne pas avoir à tout développer, j’en parlais tantôt. Donc, est-ce qu’il y a des morceaux qu’on peut simplement juste reprendre et coller avec le reste de la plateforme pour faire une espèce d’écosystème un peu plus large de la planification du transport, mais ça peut être plus loin. On a un projet de recherche qui est nouveau de la recherche présentement, qui touche un peu l’intersectionnalité entre l’habitation et le transport et les coûts. Aller en banlieue, ça enrangerait des coûts de transport plus grands. on commence à regarder des objets. Donc, on utilise un peu Transition pour exposer ces données-là. Donc, collaborer avec des gens comme ça, ça permet d’en parler et d’avoir vraiment un forum de discussion sur le logiciel open source en transport est quand même une opportunité assez humaine.

Walid: pour ceux qui seraient intéressés par venir dans la track des transports cette année, je pense qu’il faut arriver bien en avance pour avoir une place dans la pièce. Moi, j’arrive une demi-heure en avance, je me pose et je ne bouge plus jusqu’à ce que ça soit terminé parce que les places sont chères.

Yannick: la suggestion pour n’importe quelle conférence intéressante à FOSDEM, il y a beaucoup de gens, il faut arriver d’avance pour avoir une place. Les conférences sont toutes enregistrées, vous pouvez retrouver mon ancienne conférence sur Transition en ligne sur le site de FOSDEM. Si on veut être sur place, il faut être là.

Le mot de la fin des invités


Walid: ok, bon, on arrive à la fin. Un mot de la fin, si vous voulez faire passer un mot aux auditrices et aux auditeurs de Projets Libres!, je vous laisse la parole à chacun d’entre vous, si vous voulez dire quelque chose avant qu’on se quitte.

Pierre-Léo: oui, bien moi, je suis quand même assez positif pour l’avenir. Même au niveau, je vais dire, je pense, j’aurais pensé que ça aurait été plus difficile, surtout avec des fonctionnaires, puis les gouvernements, les amener à se parler entre eux. Je me suis rendu compte que finalement, c’est juste qu’ils ne le faisaient pas parce qu’ils ne savaient pas vraiment qui était là et puis où. Donc, j’encourage les gens à aller voir leur gouvernement et les gens qui travaillent dans les différents ministères. C’est vraiment surprenant parce que les gens sont curieux, vraiment plus curieux que j’aurais cru. Puis il y a toute une nouvelle génération aussi qui est plus ouverte aux logiciels libres, à tout ça, puis à rendre ça plus transparent, plus facile d’accès. Donc je dirais que c’est ça qui est positif. C’est long, mais il n’y a pas nécessairement de porte fermée. Il faut juste savoir que la porte est là puis aller l’ouvrir. Je pense que c’est positif.

Yannick: je dirais, entre autres, aux auditeurs ici, si vous avez un background en informatique et que vous vous intéressez au domaine des transports, jetez un coup d’œil à Transition, juste par curiosité ou si vous voulez nous aider éventuellement.

Je connais beaucoup de gens qui sont en informatique et qui cherchent, disons, à avoir un impact durable. Les gens se questionnent comment je peux réduire l’impact carbone, comment je peux contribuer. Développer des outils qui améliorent le réseau de transport est une option. Donc venez jeter un coup d’œil à la plateforme. Aller vous impliquer sur OpenStreetMap est aussi un truc qui nous aide un peu tous à cet endroit-là. Donc allez voir ces deux projets, posez-nous des questions, essayez-le, essayez votre réseau, puis regardez les impacts, ça peut être intéressant.

Yannick Brosseau


Il y a d’autres projets, il y a plus qu’un autre projet open source en transport qui peut être intéressant. C’est un aspect intéressant, c’est ce qui me garde intéressé. J’ai travaillé dans d’autres domaines un peu moins pertinents socialement, mais dans le domaine de transport, c’est quand même un domaine qui m’excite.

Walid: merci beaucoup à tous les deux. C’était vraiment passionnant. J’aurais certainement eu plein d’autres questions à vous poser sur les réseaux de transport, mais voilà, à un moment, il faut s’arrêter. Écoutez, pour les auditrices et les auditeurs, si ça vous a plu, je veux bien que vous me le disiez en commentaire sur Mastodon. On a aussi un compte BlueSky maintenant, pour ceux qui veulent aller sur une autre plate-forme. Donc voilà, n’hésitez pas. Et puis, il y aura d’autres épisodes aussi sur les transports. Je pense que ça va devenir une série assez régulière, parce que j’ai plein de sujets hyper intéressants là-dessus que j’ai envie de traiter et qui sont un peu différents justement de ce que je fais habituellement sur le podcast. Voilà, à bientôt, portez-vous bien. Et puis, Pierre-Léo et Yannick, j’espère à une prochaine. Yannick peut-être au FOSDEM 2025.

Yannick: pas probablement, je devrais être là.

Walid: ben voilà.

Pierre-Léo : merci, bye bye !

Cet épisode a été enregistré le 26 novembre 2024.

Licence


Ce podcast est publié sous la licence CC BY-SA 4.0 ou ultérieure.


Une introduction au projet OpenStreetMap – C.Quest


projets-libres.org/introductio…


This entry was edited (5 months ago)

[Transports] – Créer un logiciel métier ferroviaire et fédérer les acteurs en Europe – OSRD et l’association OpenRail – SNCF Réseau


Dans cet épisode, nous découvrons la création du logiciel métier OSRD (Open Source Railway Desinger) au sein de SNCF Réseau. Son but ? Simuler une infrastrucrure ferroviaire à l’aide d’algorithmes ouverts. Autre originalité, la gouvernance de celui-ci a

podcast.projets-libres.org/@pr…

Sommaire

Le logiciel ORSD (Open Source Railway Designer) et l’association OpenRail


Walid: bienvenue pour ce nouvel épisode de Projets Libres!. Aujourd’hui, on va commencer cette nouvelle série sur les transports, transports et logiciels libres. Après le premier épisode où on a parlé de systèmes de simulation de transport au Canada, cette fois-ci, on va parler de simulation ferroviaire. Et je suis très heureux d’avoir avec moi trois personnes qui vont nous parler d’un sujet que je suis un peu, un logiciel qui s’appelle OSRD (NDLR : Open Source Railway Designer). Donc, c’est trois personnes de la SNCF. J’ai avec moi Céline Durupt, qui est experte Open Data, Yohan Durand, qui est développeur web, et Loïc Hamelin, qui est directeur de projet. Et avec eux, on va parler d’OSRD, on va parler de logiciels libres à la SNCF et aussi de fondations. Vous allez voir, il y a pas mal de sujets, ça va être très intéressant, même pour les gens qui, comme moi, ne sont pas des geeks des ferrovipates. Voilà, vous allez voir, ça va être très bien. Eh bien, écoutez, à tous les trois, bienvenue sur le podcast Projets Libres!.

Loïc: bonjour Walid.

Céline: merci. Bonjour à toutes et à tous.

Yohan: bonjour.

Présentation des invités


Walid: on va commencer par la rituelle présentation. Je vais commencer par vous demander de vous présenter, nous faire un petit peu votre parcours et nous expliquer aussi un petit peu comment vous êtes tombé dans le logiciel libre ou dans l’open data. Céline, à toi l’honneur. Est-ce que tu veux bien commencer, s’il te plaît ?

Céline: bonjour, je m’appelle Céline Durupt. Je travaille sur des projets liés à l’open data en particulier et aussi à l’open source un peu moins, mais j’aimerais que ce soit un peu plus le cas. Et ça l’est depuis que je travaille sur les projets OSRD. Donc moi, j’ai un parcours de géomaticienne à la base. Donc la géomatique, c’est la science qui s’intéresse à la façon dont on peut manipuler, visualiser, analyser des données géographiques avec des outils informatiques. Et j’ai commencé ma carrière à la SNCF il y a quelques années sur des projets d’abord d’information voyageur, puis maintenant depuis deux ans chez OSRD sur des projets de simulation ferroviaire.

Et dans tous ces projets, j’ai travaillé sur la façon dont on pouvait intégrer plus de données open data et en particulier des données ouvertes géographiques et encore plus en particulier les données de la base OpenStreetMap qui, pour celles et ceux qui ne connaissent pas, est une base de données géographiques ouvertes et collaboratives, c’est-à-dire un peu comme Wikipédia que chacun et chacune peut aller ajouter, modifier, compléter des informations de la base et cette base est extrêmement complète et précise, et elle est une opportunité très intéressante pour plein d’usages que je pourrais détailler dans la suite de nos échanges. Donc, je travaille à la SNCF pour accompagner les équipes qui ont des besoins de données et les sensibiliser au sujet de l’open data et les aider à consommer de la donnée open data. Voilà, je détaillerai plus tard sur OSRD ce que ça veut dire.

Et puis, sur la partie logiciel libre, c’est toujours quelque chose qui m’a attirée, qui m’a intéressée. En géomatique, on a un très gros logiciel libre qui s’appelle QGIS, que vous connaissez peut-être. C’est vraiment un domaine dans lequel il y a une rivalité entre la communauté du libre et un très gros éditeur que je ne citerai pas qui édite un logiciel concurrent. C’est un domaine dans lequel on a vite l’occasion de constater à quel point c’est intéressant de contribuer à des projets libres et collaboratifs plutôt que consommer des logiciels propriétaires. Ça m’a attirée vers ces sujets dès mes études et je suis contente d’avoir pu les continuer à la SNCF.

Céline Durupt – FOSDEM 2023 (source : site ORSD)

Walid: super. Alors, deux précisions. La première, c’est que je mettrai dans la transcription un lien vers ta conférence que tu as donnée au FOSDEM dans la track Transport en 2023. Conférence très intéressante. Et le deuxième, c’est que pour les seuls et ceux qui veulent en savoir plus sur OpenStreetMap, je vous invite à aller voir l’épisode que j’ai fait avec Christian Quest il n’y a pas très longtemps. Et on fait une introduction à OpenStreetMap, donc voilà, ça sera tout à fait approprié. Yohan, de ton côté, s’il te plaît, est-ce que tu veux bien te présenter ?

Yohan: oui, du coup, Yohan Durand, 20 ans bientôt de bons loyaux services à la SNCF. Je n’ai pas toujours été développeur, j’ai fait pas mal de métiers, dont celui de conducteur de train. J’ai, par souci de santé, j’ai dû me reconvertir et j’ai choisi notamment le développement, par passion de base, par passion pour cet univers. Etant donné que j’ai toujours eu une forte appétence pour le libre et l’open source, ça s’est fait assez naturellement, mon approche vers OSRD. Et à force de discussion, j’ai intégré le projet. Je suis développeur front-end dans OSRD, je m’occupe essentiellement de la représentation et de l’intégration. Depuis quelques temps, je suis plutôt spécialisé sur les graphiques et sur les tests end-to-end (NDLR : tests de bout en bout).

Walid: et voilà. Super, merci. Pour finir, Loïc, est-ce que tu veux bien te présenter ?

Loïc: moi, je suis Loïc Hamelin, je suis responsable du programme et à l’origine même de la création du projet, il y a 2000 ans. Moi, j’ai commencé à la SNCF il y a 26 ans maintenant, comme conducteur de train, comme Yohan. Puis, j’ai eu la chance de pouvoir reprendre des études et j’ai fait des études notamment en partie d’informatique. Ce qui m’a permis de voir les enjeux des systèmes d’information et du développement logiciel. Avec l’expérience opérationnelle, je me suis vite rendu compte qu’on n’avait pas forcément tous les outils nécessaires pour aider à la gestion opérationnelle en cas de situation perturbée et pour aider à la prise de décision pour réguler le trafic. Grâce à d’autres expériences professionnelles, notamment filiales chez Systra, où j’ai fait des études d’exploitation et j’ai utilisé des logiciels de simulation, j’ai vu qu’il y avait un potentiel sur ces logiciels qu’on pouvait développer en propre et l’utiliser par la suite pour aider à la prise de décision en opérationnel, pour aider à la résolution de situations perturbées.

Et après, pourquoi OSRD en open source ? Au début, c’est quelque chose qu’on m’a dit de faire. C’est mon responsable de l’époque qui m’a dit « ok, tu veux faire un simulateur, tu le fais en open source ». Et ça s’est arrêté là. Et en fait, maintenant, c’est dans les gènes du projet. Je ne vois pas comment OSRD ne pourrait ne pas être open source, tellement ça a du sens dans notre cas, d’être transparent sur les simulations pour expliquer pourquoi on fait ces choix d’investissement, par exemple, parce que c’est à ça que servent les simulations. Ça conduit souvent à des choix d’investissement lourds sur le réseau, ou de matériel roulant, ou plein de choses. Mais comme derrière, il y a énormément d’argent public en jeu, il faut que les outils qui ont conduit à la décision soient aussi clairs que le résultat.

Loïc Hamelin


Et donc, c’est intrinsèquement, en un seul mot, OSRD doit être open source puisqu’il doit être auditable, puisqu’on doit avoir confiance. Et puisque c’est un outil qui doit être commun aussi pour aider à partager les résultats, mais aussi aider le système ferroviaire dans son ensemble à avoir une base commune pour éviter les problèmes d’interopérabilité des SI (NDLR : systèmes d’informations), les problèmes de modèles de données qui sont complètement différents et surtout qu’ils soient capables pour nous, pour le ferroviaire, de simuler à l’échelle européenne pour rendre le train compétitif par rapport à la route ou à l’avion.

Walid: ce que je n’ai pas précisé tout à l’heure, j’ai parlé de SNCF, donc vous, vous travaillez pour SNCF Réseau, donc le gestionnaire d’infrastructures. (NDLR : l’organigramme du groupe SNCF)

Loïc: SNCF Réseau, le gestionnaire d’infrastructures, oui. On est dans une direction qui s’appelle la Direction Générale de l’Exploitation et dans une entité qui s’occupe de la digitalisation des métiers de l’exploitation. Donc, justement, fournir aux opérateurs ou fournir aux chargés d’études des outils numériques modernes pour aider à améliorer le ferroviaire ou à promouvoir le ferroviaire.

Qu’est-ce qu’OSRD ?


Walid: très bien. La première chose qu’on peut faire maintenant, c’est commencer par définir pour les auditrices et les auditeurs qui ne connaissent pas ce domaine, qu’est-ce qu’OSRD en fait ? Qu’est-ce que c’est et à quoi ça sert ?

Yohan: qu’est-ce qu’OSRD ? OSRD, moi j’aime bien, quand j’en parle, dire que si je me retrouve dans un pays où il n’y a rien, il n’y a pas un rail, il n’y a pas un train, il n’y a que dalle, on peut décider de tracer, via notre éditeur, le système, rajouter une signalisation, créer des trains, les faire rouler sur ce système. Créer des sillons de dernière minute, au dernier moment ou selon une temporalité, décider qu’entre deux trains prévus dans une grille horaire, on va pouvoir balancer un train au milieu, faire en sorte que ça matche, qu’il passe, qu’il s’arrête au bon endroit, qu’il arrive à destination dans une échelle de temps acceptable.

Du coup, OSRD, c’est un simulateur complet de design ferroviaire, comme son nom l’indique, où on va pouvoir gérer notre infrastructure finement, dans le détail, créer le grille horaire sur les temporalités qu’on souhaite, dans les endroits qu’on souhaite, créer le site en dernière minute et éditer tous nos trains, tous nos matériels roulants. Tout ça basé sur des outils open source, donc OpenStreetMap, comme on en parle, pour la visualisation. On était sur D3JS jusqu’ici, donc une librairie open source pour tracer des graphiques.

Yohan Durand


Maintenant, on utilise nos propres méthodes. Est-ce que quelqu’un aurait quelque chose à rajouter ?

Loïc: moi, je vais compléter. En gros, l’ambition d’OSRD, c’est d’être vraiment le jumeau numérique de l’exploitation ferroviaire, à la fois dans la partie théorique, c’est-à-dire avant la circulation des trains, mais aussi un jour, à plus long terme, du fait d’être ce jumeau numérique aidé à les opérateurs à prendre des décisions.

Et notamment, comme le disait Yohan, il y a une partie qui est très proche de l’opérationnel, c’est trouver un chemin dans l’espace et dans le temps pour des trains qui auraient besoin de circuler une semaine avant le jour de circulation. Le ferroviaire, ce n’est pas comme la voiture, on ne décide pas qu’on va rouler dans une heure, ce n’est pas possible. Tout est planifié des années à l’avance. Donc pour les sillons de dernière minute, pour les trains qui vont circuler à la dernière minute, on va avoir besoin d’outils spécifiques pour faire ça. Et actuellement, c’est plutôt fait à la main. C’est par des experts métiers. Et on a besoin d’être encore meilleur pour favoriser le fret ferroviaire, encore une fois, vis-à-vis de la route.

Loïc Hamelin


La licence utilisée dans le projet OSRD


Walid: avant de rentrer dans la genèse d’OSRD, juste après, quelle est la licence ou les licences qui sont utilisées, que vous avez utilisées pour le code d’OSRD ?

Loïc: alors nous, on est sous LGPL V3. On a choisi cette licence-là en partie parce qu’on veut de notre côté pouvoir garder des parties propriétaires. Si on a des algorithmes intelligents qu’on ne veut pas forcément partager, on veut pouvoir les garder propriétaires. Ça, c’est une première raison. La deuxième raison, c’est aussi qu’il y a des éditeurs de logiciels et on ne veut pas les tuer. On veut juste se mettre d’accord sur un socle commun et qu’ils fassent du business avec les parties qu’ils ont développées eux-mêmes. S’ils font des trucs intelligents, il n’y a aucun problème pour qu’ils les gardent pour eux et qu’ils fassent du business avec.

Mais le socle commun qui permet à tout le monde d’échanger, d’être d’accord sur les résultats de calcul, vraiment sur le socle de simulation du système ferroviaire, ça, on veut vraiment que ce soit quelque chose d’universel, mais de vraiment partagé au moins à l’échelle de l’Europe.

Loïc Hamelin


Walid: la LGPL permet d’embarquer du code libre dans des outils propriétaires.

Loïc: oui, mais en revanche, si quelqu’un de l’extérieur qui a développé ses propres modules qui gardent propriétaires, qui veut modifier le cœur ou corriger le cœur de la partie libre, il est obligé de la partager à tout le monde. Donc, normalement, c’est gagnant-gagnant.

Les langages utilisés dans OSRD


Walid: tout à fait. Quels sont les langages que vous utilisez à l’intérieur de OSRD ?

Yohan: si on part de la partie back-end, on va avoir une partie en Rust pour la gestion des endpoints, et une partie en Kotlin pour ce qui est le cœur du calcul. On va avoir un petit peu de Python pour nos batteries de test notamment, pour la gestion de la donnée. On va avoir donc sur la partie front, du React, TypeScript, avec tout un paquet de librairies qui s’y ajoutent.

Walid: ok, donc c’est du Rust, il n’y a pas de C / C++ quoi ?

Yohan: non, là en l’occurrence le choix a été fait sur Rust.

La génèse d’OSRD


Walid: ok, parlons un peu de la genèse d’OSRD. J’aimerais bien comprendre le cheminement qui mène à la création d’OSRD. C’est-à-dire au moment où c’est créé, quel est un peu le panorama des différentes solutions ? Qu’est-ce qui fait que vous en arrivez à vous dire « Ok, on va créer notre propre produit libre pour faire ça » ?

Loïc: la décision a été prise réellement en 2019 par le COMEX de SNCF Réseau (NDLR : Comité exécutif), de dire : on va développer notre propre solution.

On était et on est encore aujourd’hui tributaires de produits du marché qui ne communiquent pas entre eux, qui agissent comme des boîtes noires, qui fonctionnent comme des boîtes noires, sur lesquelles, comme je disais tout à l’heure, on prend des décisions d’investissement qui sont extrêmement importantes.

Loïc Hamelin


À SNCF Réseau ou dans le ferroviaire, le cœur de ces logiciels, c’est le calcul de marche. Le calcul de marche, ça nous permet, en décrivant le matériel roulant et l’infrastructure, de dire « si un train part à 12h04 de Paris-Lyon, il arrivera à 14h09 à Lyon-Par-Dieu« . On le calcule, ce n’est pas un hasard, tout ça, c’est calculé. L’algorithme est assez simple, c’est de la physique de Newton, MA égale somme des forces, et puis après on fait de l’intégration numérique. C’est un peu plus compliqué que ça à mettre en œuvre. Il n’y a pas de secret industriel derrière ce truc-là. Et cet algorithme de calcul de marche, nous on en a beaucoup, plusieurs, on va dire, à SNCF Réseau ou à SNCF. Et on a des fournisseurs qui utilisent d’autres logiciels, qui utilisent leur propre algorithme de calcul de marche, alors que c’est ultra stratégique. Parce que du temps de parcours, on va pouvoir savoir si on peut rajouter plus de trains sur une ligne, donc plus de capacités consommées ou plus de voyageurs transportés ou de marchandises transportées. Donc, avoir plusieurs boîtes noires qu’on n’explique pas et qui donnent des résultats différents, ce n’était pas acceptable. Donc, la décision, ça a été de dire : nous, on avait une petite expérience de simulation, on avait fait des prototypes, on savait que c’était faisable. Et donc, quand on a présenté ça au COMEX Réseau en mai 2019, la décision a été parmi d’autres, mais ça a été de dire : « ok, on lance le développement de notre propre outil de simulation ». Il a fallu du temps pour le mettre en œuvre, parce que c’est quelque chose qui demande des compétences de développement et des budgets.

Walid: quand tu dis « on », c’est qui ?

Loïc: on, c’est les personnes avec qui j’étais à l’époque. On était deux au tout début. Il y avait moi qui avait proposé, il y avait une deuxième personne qu’on a embauchée pour une physicienne, Juliana, pour ne pas la citer, qui est venue avec moi dans l’équipe pour faire les premières lignes de code en 2019. Et puis après, on est resté deux ans un très petit groupe et on avait déjà publié du code, qui était ce qui était, mais on n’était pas non plus un éditeur logiciel pour faire ça.

On a eu la chance de bénéficier de subventions européennes, ce qui nous a permis de structurer une équipe, vraiment, de recruter beaucoup, et de développer vraiment la solution OSRD telle qu’elle est actuellement. On l’a commencée en gros il y a trois ans, vraiment le gros développement. On est passé d’abord de 4 à 8 et puis maintenant on est 50 en gros. Donc, on développe la solution OSRD en interne, alors quand je dis en interne, c’est une équipe intégrée dans les bureaux dee SNCF Réseau. Il y a des gens du SNCF groupe, il y a des gens des prestations diverses, il y a des freelances (NDLR : indépendants), il y a des gens en portage (NDLR : portage salarial), il y a tout plein de profils qui sont avec nous, mais qui sont intégrés comme une équipe d’une cinquantaine de personnes.

L’accès aux algorthimes et aux données


Walid: c’est quelque chose qui revient souvent dans le premier épisode que j’ai fait sur le sujet des transports avec l’équipe de Transition, donc qui, eux, c’est des Québécois, ils travaillent à Polytechnique Montréal. En gros, ils disaient à peu près la même chose : on prend des logiciels, ils font des calculs, on n’arrive jamais à trouver le même résultat et on doit engager des dépenses là-dessus. Eux aussi, ils disaient un autre truc qui est : on forme des gens sur des logiciels propriétaires alors qu’on pourrait les former sur des logiciels qu’on maîtrise et qu’on est capable d’expliquer. C’est un sujet assez récurrent, l’accès aux algorithmes et l’accès aux données.

Loïc: c’est clairement ce qui nous a menés, outre le fait qu’on veut favoriser le train, outre le fait qu’on veut de l’explicabilité, de tout ça. C’est vraiment de comprendre ce qui se passe. Le premier besoin, c’est de comprendre ce qui se passe dans les logiciels. Et donc, quoi de mieux que d’avoir accès au code, voire même d’avoir développé le code.

Walid: et là, OSRD, il est utilisé principalement par SNCF Réseau ou alors aussi les autres entités du groupe l’utilisent pour certains besoins propres ?

Fonctionnement OSRDSource : osrd.fr/en/about/use-case/

Loïc: alors, sur la partie sillon de dernière minute, on l’a ouvert aujourd’hui. Vraiment, ce n’est pas une blague. On l’a ouvert aujourd’hui aux premières entreprises ferroviaires fret pour une période de test parce que c’est le premier lancement. On l’utilise aussi pour les simulations depuis un petit moment, mais plutôt avec des bêta-testeurs, on va dire. On n’est pas aboutis, même si ça fait trois ans qu’on travaille dessus. C’est un logiciel qui est tellement complexe, qui demande beaucoup de développement et le développement, ça prend du temps… et qui est très ambitieux, encore une fois. Donc, on a déjà des premiers cas d’utilisation réels à SNCF Réseau. Donc, il va y avoir des utilisateurs clients, notamment comme les entreprises ferroviaires (EF), à partir d’aujourd’hui. Et il est possible qu’une autre, ce sera une entreprise ferroviaire européenne, l’utilise. Ils vont faire des premiers tests à partir de… on les voit la semaine prochaine aussi. Il est possible que ça commence à se diffuser dans l’Europe. Et puis, on collabore aussi avec les Suisses. Je ne sais pas si tu avais l’information. Je pense qu’on en a déjà parlé.

Walid: oui, tu en as parlé dans la conférence que tu as donnée à Open Source Experience sur les fondations métiers avec Amel Charleux.

youtube.com/watch?v=x-pV4oHD0h…

Loïc: Amel, oui. Donc, franchement, ils ne vont pas utiliser notre solution, mais il y a une collaboration avec les chemins de fer suisses qui est très intéressante, qui a apporté de la valeur pour nous dans le logiciel. Nous, on fait des développements pour eux. Donc, normalement, tout le monde y gagne. Donc, c’est une autre forme d’utilisation de l’OSRD ou de l’équipe OSRD ou de la capacité de développement d’OSRD.

Walid: avant qu’on passe à la partie suivante, quand vous allez devant le comité exécutif de SNCF Réseau et que vous pitchez ce projet, dès le départ, il y a l’idée de se dire : on fait une plateforme commune européenne. C’est quelque chose qui était là dès le départ ou c’est une ambition qui s’est révélée plus tard ?

Loïc: non, ce que j’ai proposé au COMEX, c’est vraiment d’avoir notre propre outil de simulation. Après, il y a une infinité une façon de le développer. On aurait pu faire un client lourd, on a fait un client web. On aurait pu faire un truc centré sur la France. On aurait pu faire un outil propriétaire. Tout ça, après, c’est des choix qui arrivent par la suite.

Moi, j’avais quand même l’ambition long terme de l’ouvrir au maximum. Il nous fallait aussi un espace neutre pour mettre cet outil. Si on veut qu’il soit réutilisé par d’autres entreprises ferroviaires ou d’autres gestionnaires d’infrastructures, il ne fallait pas que ce soit un outil purement SNCF. Il fallait le mettre dans un espace neutre et qu’il y ait une gouvernance partagée ou une gouvernance claire aussi sur ce logiciel-là. Et c’est comme ça qu’on en arrive à Open Rail après.

Loïc Hamelin


Les données nécessaires, disponibles et les obligations de publication


Walid: oui, on va en parler après de la fondation Open Rail. Le sujet suivant que j’aimerais aborder, c’est le sujet des données. Parce que pour un simulateur, il faut des données. En fait, ce que j’aimerais comprendre, c’est quand vous commencez le projet, de quelles données vous disposez, de quelles sources de données, et donc comment vous vous en servez et comment vous contribuez aussi justement à l’enrichissement de ces données, à la fois données publiques ou vos référentiels en interne. En fait, en gros, un peu comment ça s’organise, Céline ?

Céline: alors, pour fonctionner, OSRD a besoin de trois types de données différentes. D’abord, des données qui permettent de décrire l’infrastructure. L’infrastructure du réseau ferroviaire, ça va être où sont les voies, donc les rails, où sont les signaux ferroviaires, où sont les gares, où sont tous les éléments qu’on a besoin de connaître pour savoir l’origine et la destination des trains qu’on va vouloir tracer, mais aussi tous les éléments qui vont impacter le calcul de marche, dont parlait Loïc tout à l’heure, donc les déclivités, les systèmes de signalisation, les limites de vitesse, etc. Tous ces éléments. Je vais d’abord présenter les trois types de données, et ensuite j’expliquerai les différentes sources qu’on a. Premier type de données, les données d’infrastructure. Deuxième type de données, les données de matériel roulant. Là, on va décrire l’ensemble des matériels qui peuvent circuler sur les voies, donc des locomotives, des automoteurs et les wagons qu’on peut y attacher. Pour ces données, on va avoir des informations de modélisation physique, telles que leur poids, leur longueur, leur puissance de traction et de freinage, leur compatibilité avec l’infrastructure également. Par exemple, quel système de signalisation elles supportent, quel est leur gabarit, est-ce que ce gabarit est compatible avec ce type d’infrastructure. Et enfin, le troisième type de données dont on a besoin pour OSRD, c’est les données de grille horaire, donc savoir quels sont tous les autres trains qui sont déjà planifiés sur le réseau, pour la fonctionnalité qui permet d’ajouter un train, de pouvoir savoir quels sont les trains déjà prévus et comment le train qu’on veut ajouter ne va pas perturber tous ces trains qui sont déjà prévus. Et donc ces données de grille horaire vont être composées d’un identifiant de train et puis de l’ensemble des horaires de passage à chacun des points de passage de ce train.

Donc trois types de données : infrastructure, matériel roulant et horaire. Pour ces trois types de données, actuellement pour les usages internes de SNCF Réseau, on consomme des référentiels internes. Je ne vais pas aller dans le détail de ces référentiels, je ne pense pas que ça intéressera les auditeurs et les auditrices. Mais on s’est aussi penché sur la façon dont on pourrait accéder à ces données avec des données open data, et ce pour plusieurs cas d’usage, notamment celui d’avoir une version publique de OSRD qui puisse être testée par les personnes qui sont intéressées, et aussi par celui de pouvoir collaborer avec des personnes en dehors de SNCF Réseau, que ce soit des entreprises ferroviaires, des laboratoires de recherche ou des entreprises qui voudraient développer des fonctionnalités pour compléter OSRD, comme le mentionnait Loïc tout à l’heure, ou pour tout autre cas d’usage qu’on pourrait imaginer. Du coup, pour répondre à ces besoins d’open data, on ne va pas avoir les mêmes réponses selon les types de données.

Pour les données d’infrastructure, on a une première piste qui est d’utiliser les données d’OpenStreetMap. C’est la présentation que j’avais faite au FOSDEM il y a deux ans. La limite, c’est que les données OpenStreetMap sont assez différentes selon les pays. Donc, on a fait une première version qui fonctionne assez bien. Elle n’est pas 100% complète, mais elle est fonctionnelle sur l’Allemagne, qui est le pays où on a trouvé les données OpenStreetMap les plus complètes. Malheureusement pour la France, les données OpenStreetMap ne sont pas complètes pour le moment, notamment parce qu’il nous manque des informations sur la signalisation.

Céline Durupt


Du coup, on s’est dit que ça pourrait être intéressant de compléter ces données avec les données de l’Open Data SNCF, puisqu’il y a pas mal de jeux de données qui sont en open data sur le site de la SNCF que vous pouvez aller consulter. Mais malheureusement, il n’y a pas toutes les données dont on aurait besoin pour OSRD qui sont 100% en open data. Donc, on fait des démarches internes pour essayer de publier ces jeux de données de manière à pouvoir les compléter. Mais c’est des dynamiques qui sont assez complexes et assez lentes. Donc, j’espère qu’on y arrivera un jour, mais c’est difficile de mettre une date de publication sur ces données pour le moment. Ça dépend vraiment beaucoup des dynamiques internes politiques par rapport à ces sujets. Parfois, on est dans des phases plutôt ouvertes où on va publier plein de nouvelles données. Ensuite, parfois, il va y avoir des phases de recul où on va dire, finalement, ce n’est pas bien de faire de l’open data. On va arrêter de publier des nouveaux jeux de données. Puis ensuite, peut-être que ça repart dans l’autre sens. C’est assez difficile de comprendre exactement pourquoi et comment il y a ces vagues. Mais tu veux compléter là-dessus Loïc ?

Loïc: on a aussi des obligations de publication de jeux de données au niveau européen notamment. C’est encore moins complet que ce que Céline décrit, mais j’ai bon espoir que dans le futur on ait suffisamment de données à l’échelle européenne pour nous permettre de brancher OSRD sur une infrastructure européenne.

Walid: c’est des obligations européennes ?

Loïc: oui, ça s’appelle le référentiel d’infrastructure, le RINF (NDLR : en anglais Registers of Infrastructure). Petit à petit, l’Europe oblige les gestionnaires d’infrastructures à publier des données. Ça va progressivement. D’abord, le schéma des lignes, ensuite les points remarquables qui sont sur les lignes, et puis après, on fera les voies, puis après, plein d’autres données pour nous arriver à avoir une infrastructure fonctionnelle à l’échelle de l’Europe.

Walid: c’est un travail de très longue haleine, à l’échelle de l’Europe.

Loïc: oui, à l’échelle de l’Europe, c’est de très longue haleine. C’est un travail de négociation, j’imagine, entre les gestionnaires d’infrastructures et l’Europe. On n’a pas tous des données du même niveau de qualité, donc forcément, il y en a qui sont plus avancés que d’autres. Voilà, donc c’est l’harmonisation à l’échelle de l’Europe qui est assez complexe.

Céline: pour résumer les données d’infrastructures, pour le moment, c’est compliqué, mais OpenStreetMap, c’est super riche, ça marche déjà sur certains pays et on a bon espoir de pouvoir continuer d’enrichir ça dans les années à venir, soit via OpenStreetMap, soit via une politique d’open data du groupe SNCF, soit via des contraintes légales européennes que citait Loïc. Ensuite, sur les données horaires, il y a déjà une partie des données horaires qui sont en open data, pareil, mises à disposition par SNCF. Malheureusement, ça ne contient pas l’intégralité des trains, notamment ça ne contient pas tous les trains de fret qui ne sont pas publics. Mais bon, ça, j’avoue que je ne sais pas du tout si ça a vocation à être élargi dans les années à venir, mais il y a déjà une très bonne base de travail. Et enfin, sur les dernières données dont on a besoin, donc les données de matériel roulant, là, ce sont des données qui sont assez sensibles puisqu’elles appartiennent aux entreprises ferroviaires et aux constructeurs de matériel, donc on ne peut pas les publier telles quelles. Mais par contre, on a un projet qui devrait aboutir très prochainement, en tout cas dans le début de cette année 2025, qui est de publier des matériels roulants factices, mais qui ont des caractéristiques physiques cohérentes. Ce n’est pas un TGV en particulier, mais ça va être un train à grande vitesse qui pourrait être n’importe lequel des TGV ou autre train à grande vitesse d’un autre pays et qui pourrait être utilisé pour tracer des trains à grande vitesse sur OSRD. Et ainsi d’avoir un modèle open data de chacun des types de matériel roulant principaux.

Walid: et vous, vous collaborez, est-ce que vous contribuez d’une manière ou d’une autre en tant que SNCF Réseau sur OpenStreetMap ? Vous avez aussi des contacts avec d’autres entités qui pourraient, je pense en particulier, il y avait une conférence State of the Map cette année des gens de SNCF Voyageurs qui expliquaient comment ils contribuaient aussi, je crois, sur des données de gare (NDLR : en fait c’est AREP, voir OSerM : cartographier les gares aujourd’hui pour les améliorer demain). Je voulais savoir si vous aviez des contacts ou si vous étiez dépendant de leurs données aussi d’une manière ou d’une autre.

Céline: alors oui, il y a plusieurs services de SNCF au sens large qui sont intéressés par les données OpenStreetMap, qui les consomment et qui les enrichissent pour pas mal de cas d’usages différents. Je ne veux pas tous les citer, mais on est en contact en interne pour partager sur ces sujets. Ça ne se recouvre pas toujours exactement. Par exemple, les données de gares qui sont collectées dans OpenStreetMap par Transilien, nous, on n’en a pas besoin pour OSRD, parce que ce qui nous intéresse, c’est plutôt la description du réseau ferroviaire et pas spécialement des gares. Mais par contre, c’est vrai qu’il y a un intérêt commun sur ces données. Et c’est vrai qu’on a notre petite communauté OpenStreetMap interne SNCF pour collaborer sur ces sujets, pour se donner des informations aussi sur la façon de consommer les données, sur les entreprises avec lesquelles on peut travailler aussi pour nous accompagner dans ces sujets. J’en profite pour faire de la pub pour la Fédération des pros d’OSM. Si ce sujet vous intéresse, vous pouvez aller voir leur site. C’est une fédération d’entreprises qui connaissent très bien OSM et qui peuvent accompagner sur des projets soit de collecte de données, soit d’utilisation de données ouvertes. Voilà.

Walid: je vais mettre un lien vers une conférence récente (NDLR : voir cette conférence de présentation de FPOSM lors de la conférence AlpOSS). Je ne sais plus dans quel salon, justement, il présente la Fédération des pros d’OSM. C’est un sujet très intéressant aussi. C’est vraiment un enjeu qui revient dans plein de domaines différents et d’avoir un commun et de pouvoir l’enrichir et en prendre soin et faire en sorte que ça contribue à tout le monde. C’est intéressant aussi parce que dans l’épisode sur OpenStreetMap, Christian Quest, il dit qu’effectivement, le pays numéro un pour la cartographie dans OpenStreetMap, c’est l’Allemagne. Donc effectivement, ça confirme bien.

Walid: et si je peux ajouter quelque chose, pas spécifiquement sur… enfin, en fait, ça a aussi un rapport avec l’open data, mais sur les données en général.

On a un très gros enjeu sur la qualité des données. Et c’est quelque chose qui est très difficile à évaluer et à faire évoluer. Du coup, je pense que l’open data est une opportunité pour mettre en commun nos efforts de mise en qualité des données et pour permettre une évaluation critique par n’importe quel réutilisateur ou réutilisatrice de ces données. Là-dessus, c’est une des grandes forces de la donnée ouverte et collaborative, qui permet d’aboutir à une meilleure qualité que de la donnée interne, qui a forcément moins de réutilisateurs et donc moins de personnes qui vont être capable d’alerter s’il y a des problèmes de qualité.

Céline Durupt


Loïc: et si on a un jeu de données ouvert, ça permet de toucher plus de monde aussi. C’est-à-dire qu’il y aura plus d’utilisateurs de OSRD avec un jeu de données ouvert ? Et Céline a parlé tout à l’heure, il y a des gens qui font des choses très bien en recherche pour le ferroviaire, dans des labos, et qui n’ont pas accès ni au logiciel, ni aux données de description d’infrastructures. Et si on arrive à leur fournir et logiciels, et algorithmes, et jeux de données, ils pourront apporter leur contribution à l’amélioration du système ferroviaire. Et c’est super intéressant parce qu’ils travaillent avec leurs moyens dans leurs labos et malheureusement, on n’arrive pas à capter la valeur qu’ils produisent eux, alors que tout le système ferroviaire devrait en bénéficier.

Walid: vous avez déjà présenté votre travail justement dans certains labos ?

Loïc: oui, on travaille… On a des contacts avec deux labos en particulier. C’est Gustave Eiffel à Lille, l’université Gustave Eiffel, et puis avec l’UTC à Compiègne. On échange aussi avec l’école Centrale. La communauté recherche ferroviaire est assez active, donc on a souvent des interactions.

L’équipe d’OSRD


Walid: sujet suivant, je voudrais qu’on parle de l’équipe. Quels sont les différents profils qu’on trouve dans l’équipe ? Comment ils en arrivent à venir travailler sur cet outil. Là, tu as dit tout à l’heure, Loïc, qu’il y avait à peu près une trentaine de personnes qui travaillent dessus. Donc, quel profil on va retrouver dans l’équipe ?

Loïc: on est 50.

Walid: ah, 50, pardon.

Loïc: 51, 2, 3, 4. Honnêtement, je ne sais plus, je suis désolé. Les profils, ils sont divers et variés. Et je crois que c’est ce qui fait la richesse, d’ailleurs, de cette équipe, c’est d’avoir ces profils divers et variés. C’est-à-dire qu’on n’a pas que des gens issus d’écoles informatiques. Des ingénieurs informaticiens, on en a, c’est clair, des ingénieurs informaticiens très brillants qu’on a recrutés, soit directement en interne SNCF, soit par d’autres dispositifs contractuels, on va dire. Yohan en a parlé, peut-être qu’il expliquera le programme UptoDev de e.SNCF qui a permis un certain nombre de personnels SNCF de se reconvertir dans le développement informatique. Je ne sais plus si on a des autodidactes encore, mais on a des reconvertis, mais pas par la SNCF. On a des physiciens, des physiciennes d’ailleurs. On a un peu tous les profils. Côté UpToDev, si tu veux présenter les gens de l’équipe, Yohan.

Yohan: oui, alors UpToDev, c’était un programme interne de la SNCF, en tout cas de la SNCF Groupe, côté e.SNCF essentiellement.

L’idée, c’était de former quelques centaines de nouveaux développeurs pour des profils en reconversion essentiellement. Double bénéfice pour ça, le premier c’était d’avoir de la main d’œuvre assez rapidement et en plus d’avoir une main d’œuvre qui a une connaissance potentiellement métier déjà, et qui peut apporter cette connaissance dans les développements futurs. Donc on fonctionne un petit peu comme une régie, c’est-à-dire qu’on va être envoyé en mission là où on a besoin de nous, au sein des entreprises SNCF.

Yohan Durand


Vraiment là, il y a aussi beaucoup de profils. J’ai fait du commercial au tout début et ensuite j’ai été à l’attraction en tant que producteur de trains. Hier, j’ai fini dans les bureaux en pôle informatique. À côté de ça, j’ai un collègue qui a été aussi conducteur de train, et un autre d’ailleurs qui était au commercial. On a un ancien horariste (NDLR : pour en savoir un peu plus sur les horaires, voir cette conférence de l’espace des sciences de Rennes). Oui, c’est assez varié en soi. Donc on a fait en fait un bootcamp sur sept mois, avec un passage de titre à la fin. Donc c’est sûr que là, Loïc parlait des ingénieurs qui sont arrivés dans le projet en premier. Je ne vais pas mentir, quand on est arrivé, il nous donnait pas mal le vertige quand même. Ils nous donnent d’ailleurs toujours le vertige, mais finalement, en fait, c’est suffisamment de bienveillance dans le projet pour qu’on avance à notre rythme. En tout cas, pour des DED, c’est comme ça.

Walid: deux questions là-dessus. La première, c’est, est-ce que c’est une motivation personnelle de venir travailler sur ce projet-là ou est-ce que c’est Loïc qui vous a trouvé et recruté ? Et la deuxième, c’est, qu’est-ce que ça fait en tant qu’ancien conducteur de train de travailler sur un outil ? Donc, de l’autre côté de la barrière, est-ce que vous aviez connaissance de toutes les implications que ça représentait ?

Yohan: alors, pas du tout. D’ailleurs, en plus, je peux vraiment bien en parler puisque je suis un escroc. Je me suis littéralement invité à la journée de découverte pour être embauché. Non, en fait, l’idée, c’était dans un premier temps, en fin de formation, d’avoir un stage. Du coup, on avait des propositions de stages un petit peu partout, dont OSRD, qui souhaitait promouvoir justement la reconversion aussi. Et quand on est arrivé dans OSRD, tout ce qu’on savait finalement, c’est que c’était un gros projet. Un gros projet chez SNCF Réseau, et qui recherchait potentiellement des profils issus de la traction, donc du métier de la conduite notamment, ou autres, et surtout des profils plutôt full code, non pas low code comme on peut avoir aussi côté DED. Et effectivement, quand on est arrivé à cette journée de découverte et qu’on a vu déjà l’ampleur du projet, ayant un peu de connaissance métier, les gains que ça pouvait apporter, et le challenge aussi, on a été assez séduit directement. Mais avant d’arriver, on ne savait pas encore exactement où mettre les pieds.

Walid : et pour toi, Céline, comment ça s’est passé ?

Céline: alors, pour moi, j’avais fini mon expérience précédente chez Transilien, où j’avais travaillé sur la collecte de données d’un point d’OpenStreetMap pour les gares. Et je recherchais un autre projet pour continuer de travailler. Je n’étais pas forcément attachée à rester à la SNCF, mais j’avais envie de travailler dans un projet qui ait du sens, donc dans une entreprise qui a du sens environnementalement et socialement. Donc, ça m’allait aussi de rester à la SNCF. Et c’était important aussi pour moi de travailler dans le sujet des données ouvertes et la cerise sur le gâteau dans l’open source puisque j’avais essayé sans succès de faire passer en open source le logiciel sur lequel je travaillais chez Transilien mais bon, tout ça est une autre histoire. Donc j’ai rencontré Loïc un peu par hasard je ne sais pas si c’est pas Simon (NDLR : Simon Clavier) d’ailleurs qui nous a mis en relation

Loïc : je ne sais plus si c’est Simon ou Bertrand mais il y en a un des deux qui m’a dit « il y a Céline qui change de poste, il faut que tu la rencontres elle est trop bien ».

Céline : (rires) et du coup, j’ai rencontré Loïc, et il m’a dit « on a des problèmes avec nos données. Est-ce que ça te dit de venir mettre le nez là-dedans et de voir si on pourrait faire plus d’open data » ? Moi, je ne connaissais rien à l’exploitation ferroviaire, mais ça faisait quand même plusieurs années que je travaillais à la SNCF. Donc, je m’étais dit « bon, ça va, je travaillais dans les gares, les trains, ça doit être pareil ». Et en fait, à ma grande surprise, j’avais encore beaucoup de choses à apprendre. Et j’ai effectivement appris beaucoup de choses, beaucoup de nouveaux concepts. dans ce projet. Et puis, j’espère qu’on va faire de plus en plus d’open data. En tout cas, on y travaille.

Loïc: et quand je dis c’est Simon Clavier ou Bertrand Billoud qui m’a présenté Céline, c’est un peu aussi comme ça que ça s’est passé pour un certain nombre d’entre nous. C’est-à-dire, c’est un peu le bouche à oreille, un peu les réseaux qui se mettent en marche. Tiens, j’ai entendu parler de ce projet, c’est intéressant. On a pas mal siphonné les promos de l’EPITA qui sortent des ingénieurs qui sont très solides, des ingénieurs informaticiens. Au début, et puis après, par le biais de rencontres ou de choses comme ça, on a un peu fait de la dentelle, on a recruté un par un. On faisait venir les candidats potentiels, ils passaient une journée avec nous. On ne faisait pas d’entretien d’une heure comme ça se fait habituellement. En fait, les candidats passaient une journée, ils découvraient l’équipe, ils découvraient le projet, on se découvrait ensemble. Et à la fin, soit on décidait de continuer ensemble, soit on arrêtait là. Mais on a aussi, dans le mode de recrutement, on a un peu été innovants de cette façon-là. Parce que moi, j’ai l’impression qu’on ne peut pas se rendre compte de part et d’autre au cours d’un entretien d’une heure de ce qu’est la personne, de ce qu’est le projet, de ce qu’est l’ambiance dans laquelle je vais travailler, les enjeux, tout ça, la technicité ou pas. Pas mal de bouche à oreille, de fonctionnement de réseau, puis une méthode un peu innovante, enfin innovante c’est un bien grand mot, mais le fait juste de passer une journée ensemble, je trouve que c’est vachement bien. Ça a permis d’attraper des candidats qu’on n’aurait pas forcément eus, avec un entretien d’une heure, parce que justement c’est trop formel. En fait ce qu’il faut, c’est plutôt à nous de séduire les développeurs que le développeur de nous séduire.

Donc moi, je préfère être transparent sur ce qu’on va proposer et on essaye d’être le plus transparent possible. Et généralement, ça plaît. Ce qu’a dit Céline aussi, évidemment, ça joue en notre faveur. On a un projet qui a du sens au niveau des transports. Je ne veux pas faire de greenwashing, mais il y a forcément cette idée-là derrière. On fait de l’open source. Ça motive encore plus les développeurs. Donc on est assez attractifs. J’ose l’espérer. Et on a un projet qui, techniquement, est assez intéressant aussi, parce qu’on relève des challenges techniques qui ne sont pas très faciles. Et puis après, on fait marcher les réseaux. Et puis aussi, on est obligé de le dire, les méthodes de recrutement classiques par appel d’offres, on est obligé de compléter l’équipe comme ça.

Loïc Hamelin


Céline: si je peux juste ajouter quelque chose à tout ce que vient de dire Loïc, je pense qu’on peut quand même dire qu’on a un taux de turnover (NDLR : rotation de l’emploi) qui est particulièrement faible, surtout pour un projet informatique. Donc là, je pense que c’est aussi une validation de l’intérêt que portent les personnes de l’équipe au projet.

Walid: avant qu’on passe sur la partie financement, ma dernière question, c’est, est-ce qu’OSRD, maintenant, c’est un projet qui est connu ou reconnu à l’intérieur de SNCF Réseau ?

Loïc: je pense que ça commence à être connu. Reconnu, je n’aurais pas cette prétention-là. Il faut qu’on fasse nos preuves encore. Je suis confiant, ça viendra, mais on doit encore faire nos preuves, c’est clair. La mise en production, encore une fois, c’est aujourd’hui, tu vois. Donc sur les études, les premiers utilisateurs, ils ont l’air séduits. Ils savent que c’est un énorme potentiel. Il faut passer du potentiel au réel, au concret. Mais on commence à être connu et je pense que les premiers résultats sont encourageants. Donc j’ose espérer que ça va pour plus.

Le financement d’OSRD


Walid: ça m’amène à la question suivante. On a parlé de la genèse des premiers financements, les financements européens, etc. Ce que j’aimerais bien comprendre, c’est comment vous financez OSRD ? Est-ce qu’OSRD est pour l’instant intégralement financé par SNCF Réseau ? Il y a eu des fonds européens. Est-ce que vous avez d’autres fonds à côté, d’autres ressources financières supplémentaires ? Comment ça se passe ?

Loïc: Réseau contribue au financement d’OSRD, c’est clair. On a candidaté à un programme de financement européen qui s’appelle CEF en 2021, Connecting Europe Facility, ce programme qui nous a fourni une grosse partie du financement. Mais pas seulement, le financement européen doit être adossé à un abondement qui a été donné par le ministère des Transports, en gros. Donc on a aussi un financement de l’État directement sur le projet, donc État, Europe et SNCF Réseau. Ça nous permet donc, oui maintenant, d’être une cinquantaine de personnes. C’est un budget assez conséquent. On est reparti pour un cycle de financement dans le cadre du CEF 24. Donc encore sur le même principe, le même montage financier.

Walid: des cycles longs ?

Loïc: des cycles de trois ans.

Walid: ok, ça permet de voir.

Loïc: ça permet de voir. En trois ans, franchement, on a développé beaucoup. J’ai hâte d’être dans trois ans pour voir où on en sera dans trois ans. C’est des cycles assez longs, mais justement, ça nous permet de nous structurer, de faire des choses cohérentes et de faire des choses sur un assez long terme.

La gouvernance d’OSRD et la création de l’association OpenRail


Walid: j’aimerais qu’on parle de la gouvernance. Là, ça va devenir aussi très intéressant. La gouvernance d’OSRD. On a évoqué au tout départ la fondation OpenRail. On revient un peu dessus pour comprendre le cheminement qui arrive à faire une fondation. Vous partez de l’idée de se dire on va faire un outil, il va être open source, à… il se passe plein de trucs et on arrive à la création d’une fondation européenne. Est-ce que tu peux m’expliquer un peu dans les grandes lignes la pensée, le cheminement qui est arrivé jusque-là ?

Source : OpenRail Association

Loïc: en fait, le cheminement, il est simple. C’est OK, comme je l’ai dit, on m’a dit le projet doit être open source. OK, je le fais open source. Ça sert à quoi l’open source ? Moi, je connaissais open source, mais pas plus que ça. J’ai utilisé des logiciels open source et tout ça. Moi, je ne suis pas un libriste de la première heure. Et j’ai déroulé un petit peu le modèle de l’open source. C’est quoi l’open source ? Comment ça marche ? C’est quoi l’intérêt ? Etc. Et j’en suis arrivé à la conclusion qu’il fallait cet espace neutre. Si je voulais avoir des contributeurs extérieurs, parce que c’était quand même ça aussi le but de le faire en open source, qu’il me fallait un espace neutre. Donc je suis parti d’abord sur l’idée de faire une fondation autour d’OSRD. Puis j’avais pris une stagiaire à l’époque, qui m’aidait justement à trouver un peu le business model (NDLR : modèle économique) de l’open source, et qui est tombée sur une thèse d’une chercheuse de Montpellier que tu connais, qui s’appelle Amel. Donc en 2020, je crois, on a rencontré, on a contacté Amel Charleux de l’Université de Montpellier, qui a fait sa thèse sur les business models de l’open source. Après plusieurs échanges, elle nous dit, peut-être qu’une fondation spécifique à OSRD, ce n’est pas suffisant. Est-ce que tu as regardé les fondations métiers, des choses comme ça ? En parallèle de ça, j’étais en discussion notamment avec Simon Clavier, on faisait le tour des fondations existantes, Eclipse, Linux, Apache, et moi je ne m’y retrouvais pas en fait. Je voyais bien l’intérêt pour les composants informatiques, pour les choses spécifiques, mais moi je viens du métier et je ne me retrouvais pas dans les fondations classiques. Donc moi j’ai un peu poussé cette idée de développer une fondation spécifique autour du ferroviaire.

Dans le groupe de discussion qu’il y avait avec Simon, il y avait les Allemands et les Suisses déjà, qui étaient là. Et moi, j’avais des contacts avec l’Union internationale des chemins de fer, où je me disais, là, il y a 200 adhérents de l’UIC, qui sont des gestionnaires d’infrastructures ou des EF (NDLR : entreprises ferroviaires) à travers le monde, qui représentent un potentiel de contributeurs intéressants pour une fondation métier ferroviaire. Et je suis sûr qu’ils pourraient être intéressés. Donc, on a mis SNCF, DB, SBB et l’UIC autour de la table. Amel nous a aidés à dessiner les premiers statuts, on va dire. Et puis, on a mis, là pour le coup, on a mis, je crois, trois ans à sortir vraiment la fondation. Ça a été un processus itératif. On a travaillé évidemment à distance, un environnement multiculturel, même si c’est l’Europe, ce n’est pas forcément évident. Mais on sort en janvier 2024, le décret royal. C’est une association internationale sans but lucratif, donc AISBL belge, qui crée officiellement l’association OpenRail, parce qu’entre le moment où on commence à déposer les statuts et au moment où ils ont accepté, la loi belge change et on n’a plus le droit de s’appeler fondation, donc on s’appelle association OpenRail.

Walid: on a abordé déjà plusieurs fois le sujet des AISBL, dont la dernière fois sur l’épisode avec Gaël Blondelle sur Eclipse, où il parle justement de ce que c’est une AISBL et pourquoi ils ont choisi ça, etc. C’est assez intéressant de creuser aussi les… Pourquoi en Belgique ? On en parle aussi dans l’épisode sur l’ERP Tryton, aussi sur pourquoi la Belgique et quels sont les statuts et à quoi ça sert. C’est assez intéressant.

Loïc: on va rendre à César ce qui appartient à Gaël. Gaël nous avait présenté Eclipse et l’AISBL et c’est ce qui nous a un peu inspiré dans le choix.

Walid: ce qui est intéressant de tout ça, c’est que vous dites, l’idée de la créer en Belgique, c’est pour avoir un terrain plus neutre. Parce que si c’était en France, potentiellement, c’est associé à SNCF.

Loïc: c’est ça. Et en fait, je crois qu’à l’époque, de toute façon, en France, on ne pouvait pas créer une fondation. Une fondation, c’est très spécifique en France. Il faut verser, je ne sais plus combien, 150 000 euros pour lancer le truc. C’est vraiment très cadré. Et ce qui se fait dans l’open source, c’était les AISBL à l’époque. Moi, je n’avais pas d’a priori là-dessus. L’UIC avait un bureau en Belgique, il y avait quelques facilités à communiquer avec les instances belges. Donc voilà, c’est le choix qui a été fait. Encore une fois, c’est aussi parce que Gaël nous avait parlé que l’Eclipse Europe était une AISBL.

Walid: une de mes questions, c’était justement de savoir, est-ce que le choix de la Belgique était un choix pour se rapprocher des institutions européennes ?

Loïc: non, ce n’est pas ça. C’est pas ce qui a motivé le truc. C’est pas déconnant, mais c’est pas ce qui a motivé le truc.

Walid : ce travail de création de la fondation, c’est du temps de ton travail SNCF Réseau qui est dédié à travailler là-dessus ou c’est quelque chose que vous avez fait à côté ? Enfin, comment ça s’est passé ce temps long à travailler sur le sujet ?

Loïc: alors moi je fais pas 35 heures donc c’était pas dans les 35 heures. Voilà c’est de l’investissement personnel. Je parle pour moi, mais c’est la même chose pour mes collègues européens, ou UIC. C’est quelque chose qu’on a pris en plus à notre compte, à notre charge. Au début, ce n’est pas quelque chose où je vais demander l’autorisation de bosser deux heures par semaine dessus. Ça se fait un peu sous le manteau. Par contre, je tenais au courant de l’avancement de la création de l’association. Pour moi, c’était clair, mais je n’ai pas demandé un temps supplémentaire pour bosser dessus.

La gouvernance de l’association OpenRail


Walid: et dans cette fondation, cette association, comment ça se passe la gouvernance ? Qui est représenté ? C’est des personnes physiques, des personnes morales ? Comment ça se passe ?

Loïc: alors, on a trois niveaux, ou quatre, je ne sais plus, de membres d’adhésion. Donc, on a les membres Platine, Gold, Silver et membres associés. Quatre, c’est ça. Les membres platine, c’est ceux qui ont créé l’association. Il y a sept sièges et il y en a quatre qui ont été à l’origine de la création. Donc, ils ont pris les quatre des sept sièges des membres platine de l’association. Pour chaque siège, c’est un représentant de chaque groupe. C’est-à-dire que pour nous, SNCF, groupe SNCF, en fait, c’est pas Réseau, c’est bien groupe SNCF. C’est Frédéric Novello qui représente le groupe SNCF et qui siège au conseil d’administration de l’association Open Rail. On a Nicole Göbel, qui est la CEO de DB Systel, l’équivalent de la DSI du groupe Deutsche Bahn. On a Jochen Decker, qui est le DSI de CFF/SBB, les chemins de fer suisses. Et on a le directeur financier, notamment, mais pas seulement, le directeur de Jean-Michel Evanghelou, donc de l’UIC, qui représente l’association UIC au conseil d’administration. Après, on a d’autres représentants, chez Infrabel, on a un deputy CEO. On a la DSI depuis trois semaines, on a la DSI de l’ONCF, donc les chemins de fer marocains. Ça, c’est une super nouvelle. C’était mon cadeau de Noël quasiment, que l’OpenRail sorte de l’Europe. Et puis, il y a les membres associés. On a l’association Flatland aussi. Et donc, chaque entité a un représentant. Mais c’est plutôt des entités qui sont membres du conseil d’administration. On n’écarte pas la possibilité de… Je ne veux pas m’avancer, mais il me semble qu’on peut être membre associé de façon individuelle. Honnêtement, je n’ai plus le contenu des statuts en tête, surtout dans tout le détail. Mais il me semblait qu’on pouvait être membre associé individuel.

Walid: donc chaque membre finance par une espèce de cotisation le fonctionnement de l’association.

Loïc: c’est une des raisons qui a poussé à faire notre association aussi et pas utiliser les fondations classiques Linux, Eclipse et Apache. Alors Apache, c’est à part parce que c’est très peu cher. Mais Linux et Eclipse, pour moi, me semblaient vraiment très chers. Le ticket d’entrée était assez élevé. Nous, on a voulu un ticket d’entrée plus bas pour se lancer, parce qu’on ne savait pas où on allait. Donc, selon le niveau de membership (NDLR : adhésion), la cotisation est plus ou moins élevée. Le plus haut, c’est 25 000 euros par an. Je crois que c’est 5 000. Le plus bas, les membres associés, c’est gratuit.

Walid: il n’y a pas de salariés dans cette…

Loïc: non, non, non. Enfin, pas de salariés directement par l’association. Donc ça va nous permettre surtout de travailler la communication, de faire des événements aussi. C’est dans les plans des années qui viennent, de faire des événements OpenRail.

Walid: c’était ma question suivante.

Loïc: voilà. Et aussi éventuellement d’avoir un cloud dédié OpenRail.

Les idées ne manquent pas, il va falloir prioriser. Le but du jeu, ce n’est pas de faire de l’argent, c’est vraiment de coordonner les efforts des différents groupes ou sociétés au développement en commun de communs numériques justement.

Loïc Hamelin


Walid: est-ce que ça peut être un lieu d’échange ? Je pense en particulier, par exemple, au niveau des problématiques open data, de pratiques ou de discussions, de contributions, je ne sais pas, je me pose la question.

Loïc: pour l’instant, on a écarté le sujet open data, honnêtement.

Walid: ok.

Loïc: on a un an d’opération. Donc en un an, on a intégré trois nouveaux membres ou quatre nouveaux membres. Quatre nouveaux membres, c’est ça. On a intégré cinq projets, plein d’autres qui arrivent. On se concentre vraiment sur l’open source pour l’instant. L’open data, ça viendra. C’est comme l’a dit Céline, on a les moteurs open source. Si on ne met pas d’essence open data, ça ne sera rien comme résultat. Tu l’as dit mieux, Céline.

Walid: le dernier sujet que je voulais aborder, tu en as un tout petit peu parlé au début, mais j’aimerais bien qu’on développe un tout petit peu. Tu as dit au départ « quand j’ai commencé le projet, on m’a dit tu vas le mettre, ce projet, en libre ». À ce moment-là, au moment où vous commencez, est-ce que vous avez déjà de l’expérience ? Est-ce que SNCF, le groupe ou des entités, ont déjà des projets ou des expériences, des contributions en logiciel libre ? Et sinon, est-ce que SRD est une bonne vitrine ? Est-ce qu’il y a d’autres choses qui se passent à travers ça ?

Loïc: il y a un projet qui s’appelle Tock, qui est un robot conversationnel.

Walid: un chatbot, je mettrai le lien vers la présentation à Open Source Experience.

Loïc: qui est hébergée par l’association TOSIT. C’est toujours les mêmes. C’est Simon Clavier qui est dedans. Donc Tock, ça a une dizaine d’années, je crois. C’est une production de SNCF à la base. Et maintenant, c’est utilisé, adopté et développé par d’autres entreprises qui contribuent. Je ne vais pas les citer parce que je risque de me tromper, mais si tu me dis que tu as un lien…

Walid: oui, j’ai un lien vers la présentation de Open Source Experience, je le mettrai dans la transcription.

Loïc: voilà, donc pour moi, c’est celui qui a le plus d’ancienneté, comme projet développé en interne. Après, on utilise l’open source depuis très longtemps, que ce soit pour les bases de données, mais plus pour des composants logiciels, pour des composants informatiques, mais pas pour des sujets métiers. Je n’ai pas connaissance d’autres logiciels métiers qui aient été développés en interne et qui soient mis en open source. Je peux me tromper, mais je n’ai pas connaissance en tout cas. Si ce n’est TOCK, si on peut considérer que c’est un logiciel métier.

Mais on sent bien que, moi j’ai des échanges en interne avec certains collègues, on sent que c’est dans l’air du temps quand même.

Il y en a pas mal qui se posent des questions sur la mise en open source de leur logiciel, parce qu’ils commencent à avoir l’intérêt industriel. Parce que ça va permettre de comparer des résultats, ça va permettre d’aider à développer plus vite. On ne se pose plus la question des formats de données, des algorithmes, des trucs comme ça. On les prend et puis on les intègre et c’est terminé. Donc au niveau ferroviaire, c’est en train de prendre assez vite.

Loïc Hamelin


Walid: il y a une différence entre créer de zéro un logiciel libre et open sourcer un logiciel existant. C’est quand même deux mondes assez différents. Prendre un logiciel existant et le publier, c’est aussi un travail qui est vachement long et qui pose plein de questions sur les projets, les licences, la qualité du code. Puis après, il faut animer la communauté, tout ça. Donc là, ce que je comprends, c’est qu’aussi, OpenRail pourrait être, quelque part, le réceptacle pour certains de ces projets.

Loïc: c’est le cas de trois des autres projets qu’on a intégrés. Ils étaient fermés, ils les ouvrent pour les mettre dans OpenRail, parce que ça a du sens pour eux. Et donc, ils se posent toutes les questions que tu viens de citer, parce que ça n’a pas été pensé comme un logiciel libre ouvert au début. À la différence de ce que nous, on a fait, où on est parti de zéro, on a dit c’est libre, on a mis des développeurs qui connaissaient très bien le milieu de l’open source, donc ont pris les bonnes décisions. Et donc, pour nous, c’était plus facile. On a un deuxième projet qui s’appelle LibLRS, qui est un peu un spin-off d’OSRD, qu’on a détaché d’OSRD et qu’on a commencé en libre aussi, parce qu’on pense que ça a du sens de le détacher d’OSRD, parce qu’il peut être utilisé dans d’autres contextes. C’est une librairie de conversion de coordonnées entre les coordonnées latitude-longitude et ferro-localisation, ligne-voie PK (NDLR : point kilométrique), dans les deux sens. Et donc, ça, ça peut être utilisé aussi pour d’autres gestionnaires de réseau. Donc, c’est pour ça qu’on a voulu le sortir. Et on l’a fait libre de base.

On a un projet qui se crée carrément dans OpenRail. Ça, c’est les Allemands qui ont souhaité lancer un projet dans OpenRail. Et il y a zéro ligne de code pour l’instant. Ça va traiter d’un logiciel qui va aider à la migration des attelages des wagons fret, donc c’est très orienté métier, mais ça a du sens parce que ça va toucher toute l’Europe. Donc pourquoi pas le mettre en open source direct ? Voilà, on a plein de cas, mais tu as raison, commencer ouvert, c’est beaucoup plus simple quand même, à la base.

Céline: je confirme,

Pour avoir essayé de faire passer un logiciel en open source quand j’étais chez Transilien, on n’a pas réussi. En fait, comme on n’a pas réussi à prendre la décision au moment où on a commencé les développements, on s’est dit, on va le faire, mais on ne sait pas trop comment faire, c’est compliqué, il faut choisir des licences, il faut réfléchir à qui animera la communauté, blablabla, donc on le fera plus tard. Au final, le faire plus tard, c’est encore plus compliqué. Donc ne reproduisez pas notre erreur.

Céline Durupt


Walid: il y a des gens qui viennent vous voir justement pour discuter de votre expérience à l’intérieur du groupe ?

Loïc: oui, il y en a deux ou trois, un à l’extérieur du groupe. Ils sont venus me voir en disant que la démarche m’intéresse, comment vous avez fait. Voilà, c’est ce que je te disais tout à l’heure. On sent bien que ça bouge et qu’on voit quand même l’intérêt de l’open source pour plein de raisons. Ce n’est pas juste de la conviction de public money, public code. Il n’y a pas que ça. Il y a d’autres choses. Il y a un intérêt vraiment industriel d’avoir du code ouvert. Pour l’efficacité, pour évidemment la réutilisation du code, mais pas seulement l’efficacité dans le développement. Même au quotidien, avoir un code ouvert, ça permet de ne pas se poser de questions. En gros, on sait ce qui se passe. Si ça ne marche pas, on peut regarder directement. Si on voit qu’on veut développer un truc que des collègues ont déjà développé, on ne se pose même plus la question parce que c’est ouvert. Là, actuellement, on est capable, à deux bureaux d’écart, de développer deux fois la même chose. Je ne parle pas spécialement à la SNCF, c’est dans les entreprises en général. Avoir cette démarche d’ouverture du code, ça peut éviter ce genre de problème.

Le mot de la fin des invités


Walid: on arrive à la fin. On a abordé pas mal de sujets. J’aimerais vous laisser à chacun la parole pour un mot de la fin. Si vous avez un message à faire passer, c’est le moment. Céline, à toi l’honneur, est-ce que tu veux faire passer un message ?

Céline: merci beaucoup pour l’invitation. J’espère que notre conversation n’aura pas été trop technique, notamment sur le vocabulaire ferroviaire, c’est souvent la difficulté quand on présente nos sujets. Et puis j’invite tous les auditeurs et les auditrices, si vous êtes intéressés par les sujets OpenData et Open Source à la SNCF, n’hésitez pas à nous contacter. Vous pouvez venir au FOSDEM. Si vous venez au FOSDEM, il y a une grosse partie de l’équipe qui sera là, donc venez nous parler. Sinon, on va parler par les canaux habituels. N’hésitez pas à nous contacter. On est toujours disponibles pour discuter de tous ces sujets. Voilà.

Walid: merci, Yohan, un mot de la fin ?

Yohan: déjà, merci pour le podcast, pour la représentation. Tout ce que je pourrais dire à la rigueur,

je voudrais quand même juste insister sur ce qu’apporte l’open source aussi au niveau humain, dans le sens où intégrer un projet comme ça quand on démarre dans l’activité, c’est que du plus à mon goût. On y rencontre beaucoup de choses, on rencontre beaucoup de gens, on apprend beaucoup de choses. Il y a moins de barrières, du coup. C’est plus simple de s’approprier des concepts qui peuvent paraître brumeux. Je ne peux pas dire plus que Céline. On est aussi sur matrix.org, on a des gens qui viennent nous voir parfois. Il ne faut pas hésiter, et puis contribuez, n’hésitez pas à venir contribuer.

Yohan Durand


Walid: Loïc, ton mot de la fin ?

Loïc: d’abord, moi aussi, merci Walid pour l’invitation. C’est un peu inattendu de parler d’OSRD dans un podcast spécialisé dans le logiciel libre, mais c’est un vrai plaisir. Comme mes collègues, n’hésitez pas à venir nous voir au FOSDEM, n’hésitez pas à nous contacter. Je pense que tu mettras les contacts qu’il faut dans la documentation. Que dire de plus ? Moi, je suis extrêmement fier, évidemment, de contribuer à ce projet, parce que je pense que c’est un projet qui a du sens, c’est un projet qui a de l’avenir. Ça fait longtemps que je l’ai en tête, mais ça fait vraiment trois ans qu’on le développe. Je pense qu’on a encore de belles années de développement devant nous et que ça va vraiment aider à la promotion et à l’amélioration du système ferroviaire. Parce que ça, c’est vraiment mes deux objectifs. Et puis, pour ceux qui sont intéressés pour le développement logiciel, je pense que vous avez juste à regarder le code. Vous allez voir la qualité du code d’OSRD, mais des logiciels libres en général. C’est des gens qui sont extrêmement exigeants. Donc, vous allez voir du beau code. Il ne faut pas hésiter à aller regarder et contribuer évidemment, parce qu’on a aussi besoin de vos contributions. Voilà, merci encore pour l’invitation et longue vie à OSRD !

Walid: merci à tous les trois. Je dois avouer que la première fois que j’ai contacté Simon pour lui demander si je pouvais parler d’OpenRail, c’était en 2023. J’étais tout fou, je me suis dit c’est trop bien, il faut en parler. Donc je suis content qu’on puisse aborder le sujet. Je pense que ça sera pas la dernière fois, à mon avis, qu’on en parle parce que c’est vraiment un sujet qui me passionne. Merci à tous les trois d’avoir pris du temps. On va avoir certainement d’autres épisodes sur le transport et le logiciel libre dans les mois à venir. J’ai encore pas mal d’idées. Puis il y a le FOSDEM qui arrive, donc ça m’a encore donné plein d’idées. Merci, à bientôt. Et pour les auditrices et les auditeurs, comme d’habitude, je vous demande juste de partager l’épisode. Et puis, si vous avez des idées ou des remarques, n’hésitez pas à les faire. Le canal principal étant Mastodon. Voilà, bonne soirée et à bientôt pour un nouvel épisode.

Cet épisode a été enregistré le 15 janvier 2025

Licence


Ce podcast est publié sous la licence CC BY-SA 4.0 ou ultérieure.


Une introduction au projet OpenStreetMap – C.Quest


projets-libres.org/introductio…


This entry was edited (2 months ago)

B. Sibaud et F. Zara – LINUXFR : depuis 25 ans au service du logiciel libre


LinuxFR.org existe depuis 25 ans. Depuis toutes ces années, le site et son équipe sont dévoués à partager des informations autour du libre. Mais connaissez-vous l’histoire du site, son financement, sa communauté et son fonctionnement ? Et savez-vous qu

podcast.projets-libres.org/@pr…

LinuxFR.org existe depuis 25 ans. Depuis toutes ces années, le site et son équipe sont dévoués à partager des informations autour du libre.

Mais connaissez-vous l’histoire du site, son financement, sa communauté et son fonctionnement ? Et savez-vous quels sont ses défis dans les années à venir ?

Ce sont tous ces sujets que nous abordons avec deux des membres de l’association : Benoît « oumph » Sibaud, directeur de publication et Florent Zara, trésorier.

Cet épisode a été enregistré le 10 novembre 2023.

Sommaire

Liens à propos de LinuxFR et des invités



Liens pour en savoir plus



Licence


Ce podcast est publié sous la double licence Art Libre 1.3 ou ultérieure – CC BY-SA 2.0 ou ultérieure.

This entry was edited (7 months ago)

[Les fondamentaux] Gouvernance Open Source dans les projets et les entreprises


Savez-vous ce qu’est la gouvernance dans un projet libre ? 🤔 Et dans une entreprise ? Dans ce nouvel épisode de « Projets Libres ! », Sébastien Dinot, expert en logiciel libre chez CS Group, nous éclaire sur ces questions cruciales. Il décortique les di

podcast.projets-libres.org/@pr…

Sommaire

Gouvernance dans les projets et les entreprises


Walid : Bienvenue à toutes et à tous pour ce nouvel épisode. Aujourd’hui, c’est un épisode qui découle d’une anecdote que je vais vous raconter. On est au Capitole du Libre 2025 (NDLR : erreur c’est 2024), il est 10 h du matin, je rencontre notre invité Sébastien Dinot, devant son stand, le stand de CS. On discute et il me dit « Écoute Walid, tu as fait un épisode sur les modèles économiques et la gouvernance du logiciel libre, j’ai écouté tout l’épisode et en fait je dois te dire que je ne suis pas content parce que tu ne parles pas du tout de gouvernance. » Et je lui ai dit « Tu as tout à fait raison, donc on va faire un épisode sur c’est quoi la gouvernance dans un logiciel libre et dans une entreprise ». Donc nous y voilà. Notre invité aujourd’hui, c’est Sébastien Dinot, qui va se présenter juste après. Comme d’habitude, mon compère pour parler de ces sujets-là, c’est Raphaël Semeteys qui est devrel chez Worldline. Bonjour Raphaël et bonjour Sébastien et bienvenue sur Projets Libres !

Sébastien : Bonjour Walid et bonjour Raphaël.

Présentation de Sébastien Dinot


Walid : Super, écoutez, on est en forme, il fait beau, c’est parti pour cet épisode. Aujourd’hui, donc, on reçoit Sébastien Dinot et Sébastien, je vais te laisser te présenter tout d’abord. Est-ce que tu peux nous parler un peu de toi et nous dire comment t’es tombé dans le logiciel Libre ?

Sébastien : Je travaille pour la direction technique de CS Group, qui est une filiale de Sopra Steria. Et mon travail au quotidien consiste à accompagner les équipes de CS et nos clients dans leur acculturation au logiciel libre. C’est-à-dire que je vais les accompagner dans les quatre dimensions qui sont la dimension technique, juridique, sociale et économique. Concrètement, ça peut passer par des audits de conformité juridique, un accompagnement pour une contribution, expliquer comment on va libérer un projet, voire la stratégie afférente, ou carrément élaborer la stratégie de l’entreprise vis-à-vis du logiciel libre. J’ai créé il y a 12 ans l’Open Source Program Office – l’OSPO – de CS. Sinon, à part, ça, à titre privé, j’ai été membre du conseil d’administration de l’APRIL, le secrétaire, puis vice-président pendant 13 ans.

Walid : Comment tu as découvert le logiciel libre ? C’était à quel moment, c’était pendant tes études, c’était après ?

Sébastien : Après… je suis vieux. J’en ai un souvenir très précis. C’était en février 1998. En février 1998, je ne sais pas si ça vous parle, mais c’est un pur hasard. J’ai découvert ça bien longtemps après. C’était au moment où Christine Peterson, Bruce Perens, Eric Raymond et compagnie créaient l’Open Source Initiative. Au moment où ils créaient l’OSI, moi, je disais à deux potes, « il faudrait que je me forme à Unix, ça serait quand même bien pour ma culture ». Et ces deux gars m’ont dit, « écoute, on a entendu parler d’un Unix gratuit qui fonctionne sur PC, tu devrais essayer ça. Ça s’appelle Linux ». Ok. Je n’avais pas encore Internet à ce moment-là. Je vais dans une librairie, je tombe sur un bouquin : « Initiation à Red Hat Linux ». Ça devait être la 4.8, je crois, à l’époque. J’ai acheté le bouquin, j’ai installé le CD et j’ai découvert un monde. Et très vite, je me suis dit, « mais c’est génial, j’ai un tas d’outils ». Et tout un tas de questions se sont arrivées, en fait. Comment ça se fait que j’ai tous ces outils gratuitement ? Qui les fait ? Pourquoi ? Comment ça marche ? Je me suis posé plein de questions. J’ai vraiment commencé à m’intéresser à la façon dont étaient produits ces logiciels, qui, à l’époque, pour moi, étaient avant tout gratuits. Et puis, à Paris, en octobre 1998, c’était la Fête de la science, j’entends parler d’une animation autour du logiciel libre à la Cité des sciences. J’y suis allé. Et là, je tombe sur une bande de jeunes hackers passionnés, avec une énergie débordante, qui font des démos et tout. Et puis, je les trouve super sympas. Et là, je pense que le lendemain, j’ai adhéré à leur association qui était l’APRIL.

La création de l’Open Source Initiative (OSI)


Walid : Attends, tu peux rappeler ce que c’est, que l’OSI ?

Sébastien : Alors l’OSI, c’est l’Open Source Initiative.

En fait, autour du logiciel libre, il y a deux mouvements. Il y a historiquement, la Free Software Foundation, la FSF, donc, qui adopte une approche philosophique et politique du logiciel libre et qui a défini ce qu’on appelle la Free Software Definition, la FSD. Et puis, en 1998, il y a des gens qui se sont dit qu’ils étaient plus des techniciens, on va dire, et qui ne voulaient pas entendre parler à l’époque de la dimension philosophique, politique du libre, et se sont dit : « il faut qu’on trouve un nouveau programme marketing pour le libre. Parce que c’est trop compliqué d’expliquer que free, c’est comme freedom, mais que ce n’est pas gratuit ». Donc, on va trouver de nouveaux termes. Et ils se sont réunis pour créer ce qui allait devenir l’OSI.

Sébastien Dinot


Et au milieu de cette bande de hackers, dont certains sont célèbres, Bruce Perens, Eric S. Raymond et puis d’autres, il y avait une femme qui n’était pas hacker, mais qui était… je crois qu’elle est de mémoire, elle doit être… je ne sais pas comment on dit en français. Elle est prévisionniste. Elle étudie les sciences actuelles pour essayer de se projeter dans l’avenir et d’essayer d’anticiper les évolutions. Et c’est… elle, Christine Peterson, que l’histoire a un peu oubliée, qui a suggéré à tout le monde d’utiliser le terme open source. On lui doit ce terme-là.

Walid: c’était la minute historique.

Sébastien: et donc, l’OSI a créé l’Open Source Definition.

Les contributions de Sébastien au libre


Walid : OK. T’as parlé de l’April. Est-ce qu’il y a des projets dans lesquels t’es impliqué, particulièrement ou des thématiques dans lesquelles t’es impliqué plus que d’autres dans le monde du libre ?

Sébastien : Ça dépend si tu parles de projets à proprement parler ou de thèmes. Je m’intéresse particulièrement aux aspects gouvernance, on va en reparler, et à la vie des projets libres. À part, ça, au départ, j’ai un profil de développeur. Et donc, de par mon parcours, mon expérience, j’ai toujours eu le gout du code performant et du code robuste. L’optimisation de code, la fiabilisation du code. Et donc, de là est venue la pratique des tests unitaires, de toutes les bonnes pratiques de développement, de la CI/CD, et tout ça. Et donc j’accompagne pas mal de projets sur ces aspects-là. La mise en œuvre des bonnes pratiques de développement, et comme on est dans le libre aussi, les bonnes pratiques de développement collaboratif. Après, si on parle de projets dans lesquels je suis impliqué, paradoxalement, il y en a peu. Alors, je suis un développeur, je dis être passionné, et je contribue à peu de projets, c’est étonnant. En fait, lorsque j’ai découvert le libre, je me suis aperçu que si je ne codais pas un logiciel, ce n’était pas grave, quelqu’un coderait mieux que moi. Mais par contre j’étais assez doué pour défendre mes idées et que dans ce domaine, nous n’étions pas si nombreux que ça. Et parmi ces personnes-là, peu étaient prêtes à consacrer de l’énergie pour promouvoir et défendre le logiciel libre. Et je me suis dit que c’est plus intéressant que je m’investisse là-dedans. C’est pour ça que je me suis investi très longuement dans l’April. Et après, je me suis aussi investi dans l’Open data. J’ai obtenu certains résultats dont je suis un petit peu fier. Et quand même, je me suis au fil du temps impliqué dans deux projets, plus que d’autres. Alors, je dis plus que d’autres parce que mon métier m’amène à intervenir sur plein de projets ponctuellement et à conseiller plein de projets. Mais sur le long terme, il y a deux projets sur lesquels je me suis investi. Et là encore, paradoxalement, les gens ne me connaissent pas trop sur ces projets-là. Ils ne savent pas que j’existe parce que je suis le gus qui, en salle machine, fait en sorte que les serveurs tournent, que les outils de CI/CD fonctionnent, etc. Donc, des choses pas visibles, en fait. Le premier, c’est un projet créé par CS, en 2002 et libéré en 2008, qui s’appelle Orekit. C’est une bibliothèque de mécanique spatiale diffusée sous licence Apache. Là, j’administre les serveurs, j’ai mis en place la qualimétrie, j’ai mis en place la CI/CD, j’ai introduit des outils tels que Discourse pour que la communauté fonctionne mieux. Je veille à ce que la gouvernance soit appliquée. Alors, aujourd’hui, les développeurs sont géniaux, c’est vraiment un projet génial. Si le monde du libre fonctionnait comme ça, tout le temps, ce serait un monde bisounours. Mais au début, les gens n’étaient pas trop habitués. Donc, je veillais à ce que les développeurs de CS se comportent bien avec la communauté. Parce que ce qu’un projet libre a de plus précieux, c’est sa communauté. Voilà. Et j’ai fait un peu le même genre de choses, mais j’ai arrêté en 2022, pour un projet qui s’appelle Orfeo Toolbox. Donc, de 2008 à 2022. Et là, c’est un projet en C++. C’est une bibliothèque de traitement d’image orienté télédétection, donc pour l’utilisation et le traitement de produits satellitaires. Et à part ça, à titre privé, je suis un randonneur et un amateur de cartes. Et donc, depuis 2009, je contribue massivement à OpenStreetMap. J’en suis à plus de 2 millions de modifications sur le projet.

Walid : Voilà. OpenStreetMap dont on a parlé dans pas mal d’épisodes. Sujet assez récurrent, surtout dans les épisodes sur le transport, on en parle beaucoup d’OpenStreetMap, parce qu’effectivement, c’est un peu la base. Ok, Raphaël, tu as des questions ?

Raphaël : Non, non, c’est clair. Je comprends bien le positionnement que tu décris, Sébastien. Justement, c’est ça qui est fort dans le libre et dans l’aspect communauté. Si chacun apporte quelque chose, il n’y a pas que le code dans la communauté, on va en parler avec la gouvernance.

Définition de la gouvernance dans un projet libre


Walid : Alors, justement… on va passer à la première partie sur la gouvernance, puisque la gouvernance, on a décidé, en faisant cet épisode, d’axer les choses sur deux thèmes. La première, c’est le thème de qu’est-ce que c’est qu’une gouvernance dans un logiciel libre, dans un projet libre et la deuxième, c’est qu’est-ce que c’est qu’une gouvernance à l’intérieur d’une entreprise. Donc, si on prend la gouvernance dans un projet libre, la première question qu’on peut se poser, c’est d’abord, qu’est-ce qu’on appelle la gouvernance ? c’est quoi la gouvernance ?

Sébastien:

Alors, tout à l’heure, je parlais des quatre dimensions du logiciel libre. Et effectivement, un projet libre, c’est un projet qui résulte de la collaboration de personnes morales et physiques dans quatre dimensions, technique, juridique, sociale et économique. Et on ne s’implique pas dans un projet si on ne connait pas les conditions d’engagement.

Sébastien Dinot


Et donc, pour que quelqu’un s’implique dans un projet libre, il doit connaitre les conditions d’engagement sur ces quatre dimensions. Alors, au niveau technique, ça va être le code source, les méthodes, les outils, le guide de contribution, qui vont définir les modalités pratiques de contribution. Au niveau juridique, ça va être les licences et les accords de contribution, qui sont de nature juridique, mais là, empiètent un petit peu sur la dimension sociale, parce que ça peut être une source de tension. Et au niveau social, au niveau des rapports humains, eh bien, c’est la gouvernance et les documents associés, tels que le code de conduite, qui vont définir le cadre social de collaboration. Donc, code et outils, la technique, licence et accords de contribution, le cadre légal et la gouvernance, le cadre social. Après, il y a la dimension économique qui se traite de différentes manières selon que c’est un petit projet ou que c’est un gros projet réunissant de grands groupes. Là, c’est très vaste, en fait.

Et donc, la gouvernance, qui adresse cette dimension sociale, c’est le socle constitutionnel du projet. Elle définit un ensemble de principes et de règles, donc de fonctionnement, et lorsqu’on la publie, ce qu’on appelle avoir une gouvernance ouverte, on fait en sorte que toutes les personnes impliquées dans le projet ou envisageant de s’impliquer aient connaissance des règles d’engagement, des règles de participation. Et ça, c’est très intéressant parce que non seulement ça peut décider effectivement des personnes à contribuer, mais aussi, en cas de dérive du projet, chacun est libre de se référer à la gouvernance et de dire « attendez, là, on sort des clous, vous n’appliquez pas les règles qui étaient tacitement convenues. »

Sébastien Dinot


Alors, une gouvernance, d’un projet à l’autre, elle adresse des points différents, mais il y a un sous-ensemble qu’on retrouve toujours, ce sont les rôles et les droits, je dirais même privilèges associés à ces rôles, les processus de décision et les personnes impliquées dans ces processus de décision. Ça, c’est vraiment ce qu’on trouve partout. Mais on peut avoir d’autres aspects. Par exemple, on peut avoir les objectifs, le périmètre du projet, pour s’assurer qu’il ne parte pas dans tous les sens. On annonce à tout le monde. Et ce qui fait que quand des gens vont proposer de nouvelles fonctionnalités, on va pouvoir dire : « attendez, là, on est en train de s’occuper de choses qui sont en dehors du projet », donc on veut garder le cap.

Ça peut être aussi un code de conduite. Alors… en 2025, quand on voit comment certains se comportent, un code de conduite est plus nécessaire que jamais. J’étais quelqu’un de rétif autrefois au code de conduite et finalement je suis devenu un adepte et je prône l’utilisation du code de conduite, la mise en place du code de conduite. Mais ça peut être aussi la gouvernance, les engagements d’un projet vis-à-vis d’une structure tierce. Par exemple, il existe des fondations open source et beaucoup de projets rejoignent ces fondations, se mettent sous leur ombrelle. Et ces fondations ont des exigences. Eh bien, faire connaitre ces exigences, les relations qui lient le projet et la fondation, ça peut être intéressant, aussi. Donc, la gouvernance, finalement, elle introduit de la transparence sur le fonctionnement du projet et de la confiance. Et la confiance, c’est ce dont on a besoin pour s’engager dans un projet. On est dans l’humain, vraiment, à 100 %. Par contre, il y a un petit détail auquel je fais attention, c’est que j’ai parlé tout à l’heure de socle constitutionnel. Et je vois vraiment la gouvernance comme un socle constitutionnel. Et le problème du socle constitutionnel, c’est qu’il a tendance à sacraliser ce qu’il dit. Et qu’il est difficile de revenir dessus ensuite. Ça demande des processus assez lourds. Et donc, il faut veiller à ne pas trop figer les choses dans le projet. Petite anecdote, tout à l’heure, je parlais d’Orekit. Bon, ce n’est pas très grave, mais la gouvernance, explique qu’on contribue au projet en envoyant des patches par mail. C’était peut-être vrai en 2002, ce n’est plus du tout le cas en 2025. Et je me demande ce que ça fait là, ça n’aurait pas sa place, ça ne devrait pas avoir sa place. Et je vais proposer une révision de la gouvernance pour corriger quelques petits détails, quelques vieillissements de ce type.

Raphaël : Alors, j’ai une question, parce que tu parles de gouvernance ouverte, donc là, c’est quand la constitution, la gouvernance, les règles, elles sont explicites, mais ce n’est pas toujours le cas dans les projets ou alors peut-être que ça apparait en un moment de maturation ou de maturité du projet.

Sébastien : Oui, tu as raison. Ce n’est pas toujours le cas. Alors, quand ce n’est pas le cas, soit c’est des tout petits projets. En fait, il faut bien se rendre compte, vous le savez aussi bien que moi, mais il faut le dire pour les auditeurs, la plupart des projets sont portés par une personne. Et cette personne reçoit toute contribution comme une bénédiction : « c’est génial, j’ai eu une contribution ce mois-ci, c’est fabuleux ». Et donc, cette personne-là, le porteur du projet, ne s’embarrasse pas d’une règle de gouvernance, d’un accord de contribution. Il prend cette contribution, il l’intègre et il est content.

Mais quand votre projet commence à grossir, vous avez besoin de gouvernance pour régler tout ça. Mais ce besoin de gouvernance n’apparait qu’à partir du moment où il est clair que vous entendez partager les pouvoirs. Or, on constate que certains projets, quoique gros, donc on n’est plus dans le cas que je décrivais tout à l’heure, sont volontairement maitrisés par une seule entreprise qui décide de tout. Donc, elle n’a pas besoin de gouvernance, elle décide en interne. Après, les gens décident de contribuer ou pas, mais là, on est dans un rapport totalement inégal, en fait. Donc, les contributeurs externes ne peuvent pas faire entendre leur voix.

Sébastien Dinot


Et je connais plusieurs projets qui en sont morts ou qui ont connu des forks de ce fait. Donc, la gouvernance, effectivement, beaucoup de projets n’en ont pas par ignorance ou volontairement, parce que le pouvoir est détenu par une entité unique et qui n’a pas l’intention de partager.

Par contre, tout projet qui commence à avoir des contributions régulières et compagnie, j’invite leurs porteurs à se poser la question. Parce qu’il ne faut pas attendre qu’il y ait un problème, qu’il y ait un clash, pour régler les choses en urgence, ça risque de dynamiter le projet. Il faut que les choses aient été prévues en amont, pour que le jour où le problème arrive, il y ait des règles auxquelles se référer et qu’on puisse dire de manière objective, non. Ce que tu fais n’est pas acceptable, non, ce n’est pas l’esprit du projet, etc. Ou alors le processus de décision n’a pas été respecté, donc, la décision est caduque.

Walid : Le terme de gouvernance, c’est quelque chose qui est arrivé au tout départ du logiciel libre, ce terme n’existait pas ? C’est quelque chose qui est arrivé au fur et à mesure du temps, et qui, je suppose, a évolué au fur et à mesure du temps aussi ?

L’apparition du terme de gouvernance d’un projet libre et son évolution


Sébastien : Non effectivement, au début, peu de gens se souciaient de gouvernance. Il y a sans doute une exception majeure qui est le projet Debian. Le projet Debian, dès 1997, s’est doté d’un contrat social, suivi en 1998, si ma mémoire est bonne, d’une constitution. Et je me souviens qu’au début des années 2000, tout le monde regardait le projet Debian comme une curiosité. Ils ont un contrat social, c’est étrange, ils ont mis des règles bien strictes. Peu de projets étaient organisés de la sorte. Si on prend le projet GNU, par exemple, qui est bien plus ancien que Debian, parce que Debian a dû démarrer en 1993, et le projet GNU en 1983, donc il a 10 ans de plus. Eh bien, pendant longtemps, le projet GNU, la direction était juste le fait d’écrits de Richard Stallman, qui indiquait ce qu’il comptait faire. Donc, c’est le manifeste GNU, c’est la définition du Logiciel Libre et d’autres documents fondateurs qui ont inscrit le projet GNU dans cette logique-là. Mais finalement, la FSF et Richard Stallman, pendant très longtemps, ne se sont pas souciés de l’humain. Ils ont évacué ce sujet. En fait, ils ne le traitaient pas. Et j’ai appris il n’y a pas si longtemps, par un pur hasard, qu’en 2020, le projet GNU s’était doté d’un contrat social. Un projet créé, amorcé en 1983, ne s’est vraiment doté d’un contrat social qu’en 2020. Par contre, vous avez la fondation Apache, qui elle, on devait être encore… c’était encore le XXe siècle quand elle a été créée, je crois que c’était 1999. Et elle, très tôt, elle s’est dotée d’une gouvernance qu’elle a imposée à tous les projets qui la rejoignaient. Ça a créé « The Apache Way », la façon de faire d’Apache, en fait. On en reparlera certainement. Elle a adopté un modèle méritocratique et elle impose à tous ses projets de fonctionner selon ce modèle-là. D’ailleurs, je repense au projet Debian. Donc, non seulement il y a une constitution, mais en plus, il y a un « Debian Project Leader » qui est élu chaque année. Donc, chaque année, il y a plusieurs personnes qui candidatent. Ces personnes peuvent éventuellement être réélues, mais généralement, au bout de 2, 3, 4 ans, elles passent la main. Et aujourd’hui, on trouve beaucoup de projets qui ont ce mode de fonctionnement. Mais en 1998, c’était l’exception.

Les modèles de gouvernances


Raphaël : Ils font même campagne et tout, c’est tout un système. Et effectivement, entre des Apache Way et Debian Rules, etc., par rapport à ma remarque, de tout à l’heure, quand on démarre un projet, on commence à avoir des contributions. Et puis quelque part, ça s’impose à un moment donné d’organiser ou de rendre explicite les choses. Justement donc, quelle est la boite à outils ou comment quelqu’un ou une communauté qui est en train de s’auto-organiser, sur quoi ils peuvent se baser ? Justement, on a parlé de ça à Apache Way, comment ils font chez Debian. Est-ce qu’il y a des bonnes pratiques, des types de gouvernance même qui ont été définis ?

Sébastien : Avant les bonnes pratiques, il y a des modèles de gouvernance. Historiquement, les deux qu’on a vu émerger, c’est le BDFL, le dictateur bienveillant à vie, et la méritocratie.

Alors, le dictateur bienveillant à vie, porte bien son nom. Il est bienveillant envers le projet, pas forcément envers sa communauté. Et c’est une personne généralement unique, qui décide de tout dans le projet. Et il n’y a aucun contre-pouvoir. Alors, vous me direz que c’est la définition même du dictateur, certes, mais cela pose problème. Parce qu’en fait dès qu’il va y avoir des tensions, le dictateur, au final, a toujours raison. Et donc, il faut des qualités humaines qu’on ne trouve pas toujours chez les développeurs pour que la communauté n’explose pas, et pour avoir le sens de la discussion, tout en disant à la fin, je tranche. Et le BDFL a tendance à favoriser les forks, les explosions de communautés. Donc, c’est un modèle malheureusement souvent toxique, et un certain nombre de projets l’ont abandonné.

Sébastien Dinot


Ou souvent au moment où le créateur initial décide de tourner la page, on ne va pas reconduire un nouveau dictateur, on va passer sur un autre modèle. Et là, généralement, après la dictature, les gens ont envie de quoi ? Ils ont envie de démocratie. Ils n’ont même pas besoin de méritocratie, ils ont envie de démocratie. J’y reviendrai.

Et la méritocratie, c’est différent. C’est un partage des pouvoirs en fonction du mérite de chacun. Alors, en première approche, ça semble vraiment sympa comme modèle parce qu’on se dit, c’est bien. Plus les gens s’investissent dans un projet, plus ils contribuent, plus ils ont de pouvoir. Voilà quelque chose qui est juste. Dans la pratique, le problème de la méritocratie, c’est qu’elle résiste mal à l’usure du temps. Personne ne remet en cause le mérite. Chacun sait ce qu’on doit à la vieille gloire du projet. Et ce qui fait que, même quand des jeunes développeurs rejoignent les instances dirigeantes du projet, quand le jeune développeur, qui lui est actif et à ce jour, est très précieux pour le projet, exprime un point de vue, si le vieux contributeur qui est là, parce que personne ne lui a jamais demandé de partir et que tout le monde sait qu’on lui doit le projet historiquement, etc. Si le vieux développeur n’est pas d’accord, généralement, on va donner raison à la vieille personne plutôt qu’à la jeune. Alors qu’à l’instant T, le jeune contributeur est plus précieux pour le projet. Et donc, on reproche souvent à la méritocratie de créer des castes et de reproduire des biais sociétaux.

Sébastien Dinot


Ce qui fait qu’on a vu apparaitre au cours du temps deux autres modèles. C’est le modèle démocratique auquel je faisais allusion tout à l’heure, où là, typiquement, on se dit, mais finalement, Debian a tout compris. On va organiser une fluidité temporelle des pouvoirs, avec des mandats qui ont une durée limitée dans le temps, des élections. Alors, comme tu disais, Raphaël, Debian, ils font même campagne, ils défendent leur vision du projet, ils mettent en avant leurs espoirs pour le projet, et les développeurs votent. Et puis, vous avez un autre modèle qui, lui, est appelé libéral, parce qu’en fait, grosso modo, il n’y a pas de règle. On va dire plutôt qu’il y a la seule règle qui existe, c’est celui qui fait qui a raison. Donc, il y a un consensus mou, et puis, au final, quelqu’un décide de partir dans une voie, il a codé les choses, et voilà.

Walid : Tu as un exemple d’un projet comme ça ?

Sébastien : Il me semble qu’au sein de la CNCF, j’ai vu des projets comme ça. Mais il faudrait que je regarde… mais oui, il y en a, c’est sûr. La do-ocratie, c’est celui qui fait a raison.

Raphaël : J’avais une question sur le modèle démocratique, en tout cas celui de Debian. Parce que Debian, des gens qui votent dans le projet, c’est ceux qui ont le statut de développeur Debian. Donc il y a quand même un mix. Il faut mériter, quoi. Il faut d’abord être arrivé à développeur Debian.

Sébastien : Si tu transposes ça dans notre société, il faut faire partie de la communauté pour avoir le droit de s’exprimer. Et aux élections en France, à part, je crois, pour les élections locales depuis quelques années, mais il faut être français pour participer à l’élection du président. Tu peux bien résider en France depuis 20 ans, si tu n’es pas français, tu n’as pas le droit de voter pour le président de la République. Et pourtant, tu es concerné.

Raphaël : Faut être citoyen du projet.

Sébastien : Voilà. Et là, pour Debian, c’est pareil. Tu es développeur. Le terme développeur chez Debian est assez vaste. Tu as ce statut-là, donc tu es membre identifié de la communauté, donc tu as le droit de voter. Tu es utilisateur, c’est cool, on est super content de t’avoir, c’est génial. Par contre, non, tu n’es pas membre de la communauté de Debian. Mais effectivement, après, il y a toujours… la démocratie a toujours ses limites, que ce soit sur le logiciel libre ou dans la vie quotidienne.

Raphaël : L’autre biais que je vois aussi dans la partie méritocratie, outre la résistance au temps, c’est les jeux de pouvoir qu’il peut y avoir quand c’est des personnes qui sont payées par des entreprises.

Sébastien : Oui, tu as raison.

Justement, les entreprises adorent la méritocratie parce qu’elles s’investissent dans un projet, elles obtiennent une aura, une reconnaissance, et après, même si elles lèvent le pied, comme personne ne leur demande de partir des instances dirigeantes, comme tout le monde sait ce qu’on leur doit historiquement, non. Elles gardent un pouvoir de décision, tout en ne contribuant plus beaucoup au projet. Donc, les entreprises n’aiment pas trop les modèles démocratiques où, finalement, il faut retourner au charbon chaque année ou tous les deux ans et réobtenir un mandat.

Sébastien Dinot


Walid : Si je repars un peu au début de la conversation, imaginons, moi, je suis un utilisateur de logiciels libres. Je cherche à choisir un outil. Je tombe sur un outil, il a l’air sympa. On va en parler justement, après, ça fait un peu la transition avec la suite, avec les outils. Mais je vais voir un peu. Je m’aperçois qu’il n’y a pas vraiment de gouvernance.

Sébastien : Oui.

Le mode de contribution asymétrique


Walid : Et que c’est un outil avec une société derrière. En fait, en gros, je devrais avoir un gros warning. Attention, ce n’est pas clair. Qu’est-ce qui se passe si demain, je me mets à contribuer à ce projet ?

Sébastien : Oui, tu as raison. Il y a des questions à se poser que ne se posent pas beaucoup de gens. Mais par exemple, à CS, on a des règles à ce sujet-là. Par exemple, il y a des projets qui exigent ce que j’appelle un mode de contribution asymétrique. C’est-à-dire qu’en fait, le projet est sous licence fortement diffusive, mais il n’accepte les contributions que sous licence permissive, très évasive, type MIT, BSD. Ce qui fait qu’eux, ils peuvent refermer le code. Par contre, toi, derrière, tu ne peux pas refermer parce que leur licence, fortement diffusive, type GPL, s’impose à toi. Eh bien, typiquement, à CS, nous n’acceptons pas de contribuer à des projets qui ont un mode de contribution asymétrique. Nous contribuons sous la licence du projet ou nous ne contribuons pas.

Walid : C’est possible, ça ? On te demande que ton code soit sous une licence, mais on le diffuse sous une autre licence.

Sébastien : Tout à fait. Ce sont des projets qui sont portés par une seule entreprise. Elles veulent garder le pouvoir et elles veulent s’arroger… parce qu’en fait, historiquement, il y a plusieurs modes de gestion des contributions. Il y a soit un transfert des droits patrimoniaux, soit des accords de contribution qui sont de type les ICLA (NDLR : Indivual Contributor Licence Agreement), CCLA (NDLR : Corporate Contributor Licence Agreement) classiques ou le Developer Certificate of Origin. Mais si on prend le transfert de copyright, donc le Copyright Assignment, eh bien, il est clivant. Tu demandes à un tiers de contribuer et de te céder ses droits sur sa contribution. Franchement, la plupart du temps, les gens se disent « Non, je contribue à un projet, je ne vois pas pourquoi en plus je cèderais mes droits et pourquoi je n’aurais plus le droit de réutiliser mon propre travail derrière. » Donc, il faut vraiment s’appeler la Free Software Foundation pour obtenir des résultats et des contributions avec une telle exigence. Et encore, je connais des gens dans mon entourage qui refusent de contribuer à des projets GNU parce qu’ils n’acceptent pas le transfert de copyright, y compris au bénéfice de la FSF. Alors, la FSF est bien intentionnée, elle se dit « Si on a tous les copyrights, la seule personne qui peut être attaquée en justice, c’est la FSF. Et nous, on a les moyens de résister à une attaque et de défendre le projet. Donc, on sécurise le projet ». C’est pour ça que c’est très bien. Mais il y a des gens qui n’acceptent pas ça. Et on voit des acteurs commerciaux qui, à une époque, essayaient d’exiger les transferts de droits patrimoniaux. On en voit encore. C’est moins courant, mais on en voit encore. Et comme ça, comme ils sont les seuls détenteurs des droits patrimoniaux, ils sont les seuls à pouvoir décider de la licence. Et donc, ils peuvent éventuellement fournir une version fermée ou changer ultérieurement la licence, sans rien avoir à demander à quelqu’un. Mais après, l’autre stratégie, c’est de dire « Ah non, mais je ne demande pas de transfert de copyright. Par contre, vous contribuez à mon projet sous une licence libre permissive qui me permet de refermer le code, et moi, je le diffuse sous licence, fortement diffusive, donc vous, vous n’avez pas le droit de refermer le code. » Donc, effectivement, pour nous, c’est quelque chose de pas acceptable.

Walid : Bref, on dévie un peu j’allais dire. Déjà, un projet sur lequel tu as un Contributor License Agreement, qui est porté par une boite. Tu peux te dire que le risque que le projet se referme est non négligeable.

Sébastien : C’est une réalité, mais après, ça dépend comment est tourné le CLA, le Contributor License Agreement. Il faut savoir que généralement, le CLA, « vous contribuez au projet, d’accord, merci, et vous acceptez que votre code soit incorporé au projet libre et diffusé sous la licence du projet ». Donc, on prend un projet sous Apache, vous acceptez que ce soit diffusé sous licence Apache. Et effectivement, dans le passé, il y a eu un certain nombre de failles juridiques qui ont amené des projets à devoir changer de licence. Et moi, j’ai dû gérer ce genre de choses, et c’est compliqué. Changement de licence… retrouver tous les contributeurs, leur demander s’ils sont d’accord pour qu’on bascule de la licence A à la licence B, etc. Faire le tri, « lui, j’ai pas de réponse, ou elle, j’ai pas de réponse, finalement, soit on réécrit le code et on le jette, soit on oublie la fonctionnalité ». Donc c’est compliqué, ça peut prendre des mois. SciLab, ça leur a pris un an et demi pour basculer de CeCILL à une autre licence GPL (NDLR : voir l’historique des licences). Par contre, les accords modernes prévoient ça et disent « vous acceptez que nous changions de licence ultérieurement si le besoin s’en fait sentir ». Et c’est là qu’il y a potentiellement un problème. Par exemple, sur Orekit, on dit « il y a une telle clause, vous acceptez », mais on dit dans notre CLA « si on change, ce sera pour une licence qui reste dans l’esprit de la licence Apache 2 ». Autrement dit, le jour où on s’aperçoit qu’il y a une faille juridique dans l’Apache 2, et que des gens l’exploitent, on se dit qu’on va peut-être passer sur une Apache 3 (NDLR : Sébastien voulait dire : « la fondation Apache s’empresserait de publier une v3 et le projet Orekit l’adopterait certainement »), mais on ne passera pas sur une licence propriétaire ou autre chose. Donc, effectivement, il faut être méfiant, mais il faut analyser, toujours pareil, quelles sont les règles d’engagement ? Qu’est-ce que j’accepte ?

De quoi a-t-on besoin pour faire une gouvernance en 2025 ?


Walid : De quels outils on a besoin pour faire une gouvernance en 2025 ?

Sébastien : Moi, je dirais qu’il ne faut pas réinventer la roue. Et il faut partir de choses qui existent et qui ont fait leurs preuves. Donc, déjà, il faut savoir quel modèle on veut adopter : BDFL, méritocratie, libéral, démocratique. Et ensuite, on va voir ce que font des fondations. Parce que les fondations, elles ont des juristes qui ont fait des choses assez élaborées. Et là, on est sûr que c’est solide, par contre, ça peut faire peur. Si vous prenez la fondation NumFOCUS, elle vous propose des modèles de gouvernance. Vous n’êtes pas obligé d’adopter la gouvernance qu’elle vous propose. Par contre, elle a des exigences et votre gouvernance doit être conforme à ces exigences. Mais il y a des projets moins ambitieux et qui sont fort utiles. Par exemple, il y a un projet qui gagne à être connu, qui s’appelle MVG – Minimal Viable Governance : c’est un projet qui adresse… alors ils le découpent en deux. Ils se mettent dans la situation où une organisation voudrait une gouvernance globale pour un ensemble de projets. Et donc, une partie de la gouvernance s’adresse à l’organisation. Voilà quelles sont les règles valables de manière transverse sur tous les projets. Et une partie de la gouvernance qui est proposée s’adresse au projet avec la latitude qu’il a. Typiquement, c’est une très bonne idée de partir sur ce genre de choses plutôt que de tout réinventer. Mais aujourd’hui, clairement, il faut aller voir ce qui se fait dans des fondations et comprendre surtout les implications de chaque modèle.

Qui travaille sur les sujets liés à la gouvernance des projets libres ?


Walid : Qui travaille sur ces sujets de gouvernance ? Est-ce qu’il y a des instances ? Est-ce qu’il y a des groupes de réflexion ? Qui sont les gens qui travaillent sur ces sujets ?

Sébastien : Les fondations, la Linux Foundation, par exemple, Apache, c’est déjà le cas. Donc, le projet GNU, j’ai dit qu’ils ont travaillé sur le contrat social GNU. Donc, ce sont ces fondations qui vont réfléchir à des gouvernances et à des règles qu’elles vont imposer à tous les projets qui souhaitent les rejoindre. Mais sinon, c’est chaque projet qui va décider à son niveau de la gouvernance qu’il va mettre en place. Et par exemple, il m’est déjà arrivé d’accompagner plusieurs projets qui m’ont contacté. Leurs porteurs m’ont contacté. Ils m’ont dit « Nous sommes un consortium, nous voulons libérer un logiciel et nous voudrions mettre en place une gouvernance. » Je les ai accompagnés dans l’élaboration de cette gouvernance après avoir étudié quel était leur projet, quelle était leur stratégie, quelle était leur place dans l’écosystème et quelles étaient leurs attentes, et on a forgé une gouvernance adaptée au projet.

Walid : Mais là, par exemple, les gens ils te contactent, toi, tu fais ça, mais dans tout cet écosystème, qui travaille sur ces sujets-là ? Est-ce que c’est des cabinets de conseil ? Est-ce que c’est des juristes ? Qui sont les experts, en fait, dans ces domaines ?

Sébastien : Alors, je ne connais pas tous les acteurs, tu t’en doutes, mais je sais qu’il y a différents acteurs qui proposent. Je sais que la Fondation Eclipse propose ce type d’accompagnement. Il y a des gens chez eux qui proposent ça. Je suis sûr que tu vas voir des entreprises comme Inno³, qui connaissent très bien, ils sont capables de t’accompagner sur ce genre de projet (NDLR : voir l’épisode avec Benjamin Jean). Après, il y a des gens qui, comme moi, ont une petite réputation, et donc on les contacte, eux, et on passe après un contrat avec l’entreprise qui les emploie. Enfin, voilà, donc il y a un certain nombre d’acteurs.

Mais aussi, on peut aller voir des communautés, comme la communauté Rust, par exemple, qui a beaucoup travaillé sur la gouvernance, sur l’inclusivité, sur pas mal de sujets, qui est plutôt en pointe. Même s’il y a eu des clashs internes à une certaine époque qui ont fait partir certains modérateurs, justement, parce que les règles de gouvernance n’étaient pas respectées par le noyau dur. Mais au moins, les documents existent. La situation est bien évidemment différente selon qu’on est un petit projet avec… on est entre deux potes et on fait un truc ou on est une grande entreprise, et derrière, il y a un enjeu stratégique. On est un grand groupe. Et après, typiquement, tu prends des grandes entreprises comme RTE, qui est très active dans le domaine des logiciels liés à l’énergie. Eh bien, ils ont même décidé de s’adosser à la Linux Foundation. Ils ont même créé la Linux Foundation Energy, LFE, pour profiter de tout ce canevas. Parce qu’à leur niveau, entre opérateurs équivalents entre différents pays, il y avait d’énormes enjeux au niveau de la gouvernance. Je crois qu’il n’y a pas de réponse unique à ta question.

Walid : Je n’attendais pas une réponse unique, mais c’était plus pour faire un panorama des gens qui sont intéressés par ce sujet, qui réfléchissent là-dessus, etc. Raphaël ?

Raphaël : J’imagine que quand on s’approche, on veut rentrer dans une fondation, ça va dépendre de la fondation. Comme tu l’as dit, il y en a qui vont proposer des choses. Il y en a qui vont t’accompagner, comme tu l’as dit. Il y en a qui vont te laisser complètement libre et qui vont dire tu respectes, ça, ça, ça, ça, le reste, c’est ton affaire. Il y a aussi des communautés ou des méta-communautés, comme je les appelle, qui existent et qui peuvent plus ou moins accompagner, voire imposer.

Sébastien : Tu as totalement raison. Par exemple, tu prends la fondation NumFOCUS. NumFOCUS, j’en avais parlé plusieurs fois, c’est une fondation qui, au départ, a pour but de promouvoir l’informatique libre à usage scientifique, à finalité scientifique. Une fois qu’on a dit ça, ça semble très ciblé, mais quand on va voir, comme c’est tout logiciel susceptible d’avoir un intérêt pour le monde scientifique, c’est relativement large. Beaucoup de projets l’ont rejointe. Cette fondation est assez remarquable. Contrairement à beaucoup de fondations qui vont vous faire payer l’adhésion, vous la rejoignez, elle ne vous fait pas payer, par contre, elle a plein d’exigences. Et ces exigences, elles dépendent du niveau d’intégration que vous voulez, du niveau de support que vous voulez. Si vous voulez juste être affilié, vous devez avoir une gouvernance ouverte, elle doit être inclusive, elle doit respecter ceci, cela, après, à vous de voir pour les détails. Et si, par contre, la fondation NumFOCUS peut financer des projets. Et là, si on veut rejoindre ce programme de financement, la fondation NumFOCUS a des exigences supplémentaires. Et notamment, elle veut une place au sein du comité de pilotage, du PMC (NDLR : Project Management Committee), du PSC, comme vous voulez, pour voir de l’intérieur ce qui se passe et s’assurer que l’argent qu’elle fournit est bien utilisé. Donc vraiment, là, on est dans le cadre d’une fondation qui a vraiment une politique à géométrie variable, suivant ce que vous attendez d’elle.

Qu’entend-t-on par gouvernance en entreprise ?


Walid : Passons à la deuxième partie. Parlons maintenant de la partie gouvernance et entreprises. Là, pour le coup, autre chose. Je suis une société ou je suis un organisme public. Bref, je veux contribuer, je veux être un bon citoyen. Comment est-ce que je m’y prends ? Là, de quoi on parle de gouvernance quand on est une société ou une organisation ?

Sébastien : On a le même terme, mais on arrive sur un sujet qui n’a rien à voir avec le premier.

Walid : C’est marrant qu’on utilise le même terme, d’ailleurs.

Sébastien : Voilà.

La gouvernance, c’est, dans l’entreprise, la sécurisation et la formalisation de ta relation au logiciel libre. Sécurisation a deux sens. Sécuriser l’usage, comment je contrôle, ce qu’on utilise et que je m’assure que, par exemple, au niveau des licences, c’est conforme à ma politique industrielle, que c’est conforme à la politique industrielle de mes clients, mes exigences contractuelles, éventuellement à la loi, ou des choses comme ça. Et puis, effectivement, pour les quelques entreprises qui décident de contribuer à des projets libres, voire de publier des logiciels libres, eh bien, comment fait-on les choses proprement ?

Sébastien Dinot


Donc, on va mettre en place des processus pour être sûr que, au final, pour faciliter, parce qu’en cadrant, on facilite paradoxalement, plutôt que de laisser faire et d’avoir des gens qui contribuent sous le manteau parce qu’ils ont peur de se faire taper sur les doigts, ils ne savent pas vraiment ce qu’ils peuvent faire, pas faire. Non, on va cadrer, on va annoncer cette gouvernance, on va dire si vous voulez libérer, si vous voulez contribuer, passez par tel comité qui gère la chose, telle personne. Et on va vous accompagner et vous allez pouvoir le faire. Et on sécurise à la fois l’entreprise, en vérifiant que les choses sont correctement faites et qu’on est en capacité de le faire. Et on sécurise le salarié parce qu’il obtient le feu vert de l’entité qui est chargée de délivrer ses feux verts. Et donc, derrière, on ne peut rien lui reprocher.

Walid : C’est quelque chose dont je n’avais pas forcément conscience, mais en discutant avec toi, tu m’avais pointé sur un exemple, justement, du fait que le salarié, s’il s’adresse, dans le cas de CS, à l’OSPO, on va en parler après, et que vous lui donnez le feu vert, c’est vous qui êtes responsables du fait qu’on libère ce code et ce n’est pas une action du salarié, il n’a pas pris la décision.

Sébastien : Oui c’est ça. C’est qu’en fait, l’OSPO, l’Open Source Program Office, va procéder à l’analyse juridique, va s’assurer qu’au niveau contractuel, nous sommes bien en capacité, que nous n’avons pas transféré les droits à notre client, va procéder à un certain nombre de vérifications. On peut même demander si on voit que le code a été un peu bâclé, qu’il n’est pas à niveau, parce que parfois, ce ne sont pas des projets clients, parfois, qu’on libère, ça va être un outil qu’on a fait en interne. Parce qu’il répondait à un besoin, et on se dit que ce serait sympa de le publier. On va pouvoir avoir des exigences sur la qualité du code, en disant qu’il y a un minimum syndical à respecter, au niveau de la documentation, de l’information donnée aux utilisateurs.

Et effectivement, au sein de l’OSPO, il y a la direction juridique, il y a la direction technique, il y a la direction marketing, qui, dans le process, ont l’occasion de s’exprimer. Il y a ces analyses qui sont faites. Et donc, quand le salarié reçoit le feu vert de l’OSPO, il reçoit à travers l’OSPO le feu vert de la direction technique, de la direction juridique et de la direction marketing. Après, on ne peut plus lui reprocher d’avoir fait ce qu’il a fait. Il a suivi les règles et il a eu le feu vert.

Sébastien Dinot


Ce qui est intéressant d’ailleurs, c’est que quelqu’un m’avait dit une fois, quand j’en avais parlé, « Quand vous donnez l’autorisation à quelqu’un de contribuer, comment vous sécurisez ça ? Vous faites un avenant à son contrat ? » Effectivement, dans beaucoup d’entreprises où les choses ne sont pas cadrées autrement, si on veut sécuriser, on va faire un avenant au contrat. Mais à CS, ce n’est pas la peine. La personne a reçu le feu vert de la direction juridique et de la direction technique. L’OSPO enregistre, trace les décisions, enregistre tout ça dans une forge. La personne est sécurisée, elle n’a pas besoin d’un avenant.

Raphaël : J’avais une remarque parce qu’on disait, ouais, on utilise le même mot, mais en fait, ce n’est pas pour la même chose, mais c’est vrai que tu disais dans le premier cas, une gouvernance, il y a une constitution, il y a des règles, il y a un contrat qui est passé, et là, c’est un peu pareil. Pas qu’on fait tout à fait la même chose, mais tu disais, oui, mais la qualité du code, la documentation, et puis ci, et puis ça, en fait, ça, j’imagine que c’est décrit quelque part. Vous avez aussi quelque part une policy ou une constitution qui est la base de votre gouvernance, en fait.

Sébastien : Tout à fait. La gouvernance, au départ, il a fallu l’écrire, l’élaborer. Après, il a fallu mettre en place des procédures d’accompagnement pour la libération et d’accompagnement pour la contribution. Donc, tu as raison, tout ça est élaboré. Donc, oui, c’est une gouvernance. Mais ce que je voulais dire, c’est que tu as raison, ça relève du même principe, mais déjà là, on ne la publie pas. Cette gouvernance, ça reste un processus interne en entreprise. Et ensuite, l’objectif, il est vraiment de sécuriser la relation d’entreprise à l’Open source.

Raphaël : Oui, ça ne couvre pas les mêmes choses et ce n’est pas le même objectif.

Sébastien : Voilà, c’est pour ça que j’ai voulu distinguer.

Quand apparaît la notion de gouvernance du libre en entreprise ?


Walid : Quand est-ce que ça apparait, cette notion de gouvernance en entreprise ? Parce qu’au début, c’est pareil, les entreprises, il n’y avait pas ces outils juridiques, il n’y avait pas ces organisations.

Sébastien : Je n’ai pas de date à te donner, mais par contre, je devine que c’est apparu très tôt. Dans les entreprises les plus matures, celles qui sont les plus soucieuses du risque juridique d’un côté et de leur patrimoine immatériel de l’autre. D’une part, quand tu utilises des composants et que tu apprends qu’il y a des licences qui sont potentiellement fortement diffusives, tu peux vouloir les interdire. Si on les interdit comme ça en bloc, ça montre qu’on ne comprend pas le sujet. Mais bon, je connais des entreprises… en 1999, j’avais discuté avec un très gros industriel française qui avait déjà repéré la GNU GPL et qui interdisait l’utilisation de composants sous GNU GPL dans son entreprise, par exemple. Il interdisait l’utilisation de GCC alors que le GCC est fourni avec une exception, qui a pris différentes formes au fil du temps, il y a toujours eu une exception qui a fait que l’utilisation normale de GCC ne provoque pas la diffusion de la licence GNU GPL à l’exécutable compilé. Mais bon, très tôt, il y a des sociétés qui se sont souciées de sécuriser leur logiciel, et après, en termes de contribution, quand on contribue, quand on libère c’est toujours un savoir-faire interne que l’on révèle. Et là, il y a beaucoup d’entreprises qui ont le réflexe tout bêtement d’interdire. Et ça, c’est une erreur stratégique à mes yeux, parce que contribuer et libérer, c’est aussi un moyen de se faire connaitre et d’acquérir une réputation technique.

Walid : On en parlera tout à l’heure, justement.

Raphaël : J’avais une remarque sur la maturité des entreprises. Par rapport à ça, notamment l’utilisation.

Moi, j’ai trouvé, en tout cas au cours de ma carrière, que c’est arrivé tôt. Chez les industriels, c’est-à-dire ceux qui ont l’habitude de mélanger du code et du matériel, parce qu’ils ont cette notion de BOM, enfin de Build of Material (NDLR : nomenclature), et après, oui, de Software, de SBOM (NDLR : voir cet article sur le site d’Inno³). Mais effectivement, tu parlais de trucs spatiaux et tout, très vite, des gens ont compris que s’ils envoyaient du code dans l’espace, c’était compliqué après si on avait des problèmes. Ou alors si on avait diffusé des millions de téléphones portables dans la nature et qu’on se retrouvait avec des problèmes de licence. Moi, en tout cas, j’ai trouvé que c’était dans le domaine industriel qu’assez tôt, les gens ont été matures sur ce sujet-là.

Raphaël Semeteys


Sébastien : Il y a eu des grands procès, par exemple, entre IBM et d’autres fabricants de matériel ou de systèmes d’exploitation. On pourrait imaginer, tu prends des milieux où il y a très peu d’acteurs en lice, et ce ne sont que des mastodontes. Par exemple, tu prends l’aéronautique avec Boeing et Airbus. Tu te doutes que si à un moment, il y en a un des deux qui peut faire un croche-pied juridique à l’autre, il ne va pas se priver. Et donc, effectivement, là, il est sûr que les choses sont cadrées. Et le seul problème, c’est que souvent, le cadrage entraine l’inhibition dans ces cas-là. Il faut savoir franchir l’inhibition et jouer la bonne carte.

Walid : J’ai eu exactement les mêmes remarques que tu as dites par un gros industriel du spatial français aussi. La première chose qu’il fait, c’est regarder toutes les licences, analyser toutes les licences et tout. C’est vraiment un travail assez conséquent, finalement.

Sébastien : Oui, tout à fait.

La génèse du terme OSPO et le fonctionnement de l’OSPO chez CS Group


Walid : On vient de dire que la gouvernance, c’est quelque chose qui est arrivé finalement assez tôt. Mais il y a un terme qui est arrivé plus tard, c’est le terme d’OSPO. Est-ce que tu peux expliquer un peu, si tu le sais, comment on en arrive à ce terme d’OSPO et d’où ça vient ?

Sébastien : Alors, le terme en lui-même est très vieux.

Walid : Ah, oui ?

Sébastien : Il existait déjà quand j’ai créé le Comité de pilotage du logiciel libre, le CPLL, à CS. Lorsque j’ai émis cette idée en 2012, enfin, on l’a créé en 2013, il existait déjà. Mais il était utilisé par quelques rares entreprises américaines. Il n’avait pas encore de signification importante, il n’avait pas encore valeur d’étendard. Il a pris sa valeur d’étendard au tournant des années 2020, lorsque c’est devenu un souci d’un plus grand nombre d’entreprises, que du coup, plus d’entreprises ont cherché à créer un tel comité, qu’il a fallu un nom. Elles se sont raccrochées à ce qu’elles ont trouvé. Il y a eu l’OSPO, dans la foulée, il y a eu d’un côté l’OSPO Alliance, portée notamment en Europe par l’OW2 et d’autres acteurs. Et il y a eu le TODO Group, et ces deux entités qui visent à proposer aux entreprises la mise en œuvre de bonnes pratiques pour, justement, sécuriser leur relation à l’Open source, mais la sécuriser de manière positive, sécuriser l’utilisation, mais après, inviter à contribuer et à libérer. Eh bien, ces deux groupes ont popularisé le terme OSPO et à tel point qu’en 2022-2023, à CS, nous nous sommes dit « bon, le CPLL, personne ne connait, chaque fois, je suis obligé d’expliquer ce que c’est. Bon, on va adopter le terme étendard OSPO ». Et le CPLL est devenu l’Open source Program Office.

Raphaël : Tout à l’heure, tu l’évoquais un petit peu quand tu disais, quand on donne le feu vert, le « on », c’est-à-dire les gens qui sont représentés dans l’OSPO, c’est ça, quelles sont un peu les parties prenantes, qui est impliqué là-dedans et pourquoi en fait ?

Sébastien : D’une entreprise à l’autre, c’est très variable.

Il y a malheureusement beaucoup d’entreprises où l’OSPO se résume à une personne. Et le « O » final, il passe de Office à Officer. Et cette personne, elle, n’a aucune autorité particulière, si ce n’est d’examiner les demandes et d’aiguiller éventuellement vers les acteurs complémentaires. Et du coup, quand tu as le feu vert de l’OSPO, tu n’as pas de feu vert, parce qu’il faut encore faire valider par tout le monde.

Sébastien Dinot


J’avais déjà conscience de ça en 2012, lorsqu’on a réfléchi à l’OSPO de CS. Donc, j’ai voulu faire les choses autrement, parce qu’il y avait ce biais-là. Mais il y en avait aussi d’autres. Je connaissais des structures qui avaient déjà des gouvernances, mais elles étaient tellement complexes, il fallait tellement de tampons, ça tuait dans l’œuf toute velléité de contribution ou de libération. Donc, je me suis dit « je veux un truc efficace, je veux un truc qui facilite les choses. Et que lorsque l’on obtienne le feu vert de l’OSPO, c’est bon, on puisse y aller ». Et donc, plutôt que de créer un Officer, j’ai vraiment tenu à créer un Office en disant « qui a son mot à dire dans ce processus de libération ? » Il y a, comme je le disais, la Direction technique, la Direction juridique, et la Direction marketing. Mais il y a aussi la chaine hiérarchique opérationnelle. Parce que finalement, c’est la chaine hiérarchique opérationnelle qui décide de sa stratégie sur son marché. Après, la question, c’est où s’arrête-t-on ? Trop bas, on n’adresse peut-être pas le niveau stratégique, et donc ça ne va pas. Trop haut, si on remonte jusqu’au comité exécutif, on est obligé de tellement contextualiser la demande, de fournir tellement d’informations, c’est inefficace, et en plus, franchement, c’est des choses dont les gens se moquent, ça ne les concerne pas quand ils sont au comité exécutif d’une grosse boite, les détails de stratégie. Et donc, en réfléchissant, on se dit, le bon niveau de décision, c’est la division. Chez nous, maintenant, on est des Business Units. Donc, la division. Et on s’est dit, OK, le chef de division, le directeur de division, décide de sa stratégie. Par contre, il n’a peut-être pas connaissance de certains détails. Il n’a peut-être pas connaissance du contexte contractuel de ce projet-là. Et donc, on a décidé qu’on demandait que la direction technique, juridique et marketing sont membres permanents de l’OSPO. Et qu’on a des représentants de chaque BU pour faire les relais au quotidien, dans les différentes BU. Et on a aussi un ou deux experts Open source pour traiter les demandes concrètement. Mais après, dans le processus de décision, on implique la chaine hiérarchique du demandeur, le chef de projet, le directeur d’activité ou de département et le directeur de division. Et quand le directeur de division et tout le monde a dit oui, nous, de notre côté, on a fait notre boulot, on a fait l’audit juridique, on a demandé quelques ajustements si les attendus n’étaient pas respectés. Et donc, l’OSPO se prononce et dit OK, oui ou non. Généralement, c’est oui.

Walid : Une demande, dans votre cas, c’est un ticket ? C’est quoi ? Comment on fait une demande ?

Sébastien : C’est un dossier que les gens doivent remplir. Il y a un dossier pour la contribution et un dossier pour la libération. Ce dossier permet de saisir les informations qui nous sont nécessaires. Quel est le projet bénéficiaire ? Quelle est sa licence ? Quel est le contexte contractuel ? Ce n’est pas forcément très long, mais il faut que nous le sachions. Ça évite de poser des questions à chaque fois. Et après, c’est pour être sûr que les collaborateurs qui veulent contribuer ou libérer se sont posés des questions. Par exemple, tout à l’heure, on parlait de gouvernance. On leur demande « avez-vous prévu une gouvernance ? ». La réponse ne doit pas obligatoirement être « oui, j’ai prévu une gouvernance, ce sera de la méritocratie ». La réponse, ça peut être « non, parce que c’est un outil pour lequel on ne nourrit pas d’ambition particulière, on pense juste que ce serait sympa de libérer, c’est pour être utile à d’autres. Et puis, si un jour on commence à avoir des contributions, à ce moment-là, on réfléchira à une gouvernance ». Mais c’est être certain que les gens se sont posés la question. Et donc ils remplissent ce dossier, et on examine déjà ce dossier. Parfois, il y a des questions complémentaires, parce qu’il y a des choses qui ne sont pas très claires ou qui nous interpellent. Et puis, après, on va demander un accès au code source et on va regarder un petit peu à quoi ressemble le code.

Walid : Ça, c’est dans le cas où tu veux libérer un projet. Et dans le cas où tu veux contribuer à un projet existant, tu n’as pas cette notion de gouvernance ?

Sébastien : Si. Alors, déjà, on va vérifier que c’est bien un projet libre parce qu’on contribue qu’à des projets libres, que ce n’est pas de la contribution asymétrique. On peut avoir des accords de contribution et faire signer par les développeurs impliqués et par le directeur de division. Il y a ce genre de choses qu’on va traiter dans le cadre d’une contribution.

Contribution d’entreprise vs contribution personnelle


Raphaël : Il y a peut-être des cas aussi, tous simples, je contribue en mon nom, au nom de l’entreprise, qu’est-ce que je mets comme identifiant ?

Sébastien : Alors, là, tu abordes un sujet intéressant qui est que, effectivement, quand c’est dans le cadre de son travail, les droits patrimoniaux sont, de par le Code de la propriété intellectuelle, automatiquement dévolus à l’employeur. Donc, déjà, le copyright, ce sera l’employeur et pas toi. Toi, tu peux apparaitre comme auteur, tu as la reconnaissance de ta paternité, c’est tout, ça ne donne pas plus de droits.

Et par contre, il y a des cas, parce qu’en fait… que traite l’OSPO ? en termes de contributions, il traite des demandes ponctuelles, des contributions ponctuelles. Tiens, on a développé une fonction pour un projet A et on veut la soumettre. Ce sera plus intéressant pour nous de la soumettre que de la garder pour nous. On a des contributions au long cours. Donc, là, la contribution ponctuelle, le code existe déjà, on connait parfaitement le contexte : « OK, on connait le code et on donne un feu vert pour ça ». Après, on a la contribution au long cours. On a des salariés qui… par exemple, on a un collaborateur qui assure le portage sur Linux de processeurs PowerPC. C’est CS qui maintient en grande partie le processeur PowerPC dans Linux. Là, ça fait des années qu’il fait ça, et à chaque fois qu’il pousse du code, il n’a pas demandé une autorisation. Donc, on examine une demande de contribution au long cours, une autorisation de contribution au long cours, et on dit, une fois qu’on a vérifié que tout était bon, « ce développeur, dans le cadre de ce projet, de ce projet chez nous, de ce contexte contractuel, a le droit de contribuer à ce projet libre ». Et si un des éléments change, on réévaluera, mais sinon, on ne change pas. Après, on a la libération. Et la quatrième chose, c’est les contributions du salarié sur son temps personnel.

De manière générale, quand c’est sur son temps personnel et avec ses moyens propres, ça ne regarde pas l’entreprise. C’est son problème et c’est son copyright. Par contre, ça peut regarder l’entreprise quand la contribution peut apparaitre comme un acte déloyal. Qu’on estime qu’elle met en œuvre des savoir-faire particuliers, entreprises. Et là, on explique aux développeurs, dans ce cas-là, si vous soupçonnez qu’il peut y avoir ce problème-là, venez voir l’OSPO et on traite. Soit au final, vous obtenez l’accord, et c’est tant mieux, tout le monde est content, mais au moins, c’est sécurisé. Soit on vous dit non, et dans ce cas-là, au moins, vous ne vous investissez pas pour rien, vous ne risquez pas de vous faire sanctionner ultérieurement, d’avoir un procès ou quoi que ce soit. Ou alors, si jamais vous décidez que votre projet est plus important que votre emploi chez CS, vous pouvez décider de démissionner et d’aller porter votre projet. OK, c’est votre choix. Mais en tout cas, on ne va pas se retrouver dans une situation conflictuelle a postériori, où il y aurait des perdants des deux côtés.

Sébastien Dinot


Ce cas-là s’est déjà produit. Par exemple, une collaboratrice qui était payée pour contribuer à QGIS sur son temps pro, nous a dit, « moi, j’aimerais contribuer sur d’autres sujets ». On lui a dit, « non, ça ne nous intéresse pas ». Elle a dit, « OK, je vais faire sur mon temps perso ». « Ah, OK, d’accord, on va traiter ça au niveau de l’OSPO ». Et on a défini avec elle, on lui a dit, « OK, alors ce périmètre-là, c’est sur ton temps pro et c’est copyright CS. Ce périmètre-là, c’est sur ton temps perso avec tes moyens propres, et c’est du copyright toi ». On traite ça.

Raphaël : C’est important à préciser.

Parce que moi, j’ai déjà croisé, dans certains contextes, des responsables IP qui disaient aux développeurs : « même si tu codes chez toi le soir avec tes propres moyens, il n’y a aucun moyen que tu fasses un reset et que tu oublies tout ce que tu as appris dans l’entreprise. Donc, je considère que ce que tu fais… ». Tu vois, en faisant du FUD (NDLR : peur, incertitude, doute), tu vois, un petit peu comme ça. Et donc là, c’est là où il faut accompagner les pauvres développeurs qui, du coup, ne savent plus quoi faire. Ils disent, ouh, là là, je vais avoir des problèmes.

Raphaël Semeteys


Sébastien : Exactement, tu as raison. Mais c’est sûr qu’il y a des entreprises, elles jouent le FUD, elles jouent la menace. Mais non, la loi ne dit pas ça. La loi est explicite à ce niveau-là.

Walid : Il y a une dernière chose dont on n’a pas parlé, mais parce que c’est assez périphérique à ça, et je renverrai les gens vers une conférence très intéressante qui a été donnée par… au Capitole du Libre, cette année, par une collègue à toi sur la fusion, ta collègue Alice…

Sébastien : Ah oui, Alice !

Walid : De chez toi et Emmanuel du CNES sur la fusion de deux communautés, qui était super intéressante sur tous ces problèmes juridiques et tout ça, etc. (NDLR : La fédération d’outils open source : enjeux, méthodes et problématiques).

Sébastien : Elle a eu à gérer les aspects techniques, juridiques et sociaux, justement. Les aspects humains, avec la gouvernance et tout ça.

Walid : Les fusions de deux projets qui n’ont pas les mêmes licences, qui n’ont pas les mêmes gouvernances et tout. C’était assez intéressant. On mettra aussi le lien dedans. C’était assez intéressant.

Les retombées économiques pour CS Group des contributions aux logiciels libres


Walid : On a déjà commencé à parler des contributions de CS. Mais je sais parce que nous, on en a déjà parlé avant. Et j’aimerais bien que tu en parles un peu. C’est OK, vous faites les choses correctement. Vous essayez de vous comporter bien dans vos contributions. Mais quelle est la contrepartie, en fait ? C’est-à-dire quel avantage ça vous donne par rapport aux autres, de faire ça ?

Sébastien : Je vais prendre le projet Orekit, par exemple. Alors, là, c’est plus qu’une contribution, c’est une libération. Donc, un projet de mécanique spatiale qu’on a libéré en 2008, dont on a ouvert la gouvernance en 2011. Aujourd’hui, il y a un comité de pilotage avec 17 personnes représentant 13 entités différentes. On a des committers externes, des release managers externes. Aujourd’hui, ça ne surprend plus personne à CS de voir une release officielle d’Orekit, un produit issu de CS, déroulé par quelqu’un travaillant pour l’US Navy ou pour Airbus Defence and Space. Ce projet, qui est vraiment le libre dans sa plus noble expression, objectivement, en 2025, il nous coute encore beaucoup plus cher à développer que ce qu’il nous rapporte de manière directe, parce qu’on a quelques demandes de prestations pour du développement spécifique, pour de l’intégration, pour des études. C’est très loin de couvrir le cout d’investissement. Donc, si on ne regardait que le retour sur investissement direct, ce ne serait absolument pas intéressant pour nous de faire Orekit. Mais il se trouve que nous avons une capacité à mesurer le retour sur investissement indirect. Et quel est ce retour sur investissement indirect ? Déjà, nous avons fait Orekit parce que nous voulions notre autonomie dans ce domaine-là. Nous l’avons, et avec une brique qui est devenue…

Walid : Nous, c’est quoi ? c’est CS ?

Sébastien : CS voulait son indépendance.

Au départ, on a fait Orekit parce qu’on s’est dit qu’on veut avoir notre propre outil en mécanique spatiale. Pour ne plus avoir à dépendre de tiers. Et donc, déjà, non seulement aujourd’hui, on a cette brique, mais en plus, c’est l’une des briques qui fait référence. Airbus Defence and Space, dans tous ses centres de mécanique spatiale, maintenant, intègre Orekit. Et les calculs de trajectoire sont faits par Orekit. Et ce n’est loin d’être le seul industriel. Il y a bien d’autres agences industrielles, laboratoires de recherche qui font ça. Via cette reconnaissance, on a obtenu une notoriété. Et cette notoriété a contribué à la conquête de nouveaux marchés.

Sébastien Dinot


Je parlais d’Airbus Defence and Space. Par exemple, nous étions absents de chez Airbus Defence and Space. Ils ont découvert Orekit. Ils se sont dit, « waouh, c’est génial ». Ils ont vu ce qu’on faisait dans le libre, par ailleurs. Ils ont vu nos compétences, notre capacité à faire de l’audit, de code et tout. Et ils ont jugé que nous étions un partenaire intéressant. Et donc, ils nous ont pris comme contractants de premier niveau. Et nous avons aujourd’hui, c’est pour nous un client important. Et nous avons d’excellents rapports avec lui. Pareil, l’Agence spatiale européenne (ESA), nous a pris comme contractants de premier niveau. Et comme elle a éjecté au passage deux autres contractants historiques, elle a été sommée de se justifier.

Walid : Tu peux expliquer ce que ça veut dire pour les gens qui ne savent pas, contractant de premier niveau ?

Sébastien : En fait, nous sommes habilités à répondre directement aux appels d’offres de l’ESA et pas à passer par un tiers pour nous représenter. L’ESA, donc, nous a choisis. Elle a dû s’expliquer. Parce que sur les quatre sous-traitants qu’elle a retenus, elle nous a mis la deuxième note. Et donc, elle a dit, tout simplement, et c’est dans une conférence publique, il y en a une qui peut se retrouver, elle a dit, on a pris CS, grosso modo, ils ont dit, on a pris CS parce qu’ils ont fait Orekit. Clairement, Orekit, c’est génial. Donc, ils connaissent la mécanique spatiale. On a pu voir le code, super bien conçu, super bien codé, donc, au niveau informatique, ils maitrisent. En plus, c’est une licence libre, permissive. C’est tout à fait ce qu’on apprécie. Donc, c’est complètement compatible avec notre politique industrielle. Ça nous va très bien. Et ils ont mis Orekit en avant pour expliquer pourquoi ils nous avaient pris et pourquoi ils nous avaient mis une aussi bonne note. Et depuis, l’ESA nous passe énormément de contrats. Ça fait des années que nous sommes sous-traitants pour eux. Et la plupart de ces contrats n’ont absolument aucun lien avec Orekit. C’est dans d’autres domaines. Alors, il se peut qu’il y ait des études sur Orekit, qu’il y ait des intégrations Orekit, mais c’est anecdotique par rapport à tout un tas d’autres contrats que nous avons avec eux, EUMETSAT, pareil. Je peux vous en prendre plein. Et donc, des gens vis-à-vis desquels Orekit a joué, et notre politique dans l’Open source, parce qu’il n’y a pas qu’Orekit, il y a toute notre maturité, tout notre savoir-faire, toutes nos compétences, ont joué le rôle du pied à la porte. On rentre grâce à ça, on est reconnu grâce à ça, et après, on nous prend comme sous-traitants et nous réalisons tout un tas de prestations pour ces clients-là. Et en quelques années, la division espace de CS, qui est la plus motrice sur cette gouvernance Open Source, celle qui publie plus de choses en libre, qui contribue plus à des projets de tiers, eh bien, ses effectifs, alors pas que grâce à l’Open Source, ce serait prétentieux, mais parce qu’il y a aussi des effectifs évidemment très qualifiés, très pointus. Mais au final, ses effectifs, en quelques années, sont passés de 200 à 800 personnes.

Nous sommes passés d’une stature française à une stature européenne. La NASA nous connait, elle nous a déjà invités à des colloques, l’US Navy contribue de manière importante au projet Orekit. On a des contributions qui sont venues de l’US Navy, qui ont fait tomber en pâmoison Airbus Defence and Space et CS (NDLR : Sébastien fait référence au travail sur le multi-threading). On était heureux. Là encore, récemment, on a un laboratoire de recherche important aux États-Unis qui a contribué. Et donc, on a une aura internationale grâce à ça. Et ça nous rapporte des marchés. Et si on réfléchit aux campagnes marketing qu’il aurait fallu faire pour avoir ce niveau de renommée et espérer être recruté par ces grands comptes comme sous-traitants, les budgets seraient sans comparaison. Ce serait bien plus important.

Walid : En fait,

le truc le plus important là-dedans, c’est le temps long, finalement. C’est-à-dire que tu n’as pas de campagne marketing, mais tu as le temps devant toi. Ce qui fait que, comme tu fais les choses bien avec le temps, mais ça veut dire aussi qu’il ne faut pas chercher une retombée à court terme.

Walid Nouh


Sébastien : Exactement. Disons que ça, c’est une force des ESN par rapport à des éditeurs.

Un éditeur, il vend son produit. Et donc, sa stratégie, qu’elle soit libre ou propriétaire, elle est forcément axée autour de ce produit. Et lorsqu’il choisit le libre, il doit trouver un modèle économique qui est viable sur ce produit-là. Une ESN peut tout à fait jouer cette carte-là. Alors, CS une ESN particulière, c’est rare finalement sur les ESN qui publient leurs propres outils. Mais nous, nous avons des gens très compétents sur les domaines métiers, et donc nous développons des outils pour nos propres besoins. C’est pour ça que nous avons fait des outils comme Orekit. Et donc, on a cette capacité de proposer des prestations sur d’autres domaines. Donc, le fait qu’Orekit soit le pied dans la porte, soit le levier, la marche d’accès à de nouveaux clients, et qu’après on nous commande des prestations sur autre chose, ne nous pose aucun problème. Tant qu’au final, nous nous y retrouvons et que nous gagnons en renommée, que nous gagnons en marché, tout le monde est satisfait.

Sébastien Dinot


Raphaël : Moi, je complèterais par rapport à ce que tu dis, Walid, sur le temps long. En fait, c’est la confiance. C’est-à-dire que la confiance, ça met du temps à se construire. Mais par contre, une fois que c’est là, c’est quelque chose sur lequel tu peux vraiment compter. Parce que les gens, avec le temps, justement, ils ont pris confiance dans ça. Et je pense que contribuer et faire de la gouvernance ouverte sur ce genre de choses-là, en étant un acteur comme une ESN et en fournissant des solutions de ce type-là, ça donne confiance.

Sébastien : Alors, pour compléter, pour aller dans ton sens, Raphaël, une chose que je peux dire, parce que pareil, Airbus Defence and Space a donné une conférence sur le sujet (NDLR : voir diapo 10 à 14). Ils ont donné une conférence un jour où ils ont expliqué ce qu’ils faisaient d’Orekit et tout le bien qu’ils en pensaient. Et ils ont dit ce jour-là qu’entre le moment où ils ont découvert Orekit et le moment où ils ont décidé d’afficher leur choix, de dire, nous, on utilise Orekit et on va s’impliquer dans la communauté, il y a eu quatre ans. Ils l’ont mis en observation pendant quatre ans. Ils l’ont fait tourner, ils ont regardé ce que ça donnait sur les calculs, etc. Et ils ont fait des benchmarks avec d’autres outils, parce que pour eux, c’est névralgique, la brique de la mécanique spatiale. Et donc, pendant quatre ans, ils ont évalué le produit. Et au bout de quatre ans, ils se sont dit, mais non seulement le produit est bon, non seulement il est performant, mais en plus, la communauté fonctionne super bien. Il y a un niveau de support parce qu’évidemment, ils ont rencontré des problèmes, donc, de manière plus ou moins anonyme, ils avaient posé des questions et des trucs comme ça. Et ils ont dit qu’il y a un niveau de support qu’on n’a pas, même avec les prestations payantes chez d’autres éditeurs. Et du coup, ils ont fait ce que j’appelle leur coming-out. On utilise Orekit et on va s’impliquer dans la communauté.

Walid : Quatre ans, à l’échelle d’un jeune éditeur qui fait son produit, quatre ans, il peut être mort, tu vois.

Sébastien : Tout à fait.

Walid : Quand tu choisis un produit d’une startup, qui a levé plein de thunes pour essayer d’être le meilleur et de montrer et de faire du marketing et dire qu’il est meilleur, ça se trouve, dans trois ans, son produit n’est plus là. C’est pour ça que je parlais vraiment de temps long.

Sébastien : Je vais te dire que nous, je pense que si on avait pensé à un moment ou à un autre, qu’on récupèrerait des fruits de nos efforts quatre ou cinq ans plus tard, les gens auraient dit « non, mais je ne vais pas investir pendant cinq ans pour un retour hypothétique dans cinq ans. » Mais notre objectif premier, c’était d’être autonomes. On a fait Orekit parce que nous voulions être autonomes sur notre marché, pour pouvoir conquérir d’autres marchés. Le moteur initial était d’ordre commercial, stratégique.

Raphaël : Après, le temps dans l’aéronautique, l’aérospatial, ce n’est quand même pas le même que dans les startups.

Walid : C’est clair.

Raphaël : Même chez Elon Musk, parce que…

Walid : Quand on te demande de faire du support sur 30 ans ou sur 20 ans sur ton logiciel, ce n’est plus la même chose.

Sébastien : Ceci étant, je pense que les choses sont en train de changer avec ce qu’on appelle le New space. On a des startups qui ont une visibilité à 6 mois, 1 an, 2 ans.

Walid : On a pas mal balayé les différents sujets. On aurait pu certainement rentrer beaucoup plus en détail dans certains sujets, mais là, c’est plutôt pas mal. Je ne sais pas si Raphaël, tu as encore d’autres questions autour de ça ou pas toi ?

Bonnes pratiques autour du contrôles des dépendances logicielles dans les projets chez CS Group


Raphaël : Moi, j’ai une question, mais bon… je ne sais pas, parce que je vais peut-être ouvrir une boite là, quelques minutes de la fin. C’est concernant les bonnes pratiques en termes d’utilisation. Donc, là, on n’est même pas sur de la contribution ou de la libération, mais juste des développeurs ou des architectes qui sélectionnent des composants, des librairies, qui tirent des dépendances dans des projets qui sont des projets internes pour des produits ou pour des clients. Donc, là, j’imagine que dans votre constitution, policy, je ne sais pas comment l’appeler, il y a des règles aussi là-dessus, mais est-ce que ça c’est suffisant, ou vous avez eu besoin de mettre en place aussi des outils pour contrôler en fait ce qui passe au niveau des dépenses notamment ?

Sébastien : Le contrôle, on le met en place progressivement. On utilise des outils dans le cadre… alors soit je fais des audits parce qu’on me demande de faire un audit, avant une libération ou avant une livraison, souvent un peu tard, on me demande de faire un audit, et donc j’explique éventuellement ce qui ne va pas dans le projet, ce qu’il faut casser et refaire, ou je dis « c’est bon, vous pouvez libérer, c’est nickel ». Après, il y a des outils qui aident à faire ces audits, qui sont généralement propriétaires, mais qui coutent un bras, pour le dire clairement, donc qu’on met rarement en œuvre. Et après, il y a des outils plus basiques qui vont juste être capables de générer ce qu’on appelle un SBOM, donc un Software Bill of Materials. Donc, grosso modo, c’est : « voilà le logiciel et la liste des composants que j’ai trouvés à l’intérieur ». Le seul problème, c’est que ces outils-là, ils s’appuient sur des systèmes de package, de dépendance, d’inclusion, etc. Donc, ils vont trouver les composants qui sont utilisés en tant que tels. Par contre, ils ne vont pas être capables d’identifier les 500 lignes copiées-collées dans ton projet qui viennent de tel projet sous licence GPL. Et ça, c’est un problème potentiellement. Donc, effectivement, quand on nous demande, nous réalisons des audits, dans le cadre de la sécurisation de la chaine d’approvisionnement, nous sommes en train de mettre en place aussi des outils qui visent à la sécurisation juridique, mais aussi à la sécurisation vis-à-vis des failles de sécurité, la gestion de vie, le cycle de vie et l’obsolescence. C’est la lutte contre l’obsolescence logicielle. Veiller à avoir des composants qui ne sont pas trop vieux. Et après, en termes de règles, on n’est pas parfait. On n’a pas des règles absolues. Par contre, régulièrement, on me demande conseil sur une brique. Par exemple, on n’a pas de règles monolithiques du style « c’est la GNU GPL, vous ne l’utilisez pas, c’est non ». C’est : que fais-tu de ce composant ? Dans quel contexte ? Et je te dirai si tu peux l’utiliser ou pas. Et après, dans les sélections, on a des règles, des bonnes pratiques. Eh bien, je dis toujours : ne regardez pas que le code. Regardez s’il y a le bug tracker. Est-ce qu’il y a des bugs qui sont signalés ? Est-ce qu’ils sont corrigés vite ? Est-ce que vous détectez une communauté vivante de contributeurs et d’utilisateurs ? Ou est-ce qu’il y a une seule personne ? Voilà. C’est le genre…

Walid : Pardon, non, c’est juste pour dire, vous ne voyez pas, vous ne pouvez pas voir la tête de Raphaël avec son grand sourire parce que c’est son sujet de prédilection, c’est pour ça. Désolé.

Sébastien : Voilà, d’accord, très bien. Mais voilà, en fait, je demande aux gens, enfin, je vais vérifier pour eux tout un tas de paramètres. Alors, il y a la plateforme Open Hub, je ne sais pas si vous la connaissez. C’est une plateforme crowdsourcée. Et si votre logiciel que vous utilisez n’est pas présent, vous pouvez le déclarer et vous revenez le lendemain. Généralement, il a fait l’analyse. Et il va vous dire, voilà, ce projet-là, en moyenne, il y a 5 contributeurs par mois, 30 commits. Il existe depuis 5 ans, il a une vitalité croissante. Et donc, vous dites : c’est un bon cheval. Et à contrario, quand vous voyez que votre projet, il est mort, il n’y a pas eu de seule contribution depuis 5 ans, vous dites : alerte. OK, il a l’air super, génial, mais il n’y a plus personne qui bosse dessus depuis 5 ans. Non, stop.

Les OSPOs et la formation


Raphaël : OK, bon, après, c’est ma dernière question. Après, je m’arrête, promis. Du coup, oui, ce que je comprends, c’est-à-dire au niveau des projets, ils ont quand même leur stratégie, même technique, ils choisissent leur composant, etc. Et après, quand ils ont certaines questions ou qu’il y a un audit, là, ils vont aller regarder dans le détail. La question que j’ai, c’est est-ce que c’est de l’ordre des prérogatives ou des choses que un OSPO peut faire, de manière générale, chez vous ou peut-être dans d’autres contextes, de faire de la vulgarisation, de la formation, d’expliquer, en fait, des choses, parce que c’est un…

Sébastien : Ah, j’ai complètement oublié d’en parler de tout ça. Tu as raison, c’est pas « on peut », c’est « on doit ». À CS, on a mis en place un programme de sensibilisation aux droits d’auteur et aux logiciels libres. Et alors, pour la petite histoire, pour être totalement transparent, ce programme, on l’a mis en place, essentiellement au départ, au niveau de la BU Espace, de la division Espace, parce que c’est elle qui contribue le plus, qui libère le plus de choses, etc. Et donc, on a expliqué aux gens ce que c’est le droit d’auteur, et après, comment fonctionnent les licences, quel est le support que vous pouvez avoir en interne, c’est demi-journée de formation, et on a formé beaucoup de gens. Et on a vu disparaitre tout un tas de mauvaises pratiques et d’erreurs que je trouvais régulièrement dans les projets. Et il est arrivé des moments où des gens formés, je me souviens une fois, une développeuse est venue me voir, et « eh Sébastien, tiens, je crois qu’on a fait une connerie dans le projet, tu peux venir voir ? » Ah oui, et effectivement, quelqu’un qui n’avait pas suivi la formation avait fait une bêtise, il a fallu que je récupère le coup derrière. Bon, ben voilà, et j’ai réussi à le récupérer, tant mieux, voilà, il a fallu traiter. Donc il a montré un véritable intérêt, en fait. C’était vraiment un succès. Et puis, entre accroissement des effectifs de 200 à 800, renouvèlement des effectifs, à CS comme partout ailleurs, il y a du turnover, et changement de priorité, on a un moment mis en pause ce programme. Et là, assez vite, au bout d’un an, deux ans, j’ai vu réapparaitre des problèmes qui avaient complètement disparu. À tel point qu’aujourd’hui, il y a des responsables de département qui me demandent à ce qu’on le remette en place. Là, j’ai discuté récemment avec un responsable de département qui m’a dit « je veux qu’on mette ça en place pour toutes mes équipes. » Parce qu’il a connu l’époque où il y avait ce programme, il l’avait vu. Aujourd’hui, quand il voit les erreurs qui sont faites et qui sont rattrapées par l’OSPO, par les analyses, il dit « je ne veux plus que ça arrive ».

Walid : C’est quoi, comme type d’erreur ? tu peux donner un exemple pour qu’on s’imagine ?

Sébastien : C’est typiquement l’inclusion d’un composant sous GPL que tu veux libérer sous licence Apache, par exemple. Ça va être des copyrights qui ne sont pas appropriés, des informations qui ne sont pas fournies, des choses qui ne devraient pas être faites, qui devraient être maitrisées, qui ne sont pas maitrisées.

Raphaël : Ce que je me dis aussi, c’est ce que je vois à mon niveau, c’est qu’il y a de la vulgarisation à faire auprès des développeurs, ceux qui vont faire, utiliser, etc. mais aussi au niveau de leur manager.

Sébastien : Tout à fait. Et je n’ai pas le même discours, évidemment, quand je m’adresse à des développeurs ou à des managers. Tout comme il y a des fois, en fait, le programme de sensibilisation, on m’a déjà demandé de le donner dans d’autres entreprises pour créer une culture interne. Et là, il y a des entreprises où ça va être des effectifs techniques que j’ai en face de moi. Et il m’est arrivé aussi d’avoir la direction, toute la direction d’entreprise. D’une entreprise qui voulait comprendre ce que c’est ce logiciel libre et comment elle pouvait intégrer ça dans sa stratégie. Et là, je ne reparle pas de Git. C’est clair.

Mots de la fin


Walid : On va s’arrêter là parce qu’on a déjà bien parlé et c’était super intéressant. Avant qu’on s’arrête, je voudrais te proposer de faire un mot de la fin. Mais avant de faire un mot de la fin, je voudrais que Raphaël fasse un mot de la fin, lui-même. Est-ce que tu retiens quelque chose de tout cet échange d’abord Raphaël ?

Raphaël : Oui, je suis très content de cet échange-là. C’est hyper intéressant d’avoir un retour clair et bien organisé, bien structuré, comme Sébastien peut le faire, et avec une expérience en plus de plusieurs décennies sur comment mettre en place tout ça et comment ça a évolué. Donc ça, je trouve que c’est fondamental. Et c’est pour ça que ma dernière question, elle était orientée. Mais je pense qu’il reste, et c’est pour ça qu’un podcast comme le tien, Walid, il est fondamental pour ça, je pense aussi.

Il faut continuer à vulgariser et à expliquer, en fait. Moi, je le vois avec les nouveaux, les jeunes qui arrivent, etc. Des fois, on part de loin. Pour eux, GitHub, open source, je prends le code, je ne me pose aucune question, absolument aucune. Et c’est dommage parce que c’est riche, en fait. Il y a vraiment des choses à apprendre. Et on l’a vu, on a parlé des aspects humains, des contrats sociaux et tout. Il y a vraiment des choses à apprendre, même au niveau personnel.

Raphaël Semeteys


Et c’est dommage de… Donc, rien que pour ça, je suis content ; c’est mon mot à moi. Pardon.

Walid : Sébastien, ton mot de la fin ?

Sébastien : Mon mot à moi, c’est que le logiciel, ce n’est pas qu’un objet technique, c’est un objet dual, c’est donc technique et juridique. Quand on l’utilise, quand on le manipule, ça a des conséquences techniques, mais aussi juridiques. Et au-delà de ça, c’est un objet qui est fait par des humains. Et donc, il y a des considérations sociales, des facteurs humains à prendre en compte qu’il ne faut pas négliger parce qu’ils sont primordiaux.

On ne mesure pas le succès de votre logiciel à la qualité de son code, même si la qualité de ce code fait qu’on va l’adopter ou pas, ça contribue à son adoption. Au final, on mesure le succès de votre logiciel à sa communauté d’utilisateurs et de contributeurs. Et donc, si vous lancez dans ce genre d’aventure, vous devez faire en sorte d’avoir une communauté qui fonctionne bien, qui se développe bien. Ça nécessite de réfléchir à la gouvernance.

Sébastien Dinot


Walid : Mon mot de la fin à moi, c’est que, étant moi-même en train d’essayer, au jour d’aujourd’hui, c’est-à-dire le 19 mars, d’essayer de créer une petite équipe pour travailler autour du podcast, se posent ces questions de règles, d’outils, de collaboration, tout ça, etc., un peu de gouvernance, même si c’est pas en modèle réduit, mais c’est un peu pareil. Donc, c’est assez intéressant de faire ça maintenant. Et moi, je suis super content parce que ça fait déjà pas mal de temps qu’on discute ensemble, Sébastien, de ces sujets-là, quand on se croise sur les différents salons, et que je t’avais dit que ça valait vraiment la peine de faire un épisode.

On a terminé, ça fait 1h30 qu’on enregistre. Merci aux auditrices et aux auditeurs qui ont tenu jusque-là. On espère que vous avez appris des choses. N’hésitez pas à faire vos retours à travers nos réseaux sociaux habituels, en particulier Mastodon, qui est un réseau décentralisé et qui est tout à fait approprié par les temps qui courent. Et puis, à une prochaine pour d’autres épisodes. Comme vous avez pu le voir, le rythme de publication s’est un peu réduit, puisqu’on est repassé plutôt à un rythme de un mois ces temps-ci. Écoute Sébastien, au plaisir de te revoir une prochaine fois. Raphaël, à bientôt. Portez-vous bien tous les deux.

Sébastien : Merci à vous deux. C’était très intéressant de discuter avec vous. Merci pour l’invitation.

Raphaël : Merci.

Walid : À bientôt.

Production de l’épisode


  • Enregistrement à distance le 19 mars 2025
  • Trame : Raphaël Semeteys & Walid Nouh
  • Transcription : Walid Nouh, Sébastien Dinot (relectures et corrections)
  • Pour aller plus loin : Sébastien Dinot & Walid Nouh


Pour aller plus loin


Les interventions ou écrits de Sébastien :

Recommandé et commentaires par Sébastien pour en savoir plus :

  • Open Source Guides
  • Organisation, gouvernances de projets Open Source (Inno3)
  • Do-ocratie
  • Orekit sur Openhub : Pour info, la méthode COCOMO est connue pour surévaluer nettement (on annonce souvent un facteur 3) le cout de développement d’un projet utilisant un langage moderne. C’est le cas avec Orekit. OpenHub annonce 192 années d’effort. CS estime son effort sur Orekit à 44  annnées, auxquelles il faut ajouter quelques années, peut-être 10, pour l’ensemble des autres contributeurs.

Exemple significatif de contribution sur Orekit :

orekit.org/doc/orekit-day/2019… Cf. planches 10 à 14, notamment la planche 13. 🙂

Pour la petite histoire, sur la planche 14, Airbus Defence and Space (ADS) signale quelques améliorations potentielles d’Orekit : « Not designed for multi-threading with heterogeneous data contexts »

Le Naval Research Laboratory (NRL) de l’US Navy ayant fait le même constat, un chercheur du NRL (Evan Ward) a corrigé ce fameux problème de « data context » quelques mois après. Cf. cet échange sur le forum : forum.orekit.org/t/data-contex…

En résumé :

* 18 septembre : Evan Ward (NRL) annonce son intention et demande si son design convient à tout le monde.

* Super accueil de CS, d’ADS (« Yannick » est alors le responsable du service de mécanique spatiale d’ADS) et d’autres. Mais Yannick explique qu’il a un cas d’utilisation qui n’est pas satisfait par la proposition d’Evan. Evan revoit sa copie, lui et Yannick discutent, Evan ouvre une issue pour marquer le terrain, puis plus de nouvelles.

* 15 novembre : 2 mois sont passés. Evan annonce qu’il a bien progressé et explique une difficulté qu’il rencontre. Nouvel échange entre le NRL, ADS et, un peu CS (Luc).

* 3 décembre : Evan annonce qu’il a terminé et vient de pousser une MR (NDLR merge request). Tout le monde est enthousiaste.

Evan a fait un travail formidable sur ce coup et il a résolu un problème de conception qui ennuyait tout le monde. ADS et CS n’ont rien fait si ce n’est faire part de leurs doléances et l’encourager, mais ils sont les premiers bénéficiaires de cette grande avancée. L’autre problème résiduel (le multithreading) sera résolu dans Orekit 12.

Recommandé par Projets Libres! :


Licence


Ce podcast est publié sous la licence CC BY-SA 4.0 ou ultérieur


Introduction aux modèles économiques et gouvernances des logiciels libres – G. Le Bouder, R.Semeteys

projets-libres.org/introductio…


This entry was edited (1 month ago)