Servo Engine contributions this year
github.com
github.com
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.
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.
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.
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.
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.
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.
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.
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.
Perhaps a Patreon-style funding for Servo could work? Something similar to what the guy behind Serenity OS managed.
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?
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.
Depends on what you mean by "reasonably modern". Sciter could be just what you need: https://sciter.com
https://github.com/paulrouget/servo-embedding-example
And it is a 4-year old example.
This, from the same author, is also abandoned: https://github.com/paulrouget/servo-embedding-api
https://github.com/servo/servo/issues/18479
I don't think that embedding is their focus at all, although it does sound like a killer feature to keep the project alive.
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...
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.
We need Javascript, but we need to control it better.
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.
It seems like Linux on desktop has never been more popular according to these sites:
https://gs.statcounter.com/os-market-share/desktop/worldwide...
https://www.netmarketshare.com/operating-system-market-share...
It's not surprising either, considering all of the ads and metrics collection Microsoft has added into windows recently.
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.
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.
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.
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.
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.
That's actually the only good reason I've seen for why Safari is the new IE.
Chrome however is the new IE. I'll explain:
- IE was technologically somewhat superior at its time, just like Chrome is now.
- Only that when the competition was truly crushed, Microsoft couldn't justify spending money on it anymore.
- The same will happen with Chrome as well only this time they will manage to find resources to kill adblocking first. ... for our safety, of course
- 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.
* https://gs.statcounter.com/os-market-share/all/united-states...
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.
It's not.
> but if it's about falling behind technologically then it's Safari that is a distant third.
You mean, Safari and FF are very close to each other, and Chrome is running away with chrome-only non-standards: https://web-confluence.appspot.com/#!/confluence
And I am eternally grateful to Apple for this.
Somebody has to push back against the web-standard-of-the-week insanity. Like WebPartitionEditor, WebUSB, WebBootloader and WebSSH.
Google's not pushing back. Mozilla's not pushing back.
Thank you, Apple. Keep pushing. Push harder.
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.
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
That is why I say "Safari gets them years later". For example:
Chrome 42, released April 2015, supported fetch. Safari 10, released March 2017, supported fetch. Nearly two years after Chrome and Firefox.
* https://webkit.org/blog/7477/new-web-features-in-safari-10-1... * https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#b...
For them Firefox is only an income stream to fund their distractions^H actual mission.
Is Rust bullshit? This organization beat Microsoft to create the modern open web, then developed Rust. That's pretty good so far.
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.
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.
https://blog.mozilla.org/en/mozilla/mozilla-welcomes-the-rus...
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?
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.
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.
Well... If you count WSL as Linux in the desktop, then I think it's doing quite well, but yeah.
In what sense? Usage of Linux on the desktop is only growing.
It will probably always pass ACID 3.
How can an organization created by venture capitalists which depends on Google for most of its income commit itself to challenging Google?
It's a natural human trait; I doubt Lobster is any better.
Servo does not, even if finished, turn into a self-supporting product. Keeping Gecko going already is a huge challenge for Mozilla.
I don't have a lot of faith in Mozilla leadership's ability to compete, but it's certainly not that they don't want to try to compete.
I’m genuinely curious
IMHO leadership always lacked imagination around Firefox, and never had the fortitude to back any alternate investment enough for it to succeed.
More generally I wrote a blog post with my interpretation: https://www.ianbicking.org/blog/2020/11/firefox-was-always-e...
It could be strategic for the EU to have some influence on the web and to not be totally dependent on US-based companies.
To me, all they do is look busy and try to milk the cow until it dies.
I still use Firefox on all my devices and I don't plan to change but I don't see them even wanting to offer something good.
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.
There's no other application platform that comes even remotely close to that.
In a web browser, yes.
I've opened a couple issues about it over the past few years and even joined the mailing list to see if there was some interest.
Alas.
[*] (except on Android, due to Google Play policy nonsense)
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.
For time and code: https://github.com/servo/servo
Edge (old) felt totally usable and some say that outperformed at 4K watching its competitors
I don't think they couldn't keep up from tech standpoint
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.
Firefox is last man standing.
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.
Firefox doesn't come with OS and hardware to keep it around.
So they're very aggressive to introducing "app-like" APIs to Chrome even often at the expensive of user experience, performance and security.
As you said, their very goal is turning the web into ChromeOS. And the web is everywhere.
Honestly, that's NOT a good thing for the future of either the web or applications.
There were 78 contributors with 2 frequent (1 being a bot) and 2 occasional (1 being a bot).
https://public-001.gitsense.com/insights/github/repos?p=impa...
And if you look at the velocity which compares the last 365 days and last 365 - 730 days, there was a large drop in contributors.
https://public-001.gitsense.com/insights/github/repos?p=velo...
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.
(Ps this is how Mozilla started)
Edit: lol how is this possibly downvoted? This is both a constructive and informational post. Absolute state
2. How? Browsers are complicated, and I'm not sure I would be a help as a contributor. What can I do?
To answer #2, though, a good way is to search through the issues by the GitHub labels that mark easier issues to tackle: