Hacker News new | ask | show | jobs
by mixologic 1520 days ago
I feel like free software, and RMS's biggest blind spot is the network, between people, and between computers. Everything is framed and discussed in this old timey way of using computers, where you had a general purpose machine that was personal that you programmed to do things you needed, or installed software on, to also do something valueable.

Now it seems like the vast majority of the needs and requirements to run software locally have been replaced with networked services and a browser/thin client interface.

Which means, that in order to do anything useful, you need to communicate with some other service that is running software that has access to your data. The 'freedom' to inspect the code that runs on your computer is useless without both the freedom to see what happens upstream, and also some level of trust or confidence that the service you're using really isnt doing something nefarious.

Take something as old and as open as IRC. I have absolutely no way of knowing if the server Im connecting to is actually running the software I think it is, unmodified. The only people who have that level of access, have root on the server.

Even RMS's free game example is bad. One of the players can modify their copy to cheat, and the other players dont have any real option in that situation.

6 comments

> The 'freedom' to inspect the code that runs on your computer is useless without both the freedom to see what happens upstream, and also some level of trust or confidence that the service you're using really isnt doing something nefarious.

How is such freedom useless? I keep hearing this argument, yet I still run a significant portion of software locally and have no plans of replacing that with services, given they are a far worse option, precisely due to the loss of freedom and autonomy for not much additional gain.

Sure, if you accept that all your software are belong to them, then clearly the freedom to run libre stuff is useless, tautologically. But maybe you shouldn't be ready to give away that freedom just yet?

That you cannot be sure what someone else is running "over there", on a machine you don't control, is a fact of nature. Trading away your freedom for a foolish attempt to control that is misguided and shortsighted.

It's not freedom in general that's useless, but specifically freedom when that software relies on an upstream service to do things.

Your argument sounds like it is against the use of software that requires such an upstream service in the first place, which is a fair stance to take. The Problem is when that upstream service is Necessary for whatever you are trying to do. Like in circumstances where interaction and collaboration with other users is the goal.

> It's not freedom in general that's useless, but specifically freedom when that software relies on an upstream service to do things.

Until that service (such as a bank) decides that your rooted, user-controlled phone is no good, and forces you to use one controlled by the manufacturer, if you want access to your bank account.

If you want access from an app on your phone yes, not just to have access.

The fact is it’s not just us that are stakeholders in the devices we carry. Our mobile network provider is a stakeholder, the manufacturer is a stakeholder, our bank is a stakeholder. This is why e.g. we don’t have unlimited rights over the bank cards or those access code generator devices some banks used to issue.

If you want to use your phone for some of the functions of a bank card, then some of your banks interests in the functioning and management of that card roll over into your phone. If you want to play a social online game on your device, then now the games company and the wider community of gamers playing that game with you has an interest in the management of your device. If you don't like that, that's fine you should be able to have as much control over your device as you want ideally, but you wont be playing those games or using those services.

Cory Doctorow is one of the few people in the techie public space that seems to have a really good grip on these issues and some practical ideas on how to solve these problems, through chains of trust based on users owning the keys to the chain of trust on their devices. It’s a really hard complex problem though.

> If you want access from an app on your phone yes, not just to have access.

Ah, you mean in the case where you have a different computer available to you, that has not (yet) been locked against its user like your phone has. But we are so certain that this locking of compute won't spread, that we treat all other computers (that are locked), as an exotic exception, and the only remaining class of devices not yet locked (PCs) as the norm.

> Our mobile network provider is a stakeholder, the manufacturer is a stakeholder, our bank is a stakeholder. [..] some of your banks interests in the functioning and management of that card roll over into your phone.

Having an interest does not imply exercising that interest is legitimate. Especially when freedom-respecting options are nearly absent from the market, and one cannot in good faith argue that consumers choose locked products among equivalent unlocked ones.

But most importantly, there's one item missing in your list of interests: the interests of a free society, that needs a populace able to use software other than only what is approved by giant corporations. What use is free software if none but a handful of hobbyists can run it?

There are a few online only banks, but beyond those you don’t have to have access to any computer at all to get access to your bank account at most banks.

> Having an interest does not imply exercising that interest is legitimate.

Whether that interest is legitimate and acceptable is a decision for the user. If I decide to accept the terms for my banking app, what’s that got to do with you?

> one cannot in good faith argue that consumers choose locked products among equivalent unlocked ones

I refer you to the market share enjoyed by the iPhone relative to Android (when it was moderately ‘free’). Clearly a lot of people, myself included, are in fact making that choice.

> the interests of a free society, that needs a populace able to use software other than only what is approved by giant corporations

How valuable can a fundamental, essential freedom actually be when hardly anyone understand what it is or cares a fig about it, and most of those who do understand it still don’t care?

The bank and the game are far less important than me retaining full control of a general-purpose computing device and sensor that I keep by my side for a majority of the time and trust in the most intimate parts of my home. This is also a fact.

If the bank and the game cannot function in this reality, then the only solution is for them to provide separate devices for me to interface with them.

That is partially my argument, but not entirely. I'm rather arguing that even if you're using upstream services, you still want to have full and total control and ownership of the device you're using the upstream service from.

In fact, I find it a total jump in logic and a fallacy to conclude that I don't want or need freedom on my own device just because I'm a heavy user of upstream services. How does that even remotely follow?

I think the idea isn't about whether you would Want or Need freedom/control/ownership of your device; it's about the value of that freedom when an application depends on a closed upstream service versus if all the functionality is captured by the app running locally.

I personally think that its important to have that control and freedom for its own sake, but I understand the sentiment that "if my data is getting shipped off Anyways to some unfree system then why bother? I can't make the same guarantees around privacy and security as I can with a fully libre application"

I do tons of useful stuff on my computers running software locally on those computers.

You are right about network services working hard to own more and more of the interactions and make it increasingly difficult to manage one's relationships and interactions without those services.

Frankly, I've responded by making damn sure I have interactions with the people I care about that are not owned by these services. Should one change, or I somehow am cutoff, I can maintain my relationships and interactions with people I care about.

Regarding IRC, the resolution to your dilemma is open data in tandem with open code. Sure, they could be running an IRC like thing. But, your data, interactions with others over IRC, are all open. Same goes for email and such. You can take it with you. You can change servers. You can read all of it without enabling technology.

Regarding cheating...

That's a social problem being attacked with technology and it's going to bring grave consequences. Personally, I would rather not play than deal with what's being done in an attempt to prevent cheating. The people interested in doing that are playing their very favorite game, and the cost of escalating that cat and mouse impacts all of us. Impacts you.

> That's a social problem being attacked with technology

Any problem in the last couple of centuries is being attacked with technology. That's what the industrial revolution is about.

Steam engine? That's a transportation problem being attacked with technology. Covid vaccines? That's a healthcare problem being attacked with technology. Anti-missile missiles? That's an international relations problem being attacked with technology.

> Steam engine? That's a transportation problem being attacked with technology

steam engine has been adapted to transportation, after transportation was invented, they haven't solved any social problem.

there wasn't a transportation problem, there was a problem applying the technology to transportation, for lack of better alternatives.

steam engine in cars were banned until 1920s, so cars used electric engines.

it worked (kinda) on trains

main application of steam engine still remains steam turbines for power (electricity) generation, which is a modern technological challenge by itself.

> Covid vaccines? That's a healthcare problem being attacked with technology

COVID vaccines helped an economic problem, people would have survived by avoiding contacts

they have been in fact deployed firstly and foremost in developed (AKA rich) countries (2.8 billion people around the world are still waiting to get their first shot).

modern drug manufacturing is not about society anymore and hasn't been for at least a century now.

> Anti-missile missiles? That's an international relations problem being attacked with technology.

That's a warfare problem that has always been about technology, since forever.

What needs to be explained is why throwing technology at power generation problems, economic problems, healthcare problems, or warfare problems is seemingly ok, but social problems are a no-go zone.
Not all social problems, just those where the people involved have opposing goals. And even then, it's not so much a no-go as unlikely to work. We can tackle problems like advertising and recruiting for local hobby groups. But people will actively subvert, exploit, or ignore software meant to enforce social norms. Anti-cheating software restricts what honest users can do, and cheaters will find a way around it if they like the game enough. DRM is a ham-fisted attempt to force digital media, an industry with virtually no distribution costs, into existing financial models. Solving the problem of encouraging artists to produce work with the promise of money is hard, but DRM isn't solving it.

Social problems are just very hard to solve, and they're rarely made simpler by automation or algorithms. They often require trust in another person's intent.

> just those where the people involved have opposing goals.

This describes every competition ever; person A wants the winner to be A, but person B wants the winner to be B. Should we stop doing doping tests at Olympic games, as it's an application of (non-free) technology to a social problem?

Because using technology to solve social problems leads to restraining people's personal freedom, choices, and expression in a much more direct manner than other domains of problem solving.

Furthermore, this restraint tends to impact people unevenly. As ineffective as the government may or may not be, at least the goal is for all people to be considered equal in the eyes of the law. With technology the power lives with those who own and create the technology, who have even less oversight and accountability than those who make the laws.

The inequality issue exists as well with Covid vaccines and with weapons — other applications of technology, so societal problems are not standing alone there. The unequal access to nuclear weapons is... a good thing I guess? What still needs to be explained is why throwing technology at power generation problems, economic problems, healthcare problems, or warfare problems is seemingly ok regardless of inequality, but social problems are a no-go zone.
>Now it seems like the vast majority of the needs and requirements to run software locally have been replaced with networked services and a browser/thin client interface.

And its almost always done to remove agency from the user and give it back to the corporation. Again, RMS is right. You can only truly have digital freedom if you are running your own software on your own hardware. It only seems old timey because we have been drinking the everything as a service kool aide for so long.

It doesn't have to be this way and it's not necessarily technologically superior. Its due to business forces more than anything else.

>Even RMS's free game example is bad. One of the players can modify their copy to cheat, and the other players dont have any real option in that situation.

Not everything he advocates for is always practical, the game example is one. You have to have some kind of central control in multiplayer games to make sure people aren't cheating. But there is still wisdom in what he says. We have single player only games that are demanding the same kind of access and control that multiplayer ones are. Obviously that isn't to prevent cheating.

And sometimes he is still right about a problem even if he sees every all of them as technological nails to be solved with a FOSS hammer. That's not going to work but he is identifying the problem correctly. Banks and governments are weaponizing the financial system against people they don't like and can't be trusted. How do you prevent them from doing it? I think ultimately its not a technological problem, its a political/societal one. Banks need to be reigned in and politicians need to be more afraid of the people.

> this old timey way of using computers, where you had a general purpose machine that was personal that you programmed to do things you needed,

Personal machines are actually new-time'y, not old-time'y. In the old times there weren't that many computers, and you accessed one via a terminal.

The difference is more in how remote services are now things you can't program and modify and tinker with, but rather closed-source "products" or "services" in shiny wrappers.

It is worth pointing out that einpoklum's point is not merely academic: Stallman is old enough that he really did get introduced to computers and programming and software through corporate and university mainframes, and not through personal machines like (I assume) most of us.

The decline of the early open hacker culture in favour of corporate proprietary software during the 70s deeply informed the idea behind Free Software.

Speaking mildly - it is the Free Software Foundation, not the Free Network Foundation. They aren't trying to tackle all the world's problems at once.

But also the network is profoundly different than the PC to the point where "free software" doesn't mean as much. Picking HN as an example because it is really easy:

1) We don't control the content we create for HN.

2) At some point all that content will disappear.

3) If viewed as an API, there is nothing complicated to it (disregarding dang's daunting fight with comment threading & similar issues). We get a "post" button and a text page.

So there seems to be a freedom problem here but it is about data control rather than software control - far harder to solve and also not so clear cut an issue. Does it, fundamentally, limit my freedom if all my HN posts disappear? Since they are public anyway, does it mean anything for it to be exploited by someone? Things like the piratebay.whichever and youtube-dl have been in the news today as part of ongoing examples that the network is still a very free place for who we can connect to and what API they can offer.

Calling it useless is a really big exaggeration. The license is applicable to both software running on the server and on your client (browser) so I have no idea how you can say it is "useless". Maybe less powerful is what you're looking at? I mean security is orthogonal to "free as in speech" software. I would interpret RMS for the person writing/using the software on the server moreso than the person logging with a browser.