At some point I was searching for an open source car pooling service. I realized there weren’t any so I started developing one on my free weekends.
While I haven’t made much progress so far, I have been observing how much as a society we have been relying on route planning software. Also, I cannot overlook the effect of such services on the planet (see Amazon, Uber, and many more).
With all this as a context, I have been asking myself the following questions:
- What would be the impact on society (especially inequality) if there were open source alternatives to such services?
- What would a common core look like? (i.e. what is the WordPress equivalent for transportation/route planning, is OpenStreetMaps enough?)
- What domain specific knowledge would it require to build such a software? (while in university I researched about the travelling salesman problem, anything else?)
- What safety protocols would we need to develop when there is no corporation insuring users? (i.e. if I order something from Amazon and it’s dead on arrival, I get either a refund or a replacement shipped to me for free)
- What’s the proper terminology to describe what I am describing?
Feel free to add any questions of your own. I created this post because I am free this afternoon and I wondered what it would like to discuss this with strangers instead of pondering on my own.
Edit: My free afternoon was taken away by an incident I had to respond to, it’s now late o’clock here, but I will do my best to reply to all you magnificent people.
At some point I was searching for an open source car pooling service.
I have been observing how much as a society we have been relying on route planning software.
I think social factors for car pooling are far bigger than route planning. Getting a group of people on the same schedule with the same general destination would seem the problem most haven’t taken on. The route planning would probably be better done with real-time data once you have identified people within reasonable distances willing to share transportation at a similar time.
There are open source routing efforts: https://wiki.openstreetmap.org/wiki/Routing
I think social factors for car pooling are far bigger than route planning.
To be honest, I wouldn’t trust an algorithm to decide with whom I ride. I would like to see a few people that match my schedule and route, and then individually inspect their profiles and make contact to arrange the trip details.
What would you expect from a service that matches people into car-pools?
I can’t speak on any of the others, but a open-source decentralized Uber alternative could actually be extremely competitive. You could basically give drivers 100% of the profits minus hosting costs/development costs (dev might fall away depending on the model). So in effect you either get cheaper prices for consumers or more wages for drives. No middlemen jacking up prices for no reason.
But I don’t think federation works for that. Rather you’d want to build it on top of some open-source decentralized blockchain platform that handles transactions, escrow, ratings, reputation, identity/profile management (you wouldn’t want anonymoud drivers) etc…
Money, ratings, reputation, identity stuff are all better solved with blockchain than with federation in my opinion. You don’t want to have to check the repuation of each instance, every instance might handle ratings differently etc… It would be a mess. Rather you’d want to only be worried about driver reputation.
How you would handle new drivers is an important question, but that’s implementation details.
The problem here is that it still leaves drivers with all the overhead. While it’s good that they’re making all the profit generated, the scalability and reliability aren’t great because of that.
Taxis are a business that particularly benefits from at least minor consolidation. A company with a decent reputation and a handful of cars is likely to have connections with local businesses to get the word out, and they’re also able to absorb vehicle wear and damage while still turning a profit.
If my cab breaks down it gets towed, I grab another cab, and we keep making money. If my own vehicle breaks down doing rideshares, suddenly I have no transportation and no means of income until it’s fixed.
On the customer end, cabs are also a lot safer. You’re riding with someone who’s been vetted, who has a decent driving record and who can pass a background check. They’ve also potentially got a lot more time on the road than someone who’s starting to drive for Uber and hasn’t run into the logistics issues yet. Never mind that they’re probably local and familiar with the area, whereas every single Uber I see around here has out of state plates.
Actual ride sharing, like, independent people using things like bulletin boards to both get to work together at a mutual benefit, is a fantastic practice. But when you try to make it some big service you basically get a half assed replacement for taxis that shift the financial burden onto drivers and cut prices as a result.
Do you have any other taxi related experience or knowledge you would like to share? You seem quite knowledgeable.
Also, do you think local taxi groups/companies/coops could benefit by hosting their own instance in a federated Uber like platform?
Actual ride sharing, like, independent people using things like bulletin boards to both get to work together at a mutual benefit, is a fantastic practice. But when you try to make it some big service you basically get a half assed replacement for taxis that shift the financial burden onto drivers and cut prices as a result.
That was the reason I started looking for a ride-sharing service in the first place. I was in Larissa, the morning after the Tempi train crash occurred. I was about to ride to Athens with my car and I realized that the only train track of the country was going to be out of order for months (still is). So, I decided to offer my seats for free to anyone interested, I made a post on a fb group about ride-sharing, but by the time someone reached out I had already left.
That’s when I realized that user experience matters, that person was actively looking for a ride when I posted, but they missed my post. So, e-mail notifications was the 2nd feature I developed.
You could basically give drivers 100% of the profits minus hosting costs/development costs (dev might fall away depending on the model).
I would assume that drivers are hosting their own instance, and they get to decide both (a) how much they charge and (b) what portion of their profits they donate to the devs (especially modifications they need).
Money, ratings, reputation, identity stuff are all better solved with blockchain than with federation in my opinion. You don’t want to have to check the repuation of each instance, every instance might handle ratings differently etc… It would be a mess. Rather you’d want to only be worried about driver reputation.
I think this is already happening with taxi services. Here in Athens, there are a dozen of services you can call to order a taxi, and people (at least younger generations) are aware of most of them and use them depending on their preferences.
Also, another layer of passenger protection could be the instance they use. Instance admins could filter the driver instances they federate with, allowing only drivers with specific criteria. An issue I see here is that the federation criteria would be much more strict, potentially marginalizing people or making the barrier of entrance more difficult.
I personally like the way Indrive operates in relation to setting up prices and fees. You can agree on a price with the drivers, like you offer 5$ and they give you they’re offers in return 6 or 7$ and you agree with the price, what i dont like in fact is the usage of google location services (google services) and that it is propietary
It looks like the kind of thing where a protocol is not enough, an actual legal entity is needed.
Something like blablacar, bur run as a cooperative would be a great idea.
Absolutely, I would consider instances that are run by cooperatives, probably with some segregation between drivers and passengers.
Other examples of instances could be:
- LGBTQ only passengers (or drivers) - I have friends that are afraid to take taxis because they don’t trust cis-men taxi drivers.
- Female only passengers (or drivers) - pretty much the same issue
- Localized instances - Jurisdictions are hard to manage.
- Unions
I’m sorry, maybe it’s my white male cis privilege speaking, but I don’t see how minority-run service can ever be a realistic solution. Well, it could be if you live in London, New York, San Francisco, or a few other global cities large enough that the minority population can provide the services you need. But that could never be a solution for smaller places where there may be at best a few, for instance, LGBTQ taxi drivers (if any).
What you want is a service that will take steps to prevent any mistreatment (e.g. in car cameras) and that has a strong reputation for taking complaints seriously.
And while this may not apply directly to women (definitely not a minority) I still feel that requiring prevention and accountability is a much better solution than segregation.
I’ve had this idea of a larger trading economy based on boardgamegeeks “math trades.” You could list an inventory of good used items you’d like to get rid of and then you can select other people’s items that you would like to receive in exchange. Then the trading software kicks in and tells you who to send your item to and you receive an item from someone else.
This works for boardgames on a smaller scale, but on a larger scale it lacks a trust system.
A website like ebay would be required to handle the amount of inventory and user rating system. Government id and a chargeback system for disputes would probably be required to help mitigate misrepresentations.
I honestly don’t think such a service could be free, but it could work well in other niches than just board games and it would be nice to be able to trade between niches like a car starter in exchange for a blender.
I think it could be federated as well, with different instances being ran for different types of things.
We could call it “freebay”
I suppose the site operator would charge a listing fee. This would prevent people from flooding the site with too many items or a bunch of fakes.
Interesting idea, but I think you currently buildung an operation’s Plattform for a service that does not exist.
In europe there is something like BlaBla car wich is carpooling for already planned trips. Blabla car does cover it’s passengers with extra insurance, wich is in turn basically it’s service.
You have to grasp the jurisdiction problems. The driver need insurance and a way to get payed. This to its core is the principle of Uber. Somebody gets paid to drive you while Uber does the insurance and payment part as well as the Plattform.
What you could do is an open source platform that integrates all car pooling services and gives you the best option.
On the other hand you could partner up with a big insurance company and build an extra insurance for private car pooling and act as insurer and payment platform for a fixed fee.
Disclaimer: I am not trying to make any money out of this. I just hate big corps and like coding.
What you could do is an open source platform that integrates all car pooling services and gives you the best option.
Interesting take! So far, my carpooling MVP has been about bringing people in contact, assuming they can handle money transactions on their own. As you mention, jurisdictions are going to be a huge problem, which I wouldn’t dream of handling on my own.
Here in Greece, the most popular media for carpooling is a Facebook group, where people can post either offers or requests for trips. So I tried to think of an MVP that could provide help those people while (a) not having to use Facebook and (b) have an improved user experience.
Under those circumstances your idea is awesome.
I would add a Feature where you can add recurring trips. For instance every Wednesday I will get groceries and if somebody also need a ride there he/she can join the ride.
A federated Uber is going to be a nightmare when it comes to pricing.
I feel like a bid/ask function wouldn’t be that technically difficult to implement.
A driver can punch in minimums: Maybe there’s a driver who is only willing to drive for $10 per ride, $0.50 per minute, and $0.25 per mile at a particular moment in time, and maybe a multiplier or premium for certain routes that involve tolls or larger passenger groups, etc., or a discount for pre-booking at least certain number of hours or days in advance. Maybe the pricing could take into consideration more variables (idle time versus driving time, pickup distance, minimum rider rating, etc.). Potential riders punch in their desired routes and they get real-time pricing information on the available drivers and the quoted price according to each driver’s formula.
The formulas shouldn’t be that hard for the driver or the passenger, from their interface, as long as the service has access to go route data.
It will be difficult to make understood to the end consumer and may also have issues being accepted by the local government. Uber had a problem with peak pricing as it was seen as exorbitant.
You are also going to have an issue with drivers understanding what to price.
lol I never stopped to think about it. Now that I have, I am terrified.
Some quick thoughts:
- For Uber like services, I always assumed drivers and passengers are going to reside to separate instances that each tends to their needs. So, driver instances could negotiate with passenger instances and come up with fair pricing.
- Each driver could enter their rate and have their instance automatically bid for them (assuming they are available) when a new ride is requested. The passenger (or their instance) gets to decide which driver to use.
I have probably seen too much NotJustBikes lately to say anything positive or constructive about car sharing and how it affects society. But when it comes to the technical side of implementing such a service, there are some interesting problems to solve (depending on the scope of your project ofc…). You mentioned the traveling salesman problem, which considers one agent who is trying to find the distance-optimal route. When it comes to multiple cars and multiple ride requests and time constraints, the kind of algorithms you want to look for are more generally called assignment problems. If you want to dive into code, you can look up “google hashcode 2018 rideshare” which was a coding competition with a closely related problem.
I have probably seen too much NotJustBikes lately to say anything positive or constructive about car sharing and how it affects society.
It’s nice to meet a fellow fan of NotJustBikes, them and AdamSomething have been pivotal for me. Sometimes I’m wondering if I am doing an Airbnb (aka trying to patch a broken system, making everything worse in the process). However, I truly believe transportation (both people and goods) is important, and the software supporting it should be open.
Wow, I took part on that challenge, I forgot all about it. Thanks for the suggestion, that’s what I am doing this weekend.
deleted by creator
One word: trust.
- Whom do you trust to not vomit in your car?
- Whom do you trust to not take you out in the woods and rob you or worse?
On a small scale, a bunch of friends can trust each other. On anything larger than that, you need both driver and passenger vetting, and insurance, then you need a third party to decide in each conflict.
You can manage all the technical details as an open source solution, but the issue of decentralized trust among strangers would require:
- a hefty deposit for the passenger
- a background check, insurance, maybe live tracking, for the driver
- an arbiter, if you don’t want every conflict to end up in the courts
- a voting system for the quality of service/client
To keep it decentralized, you could use crypto services to manage deposits, but would still need an external oracle to decide each case.