You can use the same business logic code on both the client and server.

With the Linear approach, the server remains the source of truth.

It’s difficult to ensure that it’s always the same logic when client and server software versions can get out of sync. You can try to force the client to reload whenever the server redeploys, but realistically you’ll probably end up dealing with cases where the client and server logic diverge.

i mean that's life with client computers, you make stuff backwards compatible and you avoid making it too brittle.

It's not an insurmountable problem, but it's a problem that you don't have if you execute your business logic only on the server.