← Back to context

Comment by jonhohle

17 hours ago

Let’s invert the car analogy: if someone writes an app with a backend service or library, should they be required to document the API for people to build their own tools on top of? Where between software and car does this requirement or regulation change and why?

I’m absolutely in favor of being able to repair my own stuff and voiding any warranty or liability in the process. I absolutely support reverse engineering and preventing companies from issuing copyright strikes on uncopyrightable facts about their products. I’m mostly OK with the idea that unqualified people can make potentially life threatening changes to their 2-ton vehicle barreling down the road at 80mph.

Would I like documentation for all these things? Absolutely! Should it be enforced by law? I don’t think so.

> if someone writes an app with a backend service or library, should they be required to document the API for people to build their own tools on top of?

Yes. Network services and client software should be considered two separate products/markets, and tying between them should be seen as anti-competitive behavior worthy of anti-trust enforcement.

That the software industry has been able to develop some brazenly anti-competitive pratices does not constitute an argument that it should be allowed to continue.

  • I don’t view iRacing owning the service and client software as anti-competitive. Same with CS2, Fortnite, Vallorant, etc.

    I’m fine with Google Workspace owning the client and the service, same with Zoom, Slack, Teams, Box, Dropbox, etc.

    I don’t think we’d have better games (pretty much for certain), and I don’t know that we’d have as good online productivity tools either.

    • Games could clearly be an exception - they're the only place the locked down computing paradigm has a reasonable argument.

      The multi-user productivity apps you listed would most certainly be better off as separate clients and services! The entire point is that you shouldn't be forced into using one (often terrible) piece of proprietary client software simply due to the network effects of other people using it. Wouldn't it be nice to use the Slack client in a Teams environment (or vice versa if that's your thing) ? This would produce more competition because companies would have to develop the client software to be compelling itself, rather than relying on the pull of installed deployments with captive victims^wusers.