Comment by dasyatidprime

7 years ago

When aunt Martha and uncle Martin weren't using the free and open system, but also weren't using computers to talk to people regularly, the social pressure, if you wanted to stay in touch with them, was toward more physical means: in-person visits, mail, and telephones, which, while definitely technological in nature, have more physicality than the currently-dominant digital world.

People have more of an instinctive understanding of what “open” means in terms of the physical world. You don't meet them at Facebook Square, where every word you say to them goes through corporate-controlled smart air; you might meet them at their house, or at some public or commercial place, and when you're in public, you're both being continously reminded of this through physical environmental cues. The mail is often a monopoly, but its function is circumscribed, and opening your envelopes without a really good reason is at least a clear violation of social norms; the physical object provides a boundary. Telephones don't usually manipulate the context of what you say during calls, and while the mass surveillance issue is hazier there, the basic model of social expectation is still simple. (The simplicity of model applies to a lesser extent to IM, but telephones currently have universal interop in a way that got shattered for e.g. XMPP by a whole storm of issues, and the subscription funding model for the infrastructure has social acceptance that it doesn't in the IM world. I don't have a short history of why this is right now.)

Nowadays, it's likely that the social pressure is for you to actively use the closed system, because that's what your aunt and uncle have reoriented their habits toward after finding that it felt so much more convenient and took so much pressure off them. Which is arguably one of the good effects—though other people have written uneasily about how this is in a way the outsourcing of emotional labor to machines. But because digital social networking is intermediated so much more deeply than earlier and simpler forms of telecommunication, whoever controls the software now has hard influence over the form those habits take, and your aunt and uncle's need to not have a big chunk of their social life disrupted, combined with the relative non-manipulability of the digital world to people who don't fall into the “programmers with a lot of free time who are willing and able to flout TOSes and/or evade detection” class, means they can't easily resist it. The resultant inertia is very asymmetrical in a way that I don't think it was for previous means of socialization. It's also fast in a way that it wasn't before: governments can crack down on things in oppressive ways or manipulate and infiltrate people's social networks, but it's harder to do en masse, and the actions in question have to be more visible to have an effect, so grassroots opposition has more margin to get started. Nowadays, I see people saying that they feel like planning their activism on Facebook is the only way to get any reach.

Then you get how a lot of people's working understanding of computer technology is based on a fuzzy notion of “computers” and “the Internet” which mushes everything together, so whatever decides which models of interaction are fashionable can force you to follow them or be in the dreaded “inaccessible to users because of lack of familiarity” weak position, which just gets reduced to “not easy to use”, and then you die. Compare how Mastodon is basically a Twitter clone on many levels, and that's seemingly what wound up taking off among less distinctly-in-the-know users in the ActivityPub sphere, and even then merely introducing the idea of “instances” seems to have taken a lot of social doing.

So I think we are in a worse position than we used to be, both because getting traction on “move from physical world to open, benevolent digital” is harder than “move from closed, manipulative digital to open, benevolent digital” and because the closed, manipulative digital now has a lot more ways to close off the terrain before you can get anywhere.

… I seriously need to compose my thoughts on this into something more coherent and well-researched at some point.

I had to think a lot about what you are saying. I think I agree. The world is in a worse place overall than it was before with respect to freedom. The warnings that people like RMS made have come true. However, I still think that doesn't invalidate the idea that freedom in in a better position than it was before as well. It's just that non-freedom is growing at a faster pace.

Now that I think about it, though, there is definitely one place where we are losing. It used to be, despite the lack of popularity, free-as-in-freedom software was by and large better than other software you could get. GNU was much, much better than the proprietary Un*x collection of user land tools. Linux was much better than the proprietary Posix kernels (though you can argue whether or not BSD was better, it doesn't matter since it is also free-as-in-freedom). Development tools were much better and when we talk about compilers, interpreters, reuse libraries and frameworks, this (at least) has accelerated. Even going later on, Asterisk was head an shoulders better than any proprietary PBX (not that it's saying much). I would even argue that IRC and Jabber, et al were dramatically better than the proprietary offerings. But especially in this kind of telecommunications field, we've been overtaken.

I'm not sure if making a better X will promote adoption of "free X", but I'm sure that allowing the proprietary gang to own all of the high quality software in the area will result in "free X" always being an impossible dream. In telecommunications, I personally think there is nothing (with the possible exception of Mastodon) that's even close to the proprietary competition at the moment. That's a massive problem. I would concentrate on fixing that before I tried to do anything else.

  • But what is “high quality software”, if we look at it from a perspective of user expectation? There are a lot of things users expect now that are not just a function of the software itself. And how do you organize the people to produce the software? I think the volunteer model that powered a lot of the IRC and Jabber era you mentioned is both decaying and under attack in terms of viability for mainstream end-users.

    One psychological element is that I suspect the “service = client = identity = interaction model” meta-model of mental compartmentalization has been embedded firmly into mainstream end-user consciousness, because it's easy to understand and provides strong environmental cues. This is both encouraged and to some degree enforced by the “Does It Work On Mobile” situation, which implies dealing with Google or Apple app stores. Notification handling seems particularly awful, because it usually means going through an app-specific developer account which is required to be responsible for a forwarding server, which then becomes both a recurring financial expense and a centralized point of attack, and so on.

    OS-level, user-level, and security-apocalypse-related requirements for fast-paced updates destroy anyone following the “make something acceptable and then leave it be for a while” development model, which drives the effective cost and need for commitment way up. In the dominant IRC/Jabber era, clients could have code that didn't get touched for a long time, which is much more amenable to a volunteer model.

    Non-volunteer libre software models run into all the usual market and funding problems, but both they and volunteer models also run into the problem of being exploitable via the newest iterations of embrace-extend-extinguish, which I guess I'd call copy-customize-clobber. Marketing departments are both ethically Interesting and a massive money sink. Taking money at all at least used to involve huge logistical concerns (which themselves have centralizing effects), though some of this has become easier.

    The pricing gradient is abysmal. Much like how the iOS App Store has had its pricing driven to rock-bottom by price anchoring on “things that got added onto your phone bill” even though the new crop of apps was full-fledged polished packages that cost much more to make, the anchoring expectation for keeping a new service running (and its client maintained, and so forth) has been driven to “free” by VC-backed data-driven operations providing a very strong distorted market signal to that effect (I say “distorted” under the assumption that users don't realize the full scope of the mass surveillance and control that is possible with digital socialization and aren't taking it into account, but in either case it hurts the open options).

    A lot of the polishing of end-user-facing software involves slogs, and some of them involve money-draining and executive-function-draining slogs. “This doesn't work on Android device Foo” is something that is very hard to fix without having a Foo on your desk. Users, frankly, can also be quite ungrateful in an open-source development context (keeping in mind that whether this reflects badly on them is a separate question, given the amount of hidden psychological distance involved and the social context of other unfortunate power exchanges that they're pushed into by digital technology). In a corporate context this is mitigated by social barriers and financial compensation, but avoiding maintainer burnout in more idealistic contexts seems to be an unsolved problem, and my observations suggest that it's true even when there's a crowdfunding model, because now if you make any mob-justice-able missteps, a bunch of your money immediately goes away. (Arguably this should be true for the big closed networks too, but it isn't, so you're still at a disadvantage.)

    Non-text telecommunications sometimes involves esoteric skills. There's been motion to improve things (for instance, the rise of Xiphophorus audio codecs (Vorbis, Opus, etc.)), but there's still things like echo cancellation and noise reduction which can get arcane and maybe run into patent minefields (I haven't checked recently). My Discord calls don't have anywhere near the level of background noise that my Signal ones do.

    I've weakly observed a strain of resistance to acknowledging or prying into uncomfortable models of human psychology among open-source developers, who tend to lean systematizing and abstracting… I don't have a good perspective on that one right now, but I guess I'd say the “we need to be friendlier to Normal People” departments seem to default toward “normal people like flashy websites” and away from (I'd approximate) “normal people like not having to keep cognitive context or be put in situations where they might be embarrassed or have to be responsible for something awkward”. The latter is a much, much harder set of problems, even if you ignore the ones that are inherent to network effects and seemingly have to be bypassed by luck. Then again, proprietary services sometimes mistreat their users in these ways and don't necessarily get exoduses, so maybe network effects just completely dominate here; I don't know.

    (I guess a secondary problem is that an emotional understanding of the mechanics of fashion is rare in conjunction with the technical skills to close gaps like this, because they involve such vastly different approaches to the world. And that leads into a whole potential digression on whether human fashion cycles are even amenable to creating a world in which people can generally live without relying on abusive services for their social lives, without strong common-knowledge agreement to avoid them.)

    I'd love to hear better ideas for tackling any of this. (And sorry for the core dump!)

    • I think social/communications software should be developed by universities or perhaps a new kind of institution. And there should be project based grants, paid from tax money.

      The internet was better when the communications software was in fact developed this way by universities.

      Companies can still provide the hardware, of course, but they have no business looking at our data.

      1 reply →

    • I think fundamentally you can't tackle the problem the way that a traditional VC backed startup would. You've got to burn through money like crazy and there just isn't going to be the ROI multiplier at the end -- because you can't lock in your customers. Free software business models have to work on a "payment" upfront way of doing things. However, payment can be made in a lot of ways (including the "consortium" style approach that Apache software takes). If you ever want to talk about free software business models, look up my email in my profile and I'll be happy to go on for as long as you want ;-)

      I think that volunteer organisations can go a long way, though -- especially if they are motivated by things other than money. Scarce skills are actually not nearly as much of a problem as you might imagine. I actually have the skills to fix your audio problems in all likelihood. In fact, I would go so far as to say that I haven't found any VOIP package that is as good as one that I built 15 years ago (unfortunately not free software... sigh...)

      The key is to actually run a free software project. Signal is not free enough for me because it forces me to link to non-free code if I want to use the service. I'll be completely honest, open core sucks when it comes to attracting people who have the ability and desire to help. It is vendor lock in by design. And while Signal in not actually open core, it might as well be because of the lack of federation coupled with the necessity of using Google Play and Signal's server.

      If it were me, I would rewrite rather than fork Signal because I also don't like a lot of things about their design (and I have considered it). But in the end, I'm not all that interested in writing a VOIP/messaging server. I've got another project on the go and I'm only one person. This doesn't mean that there isn't someone else with similar skills to me. It also doesn't mean that I wouldn't chip in and help with a project that I felt aligned with.

      And I think this is exactly the key. You need that low barrier of entry. This is one of the absolute key things you need for building a free software project that attracts the talent you require. That is a lot more to it, but without removing all the excuses to work on something, people just won't find the time.

      I think the problems you are currently focusing on are secondary. You do not need to fix them up front. They are things that you can iterate on. It's the "how do I get people excited to work on this project" that's important. You don't need to appeal to the masses for that. You need to appeal to the programmers (and potentially documenters and artists). Once you have people invested in your vision, then you can start to wonder how to expand your reach.

      1 reply →