-
Notifications
You must be signed in to change notification settings - Fork 120
Transitous Hack Weekend Berlin, July 2025
Start: Friday, 2025-07-11, ca. 15:00, following the DELFI Family & Friends Day, which is supposed to end at around 14:30 and is about a 15 min walk way.
End: Sunday, 2025-07-13, ca. 14:30. We have a hard limit there as there's another event in the same venue starting at 15:00.
Köpenicker Straße 45
Berlin
Come on, you all work on routing software...
Anyone interested in or contributing to Transitous and related/adjacent topics is welcome to join. There's room for about 15 people.
Please indicate whether you want to participate though, in the Transitous Matrix channel or by adding yourself to the list here, so we can contact you e.g. in case of changes.
- Felix
- Jonah
- Robin
- Volker (@vkrause)
- Max (@1Maxnet1) (partially)
- Frank
- Michael
- Lars (partially)
- kat
- lach-anonym
- Jannis (@derhuerst)
- Theo
- Holger
- Amélie
- Friday: start at 15:00, dinner tbd
- Saturday: start at 09:00, lunch tbd, dinner tbd
- Sunday: start at 09:00, lunch tbd, end at 14:30
Add topics you want to discuss/work on here:
- Legal setup, umbrella organization/foundation.
- Trip display names (if not already resolved until then)
- Improvements to the hosting setup (reliability)
- Social Media
- Augmenting/fixing/normalizing GTFS feeds as part of the import pipeline.
- Do we need an API/service usage policy? (examples: https://operations.osmfoundation.org/policies/tiles/, https://operations.osmfoundation.org/policies/nominatim/, https://operations.osmfoundation.org/policies/api/, https://www.mediawiki.org/wiki/API:Etiquette)
- ...
https://github.com/public-transport/transitous/pull/1170
Robin and Jonah have set up load balancing between the Berlin and Darmstadt servers.
Use cases:
- privacy policy needs a legal contract
- we need to be able to handle money, including international money income
- we don't want single point of failures for e.g. domain ownership
Other examples:
- chaos.social: own e.V. optimized for minimal work
Existing organizations we could attach to?
- FOSSGIS eV - already operates Valhalla, Nominatim
- Mobility Data?
- OKF?
Verein as a Service
Comercial operations
- we don't want that
Legal advice:
- https://probono-rechtsberatung.de/ (for gemeinnützige Vereine) - we used this for privacy policy advice
- https://johann-steudle.de/ "Commoner, Rechtsanwalt und Ansprechpartner für transformatives Wirtschaftsrecht", Berlin, I know him personally from the German commons scene (Frank)
Further considerations:
- Is project governenace tied to the organization or separate?
- Licensing of the data we use might be a problem for some of the existing organizations
- own eV would need a yearly budget of 600-1000€ per year just for operations
Action items:
- we talk to Mobility Data, FOSSGIS eV and OKF
A Python client can easily be created by openapi-python-client:
openapi-python-client generate --path openapi.yaml --output-path motis\_api\_client --meta none
https://github.com/motis-project/motis/pull/932
The (data) contribution docs jump directly to JSON syntax details and assume GTFS and Git(hub) knowledge.
- Add information about different data types, data sources and diagnostics from https://volkerkrause.eu/2025/06/14/transitous-adding-data.html
- Best case (but a lot of work): Data contribution/introspection UI without manual JSON editing in Git or GTFS introspection in spreadsheets.
For the developer documentation:
- the redoc OpenAPI geneartion does not allow to execute command in-place, like e.g. Swagger UI does
For the setup documentation:
- prebuilt gtfsclean only exists for Linux, while Motis also exists for macOS/Windows
- add python argparse help for fetch.py, for more useful feedback on passing wrong parameters (done: https://github.com/public-transport/transitous/pull/1348))
- generate-motis-config.py should default to full mode
- generate-motis-config.py should fill in Motis paths
- maybe: separate command for local use that does motis import and motis server in one go
For MOTIS documentation:
- Add sections for new and missing features, like GBFS + Authentication, footpaths, … (not done yet)
- Translated quickstart documentation: https://github.com/motis-project/motis/pull/933
https://github.com/motis-project/motis/pull/937
Open questions:
- Should we require a User-Agent header or similar?
- Use by proprietary apps
- Listing proprietaty apps on the website
Notes:
- Require User-Agent or equivalent, with the goal to have a communication channel
- Use from within browser JS might require another header
- Document our focus on FOSS apps
- Proprietary/commercial users who stay under the radar e.g. while doing some testing or development don't matter, we wont attempt to hard-block that
- We do not want to promote proprietary apps on the website
- We want to avoid defined rate limits as long as people behave reasonably
- Document that self-hosting the full Transitous data set, as an alternative option
- Discourage bulk queries
- Should we suggest proprietary users to contact commercial suppliers instead?
- How strongly should we discourage proprietary users?
- Edge cases: embedded web use (technically FOSS software) by organisations e.g. for events. Ok for e.g. non-profits/NGOs/people working on "good" causes, not ok for primarily commercial activities. Not easy to cover by above rules.
- As we do now: encourgage people to get in touch for discussing their use case
Implemented in https://github.com/public-transport/transitous/pull/1345
Open questions:
- deduplication, in particular with aggregate feeds like the NVBW or CH ones
- all vehicle types covered?
- scalability of hundreds of separate GBFS feeds, on their and on Transitous' side
Notes:
- citybikes has predominantly bikes currently, but also historic data(!)
- citybikes currently doesn't have the same kind of monitoring/feed error reporting as Transitous, but seemed to be interested in implementing something like that
- best case scenario: citybikes becomes the canonical source for GBFS feeds, and we only consume that in Transitous, if anything from the current Transitous set is missing we contribute it there
- possible middle ground sceneario: Transitous uses citybikes as yet another GBFS feed catalog with hand-picked feeds from there
- worst case scenario: citybikes explicitly wants to only focus on bikes, not other vehicle types covered by GBFS, that would make integration very messy for feeds covering multiple modes (Transitous wants/needs everything)
- we need to check if Motis scales good enough with the several hundred GBFS feeds from citybikes, but that would need to be resolved either way
- citybikes hold a bunch of non-public API keys, possible impediment for self-hosting
- need to check with citybikes whether using their 700+ feeds continuously from Transitous is ok load-wise and cost-wise for them. If that's a problem, self-hosting a citybikes instance might be an option.
Max is working on a template.
- A simple tool is ready to use
- https://github.com/motis-project/motis/pull/934
- long-overdue fixes & improvements to a web-based GTFS-RT inspector have been merged 🚀 (https://github.com/public-transport/gtfs-rt-inspector/pull/36))
Mastodon account, possible content (should be min. 50 posts per year):
- Service alerts about downtimes or updates
- Weekly summaries about data coverage changes (possibly auto-generated by diffing the feed files)
- Motis features/changelogs
- Funny/bizarre data failures like the Zeitschleife von Aachen or the Wurmloch von Köln
- Events (relevant OTM presentations, OTCC, hack weekend, etc)
- Share content from apps using Transitous, Open Transport related events, etc
Blog aggregator: (should be at least a post every 3 months or so):
- Motis feature posts
- Some of Volker's posts
Passibly short update block after OpenTransportMeetup?
Where to set up a Mastodon account? who gets access?
- Must be something that allows English content, which might excludes some on-topic instances like zug.network (verify this actually doesn't allow English content) or verkehrswende.social
- Options:
- generic FOSS instances (fosstodon, floss.social)
- osm.town
- kde.social
- Done, and documented here: https://github.com/public-transport/transitous/wiki/Social-Media Setting up a blog aggregator on the website?
- Public transport apps know which vehicle the user is in
- phone sends (trip_id, coordinates) to a server
- server exposes VehiclePositions
- MOTIS is gaining support for predicting based on VehiclePositions
- MOTIS will be able to expose TripUpdates as gtfs-rt
- AIS for ferries, ADS-B for aircraft,
- myshiptracking.com can be queried freely
- @derhuerst has some preliminary recordings of the baltic sea including hamburg
- myshiptracking.com can be queried freely
- realtime tram/bus positions obtained from radio signals
- Flixbus/Flixtrain live vehicle positions
- older WIP API client https://github.com/derhuerst/live-flix-website-position
- road traffic data and road incidents:
- https://opendatahub.com/datasets/ - flights, road traffic, dynamic road traffic signs, taxi positions, parking space availability, ticket vending machine status, etc, ie. lots of quite rare datasets
- @lach-anonym contributed the STA (https://www.sta.bz.it/de/)) EFA entry to transport-apis, so that it will show up in KDE Itinerary & other apps 🙌
- ... which it does now: https://invent.kde.org/libraries/kpublictransport/-/commit/c5bff6a01971203adf37c858e28a4381cd3c4eb0 :)
- Service Alerts have translation support already inside MOTIS' data model, this is just not yet provided to the outside.
- translations.txt support does not yet exist, but at least the data model work is necessary for the NeTEx support.
- Options to expose this:
- additional API parameter
- HTTP Accept-Language header (same as OTP)
- In either case: we'd like an ordered list of preferred languages, a single language is not ideal.
- https://facilmap.org/#13/48.1914/16.3310/Lima-OPTM
- https://codeberg.org/comaps/comaps/issues/299
- https://loom.cs.uni-freiburg.de/
- https://github.com/ad-freiburg/loom
Something like that would be nice, both as infrastructure for enduser UIs, as well as for diagnostics.
- Generally preferred approach: get things fixed upstream, by standard proposals and working with data providers
- There will still be cases where we temporarily (in public transport time dimensions, ie. possibly for decades) need to fix or extend the date
- Examples:
- Normalize route/trip names: reordering fields, regex/text manipulation
- Align mode of transport values: filters on other columns or possibly ohter tables (e.g. agency)
- Augment line colors/logos, agency contact information/logos: Inject data from other (non-GTFS) tables
- Compute missing paths: road and rail routing
- Maintainability:
- As little as possible of this should be done in code, some form of (declarative) rules next to the feed data would be much easier accessible for most contributors
- Should this be in MOTIS or gtfsclean (or something else):
- Performance is a concern, could generally be optimized by not re-zipping GTFS files multiple times, all tools can also work with unpacked GTFS
- For seamless static GTFS feed switchover MOTIS might need to update and reload GTFS feeds during runtime, lengthy and separate processing steps could be a challenge for this
- MOTIS does not have an appropriate mode enum for this yet, but that's being worked on
- there's GTRS as a GTFS extension for additionally needed information such as booking deep links or driver information
- MOTIS could expose the number of imported trips, transports, stops etc. https://github.com/motis-project/motis/issues/935
- Make it possible to specify test queries that must find a connection
- For huge feed collections like France, we need basically every feed however broken it might be to imported without errors, but we need to mark important feeds as "must-produce-transports" to still notice fundamental issues
- organize a FOSDEM fringe event?
- Loop calendar.txt if last day of service == last day feedinfo https://github.com/motis-project/motis/issues/936
Pad with notes: https://padlite.spline.de/p/transitous-hack-weekend
CC0-1.0


