Continuing an open source project that used to be sponsored (paid developers) as a non-sponsored project is always very hard. The code base, project structure, automated tests, etc. is all sized for a certain number of developers. When 90% of them are gone it'll be hard to keep up.
Feels somewhat similar to the faith of RethinkDB, which was an awesome database in many regards, but it was difficult to keep the steam up after the sponsoring company shut down.
One thing that may work, is if Servo tries to carve out a very narrow niche, much smaller than just "general browser", where they are unique and useful.
Take embedding as an example. If Servo became a great choice for embedding (similar to WebViews, Electron or maybe as an "engine" to Electron), where there is usually a single set of CSS and Javascript that it's expected to run (basically a bundled app), the downsides of Servo not supporting all Web APIs, or not handling all edge cases, is reduced. Basically, if it runs your code, that's enough.
So it'll become "useful" (regardless of where you put the bar for useful) earlier in an embedding context, compared to it becoming useful as a general browser.
Should it catch on as a tool for embedding, that would drive more usage and more contributions, which would be a beneficial circle.
But this niche could also be something entirely different, of course, I'm not sure embedding is the one.
Completely agree. Be 100 percent of what some small set of users needs and you will have a small happy user base which may lead to some new contributors. Do 95 percent of what a lot of people need and you will have zero users that are completely satisfied and they will all use something else.
Then look for use cases that are 95 percent complete and work on that last 5 percent. Then you've got a second set of happy users.
Taking this same approach with an intern at work. He's there for 9-10 weeks. We have an ancient piece of software that requires ancient hardware to run. I told him to make a replacement good enough for one specific guy to use full time. If we can eliminate one users dependence on the old junk it will still save hardware costs, and after the intern is gone, I'll be able to do incremental improvements for the other users until it gets done. Without that one user, there will be zero incentive to maintain it after my intern is gone.
What minimal use-cases does servo handle well today?
At the very least it needs a better plan than "don't let it die".
An exception to what you're saying is Blender by the way, the early (open source) history is a bit sketchy beyond the €100,000 they raised to get the rights (in 2002, well before Kickstarter "crowdfunding"), but I always had the impression what they did right was focus on funding for full-time devs right from the start.
Blender in general is a great open source success story probably not told often enough, probably because 3D is something most of us never really do. It's probably worth examining what they did right in some more detail.
I've always felt like a big part of Blender was having an interface that's awesome for power-users, but that's unusable without training. Then have a foundation that offers said training (some free, some paid), and from that money pay development, outreach and showcases (Blender Open Movies).
It's a somewhat unique (and likely unintentional) model that worked because the competition was very expensive, but it has also prevents Blender from being more than a niche product.
That changed with Blender 2.80, which was an incredibly successful achievement. I'd say the interface is one of the most beautiful and pleasant I've ever used for a pro tool. It really ticks every usability box and it looks damn good too.
That's not by chance that after 2.80 Blender has been getting more and more momentum. The amount of features that are packed into each point release would constitute a major release in other paid suites.
So, yeah, the Blender future is bright and I wish more opensource software managed to replicate their success. I know Krita is following in their footsteps, and also successfully.
Perhaps a Patreon-style funding for Servo could work? Something similar to what the guy behind Serenity OS managed.
I used some Blender back in the day, over 10 years ago. At the time, I didn't find it too hard to learn and use, but I don't know how much it changed since. Of course it takes time, but I'm not sure if it's harder than similar 3D modelling tools? I also tried some 3D max and Lightroom in those days and they weren't exactly easy to use either. I mean, these are tools aimed at 3D artists (professional or amateur) and very much expert tools never designed to be used by "the average Joe".
UI that's incomprehensible even to the people of closely related professions is more or less the norm for 3D-modelling software. Blender is not even the worst, there are lots of pretty expensive commercial editors out there that are worse (take a look at ZBrush for example).
Embedding really could help - there is really not much choice now for reasonably modern embedded engine.
Most of the website forks are AFAIK not very maintained, chromium/blink is hard to build and massive and Gecko basically has no embedding interface whatsoever.
So a reasonably complete modern web engine that is reasonably easy to compile and has a stable embedding API could be very welcome.
> Take embedding as an example. If Servo became a great choice for embedding (similar to WebViews, Electron or maybe as an "engine" to Electron), where there is usually a single set of CSS and Javascript that it's expected to run (basically a bundled app), the downsides of Servo not supporting all Web APIs, or not handling all edge cases, is reduced. Basically, if it runs your code, that's enough.
Could also become a way to do proof of concept new DOM ideas if the API allows for custom tags, JS features, etc.
I would love to see a company backing Servo that isn't Mozilla considering all the downfalls of Mozilla with funding their amazing projects. Their biggest legacy is Rust atm and they're missing out lots of opportunities: paid for IDE with RAD capabilities, certificates for Rust, and many more that could more than fund: Mozilla Firefox, Servo, and Rust itself.
> I would love to see a company backing Servo that isn't Mozilla considering all the downfalls of Mozilla with funding their amazing projects. Their biggest legacy is Rust atm and they're missing out lots of opportunities: paid for IDE with RAD capabilities, certificates for Rust, and many more that could more than fund: Mozilla Firefox, Servo, and Rust itself.
At the moment I can't really say if Mozilla management
- considers themselves paid by Google to run Firefox into the ground and give it an honest attempt
- or if they are just clueless
- or if I am clueless.
Sad to say all the three above seems realistic at the monent.
I would of loved to see from Mozilla in order to fund Firefox:
An email service, having an @firefox.com email would of been great, maybe they should of bought FastMail long ago, I would of loved to see a fully paid for mail service.
A search engine you pay for.
Maybe a small subscription fee for MDN to keep it maintained and its maintainers paid.
FWIW this is exactly the reasoning behind shifting Servo to VR (where it lived until the VR program was also cancelled), with the idea it could target somewhat bespoke environments where developers could design around any missing functionality.
It's very possible that if they picked a niche besides VR that it could have worked, or could work still, but it doesn't feel like good odds...
We still really need a good cross-platform VR browser. Firefox Reality is still the only decent browser for some headsets.
Another niche would be a browser that can embed nicely in Unity apps. I need one right now and there's no decent open source option other than a poorly maintained and fiddly servo distribution/port (I can't remember which). A bit of polish there would go a long way.
This is true, and could keep it going while it builds momentum.
I was thinking the same thing about an embedded browser.
Embedding in places where speed is needed but accommodations could be made where things are incomplete could work too, i.e. in games or rendering UX for video or music programs.
I guess it goes back to 'scratching an itch' when it comes to hobby contributions to open source. It's easy to contribute to something that solves one's own problems - and if the maintainer abandons it, someone else can fork and maintain it to fulfill their need.
But for projects set up by corporations, geared towards large scale problems, it would be difficult to keep them alive by random drive-by contributions from individual contributors.
Maybe what might save Servo is a company seeing a business opportunity by using it, like what happened with Firefox OS, or perhaps being adopted as something like a research project at a University department.
It doesn't need to target Embedded alone, it could simply be an intentional subset of the web standards, with omissions like the browser history API, among many others.
We need Javascript, but we need to control it better.
I think it should be used to make a pure-Rust Tor Browser, since Rust memory safety is essential to preserve anonymity and there are already expectations that full web functionality isn't be available.
Mozilla seems to be having their plate full just keeping Firefox in running with Chromium and Safari, at least as a distant, but still alive, third. And slowly falling further behind. I'm coming across more than a few sites which are subtly broken in Firefox, something that virtually never happened all these years.
It is sad that they have not managed to become the Linux of web browsers, though Linux on the desktop sort of is similar to Firefox, getting less relevant by the year.
There was a window of several years during which you could almost believe free/open source software would really dominate the world, but instead it has been co-opted into providing the infrastructure layer while consumer facing software and devices have become more locked down, black boxes than ever before.
> Mozilla seems to be having their plate full just keeping Firefox in running with Chromium and Safari, at least as a distant, but still alive, third. And slowly falling further behind.
If we're talking about the dwindling user base then yes, but if it's about falling behind technologically then it's Safari that is a distant third.
Safari is the new Internet Explorer. Everyone has to support it due to its user base (which is most likely why you don't see many sites breaking under it), but at least from my own experience it's the most feature incomplete, buggy browser out there, and it takes the most amount of work to support.
It's now a regular occurrence for me that I test something in Chromium and Firefox, and it works on both, but it's broken on Safari.
And just like Internet Explorer, you need a specific operating system to even test against Safari. Just that it's even worse, considering the relative market shares of Windows vs Mac (outside of Silicon Valley startups)
- On the most popular consumer operating system in the United States by numbers (iOS), it is the default browser, which is..
- furthest behind in supporting web standards. It is easy to theorize that Apple has no incentive to improve Safari given how lucrative..
- the App Store is. Apple is under antitrust scrutiny (see Epic vs. Apple), similar how Microsoft was under antitrust scrutiny due to IE integration into Windows. iOS goes further than Windows did in that iOS forces all browsers to use the same underlying browser engine.
Do you have a problem with BigInt? fetch? Push notifications for PWAs? Dozens of other useful web technologies used by millions of apps? Is that "web-standard-of-the-week-insanity"?
I agree not all standards are great. But they're *standards*. As in, you really should, because everyone else agreed it was a good idea. The time for vetoing it was when it was being decided (and Apple does shoot down tons of proposals), not when everyone else already agreed is was a good idea.
It's not that Safari doesn't get these features - it gets them years later than the competition. The problem with these big companies (Google is bad as well) is that they're too big to fail. If they don't like something, then the standard isn't their standard.
>The time for vetoing it was when it was being decided (and Apple does shoot down tons of proposals), not when everyone else already agreed is was a good idea.
But this isn't what happens. Safari is pretty good at standards (they do support BigInt and fetch). What actually happens is Google "proposes" a standard, pushes it to Chrome, then goads Mozilla and Apple into adopting it. Half of the time web developers cry about Safari not adopting Standards its because they want to adopt a experimental API that Google pushed
It's the third only if you compare to Chrome experimental APIs, that Firefox devs feel pressured to implement too. When people say it's the new IE they are not saying it's IE6 in 2010, but it's IE6 in early 00's. Google thanks to their monopoly on the web as a platform (except for an iOS anomaly in some parts of the US) is now at the extinguish part of the MS playbook (https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...).
It's never been clear to me what "web standards" actually cause all these difficulties in the first place. A lot of the foundational stuff hasn't actually changed all that much.
As an experiment, I downloaded Opera 12.16 from 2013 (the last Presto-based version), and it works better than you'd might expect. The biggest issue is that lots of https requests fail because it only supports outdated versions (it does support TLS 1.1 and 1.2 in the settings, disabled by default, but enabling that doesn't seem to have much effect).
There are a few things that don't render correct: cnn.com because of incomplete flexbox support, as well as some stuff their CSS minimizer does that Opera doesn't seem to like. GitHub doesn't really work correct mostly because CSS variables aren't recognized (it does render mostly okay, just without colours and such), and the JS doesn't work as Opera doesn't support const.
I couldn't test stuff like gmail, fastmail, slack, etc. due to the TLS issues, and various other sites I tested all run in to JS problems because of const, arrow functions, and similar small issues. It's certainly not usable, but overall, it's not bad for an 8 year old browser with a long-dead rendering engine.
Maybe I'll run a proxy to fix the TLS issues and filter out some of the basic JS issues and see what happens then.
I will say, it's slow. This is also an issue with fairly simple sites, like HN, old.reddit.com, lobste.rs, etc. Not sure what's up with that, I think it's related to network requests, as it significantly speeds up when stuff's cached.
Clearly it needs significant work to be useful, but from the look of things I expect that actually, it would be an entirely doable project by a not-too-large dev team to bring Presto up to at least Safari-level in a reasonable amount of time.
this reads as wishful thinking , in which universe is safari 3rd technologically speaking? what technology does Chrome or Firefox have that Safari doesn't? Safari performance in MacOS is better than Chrome and Firefox. Can you provide any data?
While I have not done substantive research myself, I have heard a number of personal complaints from (current and former) Mozilla people that very little of their funding actually goes to working on the core projects (like Firefox or Servo). They seem to have the same problem as Wikimedia where as they got more money, they spent an increasingly large fraction of it on bullshit outside the scope of their original purpose, hiring non-technical people (who are basically impossible to get rid of later on), etc. It’s much easier to downsize R&D than to downsize HR.
No, rust and Firefox are basically the two on-task things they’re still doing. But giving up on servo kind of defeats the point of them working on rust, so who knows how long they’ll keep supporting it.
You mean pushing HTML5 that after 15 years keeps being half implemented, catching up with native apps, and now literally basically turned into ChromeOS for all practical purposes, alongside SaaS applications?
Mozilla's mission is end-user control and an open Internet. Rust significantly improves security in end-user systems, so I think it supports the mission.
Yes, given a somewhat vague mission any smart person can find an intersection between the mission and a project. I myself have done this all to many times.
The real test is if you START with the mission, will you get to the project? In this case no, there's no way to go from a mission to advance an open internet and web to developing a new systems level programming language. You can only get there with motivated thinking.
Given most Web agencies have moved from having Firefox as a must support browser on the support matrix, and Rust still has a couple of decades before reaching C and C++ market adoption, the mission might be quite endangered.
At least Rust has its own foundation, however just like ISO and other foundation based languages, lets see where the companies at the table take it.
> They seem to have the same problem as Wikimedia where as they got more money, they spent an increasingly large fraction of it on bullshit outside the scope of their original purpose
Maybe it's time to ditch the traditional donations system to a per-feature donation. You could even make a policy that, say, 10% of the money of every donation goes to the foundation to use as they please, but the other 90% goes to the development of the specific product/feature.
We need to fins other governance+funding ways for our IT non-profits, or we will keep having this same problem.
I hear what you are saying, and it makes a certain amount of sense for projects that survive on donations (possibly hard to implement due to the fungible nature of $$, but whatever)
However, Mozilla's revenue is mostly from search engine deals, no? If it is true that the Mozilla foundation is under control of people with goals not aligned with the mission to drive forward open internet, I am not sure what can be done? (Not saying this is true, but there have been a lot of grumbling about it)
Perhaps Mozilla's lasting contribution to the world will be as an apocryphal story, warning others of the dangers of ignoring/neglecting core competencies.
I've been using Linux for 7 years. It has never been better than it is now and every year the alternatives look worse and worse. I honestly get sick every time I try to use Windows. The ads and dark patterns are glaringly apparent once you are used to Linux desktops.
The big green guy is the new Logitech software suite that I need to use to set the sidetone on my new headset, which asks you at install time whether you want to enable telemetry yet doesn't actually let you proceed until "yes" is checked, and which is completely redundant to yet distinct from the old suite (which new versions of the same headset model don't work with) and works less well. The other aliens are update pop-ups.
Whether Linux on the desktop is relevant in general also depends on the relevance of the desktop itself.
If you conclude that desktop is getting less relevant (as I think parent alluded to in the last paragraph), then its improvement within the segment doesn't need to be sufficient.
When I plug my tablet or laptop into a docking station, it is a desktop.
In what concerns Android and ChromeOS, it is as relevant as WSL on Windows for the regular consumer, specially on Android where it isn't part of public APIs.
> I'm coming across more than a few sites which are subtly broken in Firefox, something that virtually never happened all these years.
At a prior organization, I was there when they dropped support for Firefox. Basically got one bug report too many that was Firefox only and at that point the few users were just told to switch to Chrome. The small market share is accelerating its demise.
I think it's dead unless Mozilla changes its mind or some other company decides to take up the mantle. I doubt an open-source project this ambitious can survive without paid maintainers. And then on top of that, a whole lot of institutional knowledge has been suddenly scattered to the winds.
Everyone has to walk on eggshells around anything that might affect the Google search deal, but that's mostly it. If anything the Google money is resented, even though it also funds everything.
IMHO leadership always lacked imagination around Firefox, and never had the fortitude to back any alternate investment enough for it to succeed.
You're being downvoted because you're airing an uncomfortable truth. Deep down they know you are right but they don't want to admit it so they downvote you.
It's a natural human trait; I doubt Lobster is any better.
Software is never alive nor dead. The question is if it can keep up with the moving target of modern web standards, or if it can even provide limited compatibility.
It was never clear to me if Servo was delivering on its promises. Does it deliver significantly better performance than Gecko or Blink? Is the benefit from a cleaner architecture and easier developer experience? Despite that, I was very hopeful that Servo would come through and be all that and more. But then they started focusing on weird tangential stuff like VR rendering and it felt like it had been managed into irrelevance in that way Mozilla seems to do for so many projects (e.g. FirefoxOS). I was also sad when MS chose Chrome over FF. I probably care too much, but these tools are our interface to a lot of the world's information.
Mozilla implemented some of the stable parts of Servo in Gecko, but abandoned the project in 2020 and handed its governance over to the Linux Foundation. It’s been in maintenance mode since.
The fact you need a large team of paid engineers just to keep up with whatever features big-tech is adding to their spyware browsers is probably not a great situation to be in.
If I was a cynic then I would say that Google is very happy with adding more features to keep the circle of viable browser engines as small as possible, while simultaneously "accidentally" adding more and more ways to track users.
It's also one of the best. I'm working on a little game in my spare time. It's built on this platform that you consider to be one of the worst ever invented. If I want people to try it out, I just give them a link and they're in the game in seconds.
There's no other application platform that comes even remotely close to that.
I'm surprised as as far as I can tell it's "to big" in relation to it's benefits to (likely) be fully hobby maintained and currently not supported directly or indirectly by any company.
If Mozilla no longer plans to move forward with it and use it, it's dead. Nothing can save it. So what does it mean "don't let it die". I mean are bunch of people supposed to develop a modern browser engine on the side as a hobby or something? That's hilarious considering even MICROSOFT couldn't keep up, and switched to Chromium.
It's not that MS couldn't. I am sure they have the resources, had they really wanted to. But they just didn't see the incentive since their own browser, IE, was well and truly dead. Capturing the market again starting from level zero just wasn't attractive enough. Instead Chromium offered them the best of both worlds. No need to do the grunt work, but they can now still bundle their browser with their OS and try to grab usage share from Chrome and Firefox, by offering the added attractions of deep OS integration and installed by default. If Edge ever become a serious competitor to Chrome then MS's influence within the Chromium project and web standards will become bigger and bigger, serving as a soft obstacle against absolute Google monopoly. They also always have the option to maintain more and more parts of the Chromium code base independently.
Edge was always usable, but you'll always get second-grade experience if apps switch to the "fallback mode" on your browser.
Google is playing this game of quickly introducing standards they're already implementing in Chrome, and choking out the competition. And it worked with Microsoft. Worked with Opera.
Safari and Firefox are increasingly on the same page and flat out refuse to implement Chrome's non-standards (see, e.g. https://webapicontroversy.com).
It's Safari and Firefox as the last competing browsers standing, and Firefox is increasingly irrelevant. Whatever your opinion of Safari is, soon it will be the only browser trying to resist Chrome. And judging by the amount of new "standards" Chrome ships enabled by default with each release, Google couldn't care less about Safari either.
There's a really sharp drop after August 2020. It looks like the former devs increased their activity a bit in February-March of 2021 but after that is almost flat.
A browser engine is something way too big to sustain by hobbyists or as a side job. Most of small user base browsers are Chromium derivatives, WebKit wrappers (iOS).
There's forks of Firefox like Waterfox or Palemoon which end up slowly getting behind in features or security implementations.
In a way, #2 answers #1. Even if the only benefit of oxidizing subsystems in Firefox was to lower the barrier to entry for contributors, it would still be worth it.
To answer #2, though, a good way is to search through the issues by the GitHub labels that mark easier issues to tackle:
Feels somewhat similar to the faith of RethinkDB, which was an awesome database in many regards, but it was difficult to keep the steam up after the sponsoring company shut down.
https://github.com/rethinkdb/rethinkdb/graphs/contributors
One thing that may work, is if Servo tries to carve out a very narrow niche, much smaller than just "general browser", where they are unique and useful.
Take embedding as an example. If Servo became a great choice for embedding (similar to WebViews, Electron or maybe as an "engine" to Electron), where there is usually a single set of CSS and Javascript that it's expected to run (basically a bundled app), the downsides of Servo not supporting all Web APIs, or not handling all edge cases, is reduced. Basically, if it runs your code, that's enough.
So it'll become "useful" (regardless of where you put the bar for useful) earlier in an embedding context, compared to it becoming useful as a general browser.
Should it catch on as a tool for embedding, that would drive more usage and more contributions, which would be a beneficial circle.
But this niche could also be something entirely different, of course, I'm not sure embedding is the one.