@joepie91 I am generally interested in the technology, but trying to build a bug-for-bug compatible browser in a world of "designed for Googlenet Explorer and tested with nothing else" sounds soul-sucking.
I suspect the web is lost until Google gets broken up.
@freakazoid I would personally feel it very unwise to rely on a government - *especially* the US government - for the continued existence of the web.
I don't think we can afford to do so, in fact, and like with everything progressive, a government isn't going to do it until the relevant pressure from *outside* the government builds up. Like by building something, for instance.
@joepie91 I should probably have said "unless and until", the workaround for the excessive certainty of the English word "until".
But my real point is that I don't think the problem of Google's dominance over the Internet can be solved by another browser if that browser's goals are substantially the same as Firefox's, if that makes any sense. You end up having to play constant catch-up, either because you're having to keep changing your own rendering engine or because you have to keep incorporating upstream changes into the one you're built on.
And if Mozilla can't manage more than a miniscule market share even with its millions in revenue, how is another browser? Honestly I think we'd be better off if they just die so that Google has less ability to pretend not to be a monopoly.
I'm not trying to discourage doing anything about it; I just think another browser can't have enough impact in the current world to be worth the huge effort it would take.
And honestly, I kinda hate the web. It's become a platform for delivering shitty proprietary apps. We need something else entirely.
long, browser musings
@freakazoid I think there are a couple of reasoning errors in there, to be honest. Going one by one:
"But my real point is that I don't think the problem of Google's dominance over the Internet can be solved by another browser if that browser's goals are substantially the same as Firefox's, if that makes any sense."
It can't, but that's also not the goal - there *is* no instant solution to Google's dominance. The purpose of such a project would be to weaken Google's grip on the web, to remove a major point of control. More work is needed beyond that point to actually get rid of Google, it's just a destabilizer.
"You end up having to play constant catch-up, either because you're having to keep changing your own rendering engine or because you have to keep incorporating upstream changes into the one you're built on."
Yes and no. This is true as long as you are the underdog. "Maintaining compatibility until you can afford not to" is a strategy that works for monopolists, but it also works for those trying to dethrone them. Notably, diverse community projects are generally better at keeping up with such complexity than centralized organizations are; this is a point we have an advantage on.
"And if Mozilla can't manage more than a miniscule market share even with its millions in revenue, how is another browser?"
This is is a very complex question to answer in full, but the short answer boils down to: Mozilla is not representative of all that exists, let alone all that can exist.
They are a singular organization, born from unique circumstances, with a single decisionmaking hierarchy, and a particular style of management. There is no reason to believe that *any* of their outcomes are automatically applicable to anyone else.
The argument here is effectively "if this one group of people couldn't do it, how could anyone else?" and that is just not how feasibility assessment works - what matters is *why* it is not working for Mozilla, and that starts with their poor management structure.
"I just think another browser can't have enough impact in the current world to be worth the huge effort it would take."
That's the thing, for me - *is* it actually a huge effort? For any one person, yes, certainly. But compared to all the potential things that the community could be doing, in total, with good collaboration structures, I don't actually think it's that significant.
It shouldn't happen *at the cost of* other, more effective approaches, but given the large amount of people looking for community and purpose, I'd say we have a very long way to go before that becomes a concern.
And ultimately, volunteer labour is not interchangeable. Usually the alternative to "doing X" is "not doing anything at all", because those same volunteers might not actually have any interest at all in the alternative to X being proposed.
long, browser musings
@freakazoid "It's become a platform for delivering shitty proprietary apps. We need something else entirely."
This, to me, is a primitivist argument. Maybe not literally, but it makes the same error of writing off the outcome without considering the factors that led up to it.
*Why* did it become that? What problem is this solving for people? The technology hasn't changed that much - so why is it mostly shitty proprietary apps now? Because those are the apps that people are trying to use, for some reason or another that has nothing to do with "the web" as a concept or technology.
Sure, you can discard the web and start over. The outcome of that is going to be that the things people are trying to use - the "shitty proprietary apps" stay behind on the web, and people will continue using the web, and your new thing will be ignored because it doesn't have the things people are looking for.
You can't just throw everything out and start over. If you want to make something that is actually broadly useful to replace the existing thing, it needs to meet the same needs as the existing thing; and right now that includes the proprietary apps, however much that sucks.
Doesn't mean you can't make life harder for those proprietary apps, and it doesn't mean you can't fight against them on some other axis, but "building a web without them" will not work in any way that matters.
long, browser musings
@joepie91 Wow, thanks for these detailed replies! I very much appreciate the effort, and your perspective.
I agree with pretty much everything you said, though I'd like to explore the "how they got that way" angle a bit, because I am hoping maybe it can help me get some clarity on where things should go.
The first thing that comes to mind is how ubiquitous Flash used to be, legendarily for restaurant web sites. People complained because it was super inaccessible and required a VM that was proprietary and a giant security hole. AFAICT it was being dictated by web designers/developers, who were in turn probably being educated by Adobe (or whoever owned Flash before Adobe bought it - Shockwave I think?) or by schools getting the software for free. Or maybe their customers had seen some glitzy website and wanted something like that.
Flash was ultimately killed by improvements in HTML and Javascript that made it so designers/developers could produce what they wanted without the need for a proprietary plugin. The final nail in its coffin was the iPhone, of course.
On the one hand, even a JS-laden site is more accessible (in the most generic sense) than one made with Flash. But on the other hand, it made making a crappy less-accessible site more accessible. Web devs are constantly using JS for things that could be done with HTML and CSS. I would say that the vast majority of what JS is used for these days adds nothing to the site and only detracts from the user experience.
I still haven't really wrapped my head around "app delivery" vs declarative content delivery. I like WASM, but at the same time I'm terrified of the future I think will most likely be built on top of it, which is purely imperative content driven by opaque binaries. Probably all that's missing is development tools aimed at producing such things, a modern Shockwave.
long, browser musings
@freakazoid Regarding JS misuse... this ties into a number of other things, but that particular issue is actually almost entirely disconnected from the reason proprietary apps appeared on the web.
Over the years I've spent a lot of time understanding why there's so much JS misuse, and while there are various factors affecting it, there's been one central factor: developers are learning how to use the tools wrong.
There are very few 'known good' educational resources for web development, instead expecting people to cobble together their own learning experience.
The result is that a lot of developers - especially those who are getting into tech because "everyone should learn to code and it pays well" (as tech companies have been advertising to dilute the labour pool) - default to learning from tech companies, being the de facto authorities in the field from a beginner perspective.
These massive tech companies tend to put out breathless blogposts about whatever the newest "web at scale" hype is, because that's what *they* are doing and well, it's a good pitch to look like a modern place to work. The appeal of "not having to deal with legacy stuff" is large, especially for beginner devs.
So in practice, almost everybody either learns from resources by big tech companies - which optimize for hype and looking 'ahead of the curve', as well as 'training developers to work with their stack for cheaper hiring - or from resources which have been *derived from* those big tech resources.
MDN technically exists, but as I've complained about many times before, their materials are so inaccessible in many ways that almost nobody I've pointed at it has actually been interested in reading it.
There's now a massive amount of developers whose whole conception of "web development" consists almost exclusively of this hype blog output, often legitimately not *knowing* about any other way to do it.
(I have had to explain how forms without JS work *so many* times by now, to people who have been doing webdev for years...)
For obvious reasons, none of the tech companies really have any reason to do anything about this problem.
TL;DR: There's a massive education problem that is self-sustaining by this point because those people then write new materials with the same errors in them. And they will take these beliefs with them to any new platform.
(Aside, Flash used to be Macromedia; Shockwave was another product of theirs.)
I am likewise concerned by the situation with WASM, and I'm seeing a very similar albeit disconnected situation playing out there; a lot of people who have only ever learned a really specific (terrible) way of writing JS see it as a way to "get rid of JS because it sucks", and it's *extremely* difficult IME to convey that JS can be a lot better if you change the way you approach it. But this again has a bunch of other factors influencing it too (spec scope creep, etc.)
Overall, all of these situations are just extremely messy, and a variety of factors have played a role in getting to this point, and none of those factors can just be wished away, unfortunately. Capitalist incentives, hype cycles, self-perpetuating education problems... no new platform will fix any of these, we're actually going to have to do the Hard Work
long, browser musings
@joepie91 Ah, right, Macromedia! I'd totally dropped their name from my memory for some reason.
We can't wish away those incentives, but I'm also not sure how we keep them from ruining anything new as well. If ultimately the goal is to provide access to businesses and for people to learn so they can get jobs for big tech companies, then anything we make will rapidly turn to garbage. It's like "open source", which was a cooption and perversion of free software that turned it from a complete (if flawed) philosophy into nothing but a development model, the development model that enabled big tech to amass so much power to wreck computing in the first place.
I don't want to build for capitalists. I want to build something toxic to capitalists.
long, browser musings
@freakazoid It's the same answer as for anything else; find the weaknesses in the system, the points that you have a natural advantage on, and use those to sabotage those dynamics.
This is why it's so important to adapt the existing things and not only create new things; there needs to be a path forward for people who *aren't* willing to restructure their entire lives for a - what is to most people very abstract - cause.
That's going to be hard work, for sure, but there are no easier solutions.
And to be clear, I'm not suggesting that we adopt "providing access to business and learning big tech" as a goal; that's precisely the thing we're trying to get rid of. But that's a different question from "should we support the breadth of functionality that people have come to expect"; people have their own needs *separate from* those of businesses, that *also* cannot be supported by a stripped-down model.
Summarized, the intention is to accept and recognize the needs of individuals, but not those of corporations. That means rejecting some concepts, and accepting some others that we might personally dislike. It's a case-by-case consideration, but "minimalism" should not be the overarching goal, "meeting needs in a consensual and respectful way" should be.
(As for 'free software' vs. 'open-source'; that story is rather a bit more complex than how you've described it. The two ideologies are almost indistinguishable in practice, and "open-source" likewise has a lot of ideological history behind it beyond just "big tech". Neither ideology is remotely sufficient, and free software absolutely is not free of blame here either.)
long, browser musings
@joepie91 I think I understand what you mean, and I'm starting to get pretty excited about it. What if Firefox's piddly market share is because they just aren't offering anything that's particularly compelling to non-nerds?
As for open source vs free software, I agree that the free software community deserves a lot of the blame, but I was using it as something of a short hand. In particular, open source focuses too much on *developer* freedom, particularly the freedom to use open source to build proprietary things, and not really at all on user freedom. But another big problem is that people end up building software for themselves, i.e. tech-savvy folks.
I'm in. Where do we go from here? Do we build on Servo or what?
long, browser musings
@freakazoid Open-source has a rather broader ideology than that; for example, quite a lot of folks are interested in it because it provides a public commons (something the free software movement does not explicitly aim for), and the possibility of it being used for proprietary software is just the price of admission to get to that point.
Likewise, my main interest for example is to make it as easy as possible for grassroots efforts to build competitive tech (as a starting point for sabotaging aforementioned closed systems), and some of the 'free software' choices like "burying people in lengthy copyleft licenses" are, to put it mildly, not helpful to that end.
All of which is to say, it's really a *lot* more complex in practice than "user vs. developer freedom", mainly because the "free software" movement bundles in a couple of different ideological choices that don't make sense for everybody (and arguably make sense for very few people, when the rubber meets the road).
As for where we go from here: that's a large question with a large answer. The technical starting point is, IMO, just about the least interesting part of that; sure, it needs to be figured out, but there are much more important questions to answer.
Like for example, how do we avoid building more 'software for nerds'? How do we avoid toxic culture (bigotry, "people will just have to learn how to use it correctly", etc.)? How do we make sure that accessibility is done right? How do we do decisionmaking to avoid the same problem again in the future? Can we make certain architectural choices to 'make a thousand forks bloom' more easily, so to say?
Arguably the first step would be to collect people who are interested in working on this, who understand the above and who, crucially, are open to considering needs and perspectives they had not thought about before (even when that means not doing it the way they originally had in mind). Then go from there.
long, browser musings
@joepie91 Again I appreciate the detailed, thoughtful reply. I say that because my responses are a lot shorter, and I want you to know I'm reading every word. You're giving me a lot to think about, and it's going to take a while for me to digest. My replies reflect just the part I feel like I have a grasp on now, or more accurately what comes to mind now since my thought processes tend to be all over the place.
As before I still agree with nearly everything you've said. I do think, though, that you may be underestimating how good capitalism is at coöpting any efforts to dilute its power. I think that while developers do bear a lot of the responsibility for OSS being "for nerds", a lot of that also comes from capitalism filling the "usability niche" and crowding out open source, if that makes any sense. "Linux but usable" for example, means Android and ChromeOS.
If it weren't for the AGPL, I bet we'd already have a commercial fork of Mastodon with a bunch of usability and moderation features thrown in. That company would now "own" the Fediverse.
long, browser musings
@freakazoid Thanks for mentioning it, re: the first part :)
"I do think, though, that you may be underestimating how good capitalism is at coöpting any efforts to dilute its power."
I don't think I am, or more precisely, not to a degree that invalidates the strategy. I'm sure I'm not aware of every fine detail because nobody's understanding is perfect, but I've spent a lot of time identifying the weaknesses of capitalist systems, and I do have some history of beating capitalists at their own game (the most recent example being my involvement with the Freenode/Libera thing).
The problem I see with how a lot of people approach "fighting capitalism", is that they try to use capitalism's own ideas and mechanisms against it - but that's never going to work, because capitalists have home advantage there. This includes every "exact copy of <thing that exists>, but anti-capitalist" project. Those are doomed to get coopted.
But capitalism also has its weaknesses. Capitalist organizations are, for example, notoriously bad at building genuine community - they can try to emulate it, but their communities are always *at best* a shallow facsimile of the real thing, and people notice. Likewise, capitalism is bad at diversity; it needs an aligned, hierarchical strategy to function.
This opens up a number of axes along which capitalism can be fought; by building genuine community, and by doing so around projects that would be inconceivable in a capitalist environment.
An imperfect but easy-to-explain example would be youtube-dl/yt-dlp; a corporation would never be able to profitably maintain such a diverse set of support for different sites across the world, which is why it could only succeed as a community project and everyone else just slots into yt-dlp.
Likewise, corporations are very bad at adapting; they are slow to do so, and due to internal pressures often have to fit into a legacy mold. Fast-moving targets are hard for corporations to keep up with, and relatively much easier for community projects.
IMO, the key to a successful capitalist project that is difficult to co-opt, is to approach it in a way that is really only viably doable in a collective, community setting.
That requires thinking out of the box and trying new approaches, instead of the 'tried and tested' ones (which are almost always geared towards "what works for corporations", which is what we *don't* want).
"I think that while developers do bear a lot of the responsibility for OSS being "for nerds", a lot of that also comes from capitalism filling the "usability niche" and crowding out open source, if that makes any sense."
It does, but the blame for that IMO still squarely lies with the FOSS community. There is no reason FOSS software *can't* fill that niche, the barrier to doing so is a widespread culture of victim blaming; I've lost count of how many fruitless discussions I've had over the years with FOSS devs, trying to convince them that usability is even a thing they should be caring about.
This very closely relates to the toxic pseudo-merocratic (and in many ways mysogynist) culture of "how good you are at writing code decides whether you really belong here" - this has very often driven out the exact people who *would* have contributed towards better usability, because writing code wasn't their thing.
"If it weren't for the AGPL, I bet we'd already have a commercial fork of Mastodon with a bunch of usability and moderation features thrown in. That company would now "own" the Fediverse."
We already do, the platform is called Threads, and the company that owns it is Facebook, with the blessing of Eugen. The AGPL certainly hasn't stopped them from carrying out their takeover.
It's a very good example of how copyleft doesn't at all address the *actual* real-world cooptation vectors, which are social/hierarchical in nature, because the end result of this is basically indistinguishable from them making a proprietary code fork.
long, browser musings
@joepie91 Replying from my laptop instead of my phone this time.
> they try to use capitalism's own ideas and mechanisms against it - but that's never going to work, because capitalists have home advantage there
I don't see this having been a problem with copyleft. Companies haven't been particularly successful fighting against copyleft legally. Can you give an example of where you think "home court advantage" has caused capitalism to win out against anticapitalists trying to use its own mechanisms against it?
> Capitalist organizations are, for example, notoriously bad at building genuine community - they can try to emulate it, but their communities are always *at best* a shallow facsimile of the real thing, and people notice.
While I agree with this, I think building genuine community is rarely the capitalists' goal. Rather, their goal is to disrupt attempts to build communities outside of capitalism. And one could argue that that's capitalism's primary tactic: alienation.
> Likewise, capitalism is bad at diversity; it needs an aligned, hierarchical strategy to function.
This is certainly true, and it makes capitalists' decisions worse. But largely they're worse for anyone who's not part of the power majority. It's a definite weakness, but exploiting it requires anticapitalists to do a far better job than we've been doing of embracing diversity. The "we need shared blocklists" vs "shared blocklists are bad and we will never accept them" discourse here is an excellent example of how we're failing hard at that (I present them as equal but do not believe they are - I just don't consider which is the right one to be relevant to this discussion).
I don't say this to discourage any attempts to build community, just pointing out that there's an opportunity right here in our backyard. Dealing with that would go a long way toward showing that there's a chance we can do it with larger, more complex scenarios.
People are motivated to do FOSS for a variety of reasons. I don't think we're going to convince people who are motivated because they want to have a specific piece of software themselves to make that software more usable for others. Which means we need to get people doing FOSS for better reasons. Like YOUR reason.
> We already do, the platform is called Threads, and the company that owns it is Facebook, with the blessing of Eugen. The AGPL certainly hasn't stopped them from carrying out their takeover.
I only kind of agree with this. There are a number of companies trying to build power in the Fediverse by federating. Threads has gained some power, but not really over instances that will never federate with them. Taking over Mastodon itself would be much harder to insulate oneself from. And Eugen can't even relicense it, because there's no CLA. Relicensing has to do with copyright, not the license, but with a non-copyleft license it wouldn't even be necessary to relicense for Eugen to take it proprietary.
long, browser musings
@freakazoid "Companies haven't been particularly successful fighting against copyleft legally."
This is an incorrect metric - you are judging the effectiveness of the mechanism by its theory of operation rather than its goal, and *of course* it is going to succeed by that metric, because you're measuring it against itself.
But the goal here wasn't "making it difficult to fight legally" - the goal here was to ensure user freedom, to guarantee control over one's own devices, and to prevent co-optation. The legal mechanism was just meant to be the way by which that was enforced.
It's been several decades now, and I think it is safe to say that this strategy has failed miserably: DRM everywhere, live services, everything is a subscription, GPL violations in embedded devices are extremely widespread, and devices are ever trending towards being more *closed*.
There are two major factors that have contributed to this, and both directly derive from the capitalist nature of copyleft's foundations (namely, copyright and the legal system):
1. Being in the right legally is worthless if you don't actually have the money to enforce that in court - and the offending parties are almost always the one with money, whereas the aggrieved parties are the ones without.
2. Copyleft is a legal hack, and its scope is constrained by what the law allows for, which isn't very much; and so almost all of the ways in which corporations enclose the commons *in practice* (anticompetitive measures, everything-as-a-service, EEE, etc.) are actually entirely out of scope of what copyleft even *can* do.
This is what home advantage looks like - a counterstrategy that hinges on the legal system that serves the wealthy, is never going to defeat them.
"Rather, their goal is to disrupt attempts to build communities outside of capitalism. And one could argue that that's capitalism's primary tactic: alienation."
Sure, but notably people have an intrinsic craving for community - and so the only way that capitalists *can* do this, is by taking advantage of inaction on the side of community builders. It makes capitalism a thing you need to actively defend a community from, but that is not a thing that happens in the vast majority of communities.
That doesn't mean it isn't possible - it just means you need to recognize it as a threat, and not expect it to sort itself out. If you build *and maintain* a robust enough community, there is nothing capitalists can do about that.
"It's a definite weakness, but exploiting it requires anticapitalists to do a far better job than we've been doing of embracing diversity."
Absolutely. This also directly relates to what I said earlier about people just copying the capitalist things - very few anticapitalists seem to even realize that they *need* to be thinking outside of the (capitalist) box, and shed its assumptions. It's a long-standing problem, and IMO one of the main reasons the movement has been ineffective in practice.
"Dealing with that would go a long way toward showing that there's a chance we can do it with larger, more complex scenarios."
Yes and no. I feel like you're treating 'ability to organize' as a static value here; like a skill at a fixed level that must be proven to demonstrate that you deserve to try out the bigger challenges.
But that's not really how it works - organizing is a collective skill, and like all skills, something that needs to be built up through practice. You don't start with the messy cases, you start with the simple ones and gain a foothold from there to understand and deal with progressively bigger problems.
I would not say that fedi is a "simple one". By this point it's large enough that it's quite difficult to cause ecosystem-wide change, and so I think treating it as a "you must solve this before proceeding" really just harms any ability to learn that skill, in the same way you can't expect a beginning programmer to successfully build an MMO.
In other words: we need to start *somewhere*. It doesn't matter where.
long, browser musings
@freakazoid Late addition: to clarify, I think it's actually a good thing when loopholes are used to fuck with and sabotage capitalists' plans, including copyleft - repurposing the system is a useful tactic!
My objection is specifically to relying on it as *the* solution in the long term (like people try to do with copyleft); legal loopholes will only ever work briefly at best, and they should be used as long as they work and then replaced with something new.
long, browser musings
@freakazoid I intended to add it in the original post, but upon re-reading it just now realized that I forgot :)
long, browser musings
@joepie91 Ah, I definitely agree with that! Thanks for clarifying.