Agreed, we should also make sure to ban interracial marriage since same culture marriages are universal among all the countries in the world. I don't know of any thriving culture which frowns on same race marriage.
You can use protobuff without gRPC if that helps for your use case. Twitch has open sourced their HTTP1 protobuff client/server library: https://github.com/twitchtv/twirp
Definitely not feasible to keep drivers on as employees legally. Some issues that come to mind that seem incredibly hard for uber/lyft to enforce but are mandatory for California employees:
* Meal & rest breaks
* Callback pay
* Split Shift premiums
* Reporting premium (if you show up to work, but less work to do than half your scheduled shift)
The only way I see this working is somebody started some "Driver Pool" company that employed drivers fulltime and then Uber/Lyft/Doordash/Grubhub/etc all use that company.
Meal and rest breaks would be easy-ish. Have a button in the driver app to take a rest break available every so often. If it's been too long, force it and don't show rides. Same for meals.
Callback, split shift, and reporting premiums only apply to my knowledge if the shifts are scheduled. I guess it depends if they go towards scheduled shifts over show up whenever, and/or if they can make it 'i'd like to work: yes/no'
AB5 explicitly allowed for flexible hours- it did not require "shifts" like you're talking about. It made allowances to give drivers the flexibility they want, but Uber and Lyft are upset that it also requires them to provide the option for insurance and that they'd have to pay into the unemployment pool.
They cannot be classified as employees to begin with. AB5 also harmed non-Uber/Lyft drivers, I came across several posts for programming gigs that said that they would not be able to accept offers from programmers in CA due to AB5. It's broken.