21 ms·
Servo’s new home
- lastontheboat 6y agoWe've been cagey about this over the months since the Servo team at Mozilla was disbanded, since there were various moving pieces that needed to fall into place. We're excited about the possibility for Servo to continue growing and evolving in its new home, though!
- erickt 6y agoThis is great news! I'm glad Servo found a place to land. Are you planning on sticking with the MPL-2.0 license, or are you also considering relicensing as well?
- deleted 6y ago[deleted]
- lastontheboat 6y agoThere is no plan to relicense at this time.
- simias 6y agoWhat's the plan exactly? Will there be a Servo browser that integrates the servo rendering engine with some open source components (for instance from Firefox, WebKit or Chromium) that will let us use the engine stand-alone, or is it "just" going to be an engine for embedding in third-party programs? The former seems like it would be a huge amount of work, but if it's the latter I fear for the long term survival of the project because it's going to be hard to build a community around such a project IMO. Or is there a possibility that Firefox will try to integrate Servo even if it's developed outside of Mozilla? Seems unlikely to me.
- sergiomattei 6y agoThis is also my concern. Everyone's cheering on, but I'm just thinking... What's the mission and end goal now? Previously it was doing research, with the possibility of landing in Firefox. Now that's highly unlikely.
- jfk13 6y agoIs it really so unlikely? Firefox integrates all kinds of components from elsewhere; why shouldn't it continue adopting parts of Servo where appropriate?
- cogman10 6y agoSeems just more unlikely. It's one thing for a mozilla team member to say "Hey, let's pull the servo css layout engine into firefox" It's a whole different thing for someone to say "Hey, let's pull the webkit css layout engine into firefox". The servo stuff, while for experimentation, was ultimately geared towards the notion of landing parts of it into firefox. It was built for that. Under an opensource foundation maintainer model, there's a strong possibility that it moves from that as a goal.
- yjftsjthsd-h 6y agoI would still expect servo to at loosely remain "firefox shaped", at least far more than the separately-developed webkit lineage.
- smnthermes 6y agoThe true difference is that Servo is more modular than WebKit.
- eznzt 6y agoSo the Servo developers will now work for free but Mozilla will start to leech from it? That would be uncool.
- DominoTree 6y ago
- throwaway894345 6y agoWith respect to the latter, I agree that it seems unlikely that the project would attract users. Maybe it’s my own ignorance, but I don’t know what kind of apps (besides web browsers) would want just the web rendering engine and not various other components in a web browser. What are the responsibilities of a “web rendering engine” anyway? How tightly coupled is it to the DOM? Does it “own” the DOM, or is that owned by some other component in the browser? In the latter case, how are the relevant aspects of the DOM communicated to servo? And does the rest of the web engine query servo for things (e.g., “what are the exact coordinates of this <div>?”)? If this engine ends up not being so web-specific, then maybe it could be used as a replacement for Skia, more or less.
- akiselev 6y agoYou send Servo raw display lists, which is a format tailored specifically to represent the DOM but it acts like a generic slicing compositor in practice. It's not coupled in the classical sense - the display lists represent shapes, colors, stacks, rounded borders, etc.. It's more like Skia and can be used to develop GUI frameworks (which is exciting because Servo is Rust and Rust's GUI story is still in its early stages).
- tannhaeuser 6y agoThanks for that explanation. From the website, it wasn't quite clear to me (and still isn't tbh) whether servo is merely a rendering or also a CSS layout (+ parsing etc) engine.
- throwaway894345 6y ago
- an_opabinia 6y agoIt’s tough. People really do want Flash, it’s just Google Chrome now. The bigger question is when will Mobile Safari retire its WebKit fork? What role will Servo play in that inevitable end point?
- bsimpson 6y agoApple founded WebKit, so I doubt it will retire its repository. Are you asking for iOS and macOS Safari to converge, or for Apple to ship straight from the open-source HEAD?
- satya71 6y agoApple forked WebKit from KDE KHTML.
- bsimpson 6y agoThey aren't mutually exclusive. WebKit was originally based on KHTML, but Apple still founded WebKit and controls its source code. Even if WebKit was just Apple's name for their internal fork of KHTML, I don't see any reason they'd retire it. Blink was originally spun-out of WebKit too. Similarly, Google controls Blink, and the two have diverged significantly in the intervening years. I suspect patches for any of them won't apply cleanly to the other two. Regardless of their origins; KHTML, WebKit, and Blink are now independent pieces of software. It's still unclear to me why anyone should expect Apple to retire WebKit for iOS.
- cies 6y ago> Apple still founded WebKit > Blink was originally spun-out of WebKit too Founded, spun out of, forked... What's in the name? I think one cannot "found" something that's largely based on a fork of something else.
- bsimpson 6y agoThere's more to a project than code. A project can absolutely be founded, even if the code is entirely based on another project.
- LockAndLol 6y agoThe latter would be better, imo. Chromium won because it introduced a sane API before Mozilla's Gecko. That's why you see so many Electron apps. Seriously, we don't need to wrap a whole browser. Just the engine and a debugger would've been fine. The engine could be distributed as a lib and other frameworks could just bind it. Apps could be distributed without an 150MB behemoth just to have a chat client. Making the engine also mobile compatible would mean Android and iOS could maybe have the same base. I also look forward to what this means for Linux phones. Custom browsers could be written for those that don't have to use WebKit or try to launch Chromium or Firefox on a mobile device. Not only for mobile devices, but also displaying things in VR can be made significantly easier if you don't have to write all the UI yourself. Give it an opengl rectangular surface (or vulkan?) and you can then use web technologies to make UIs in VR. All in all, I'm very for an engine. It would definitely allow a competitor with a good name to enter the market. Developer should be able to reach for something else than WebKit because nobody in their right mind is going to reach for Gecko.
- smnthermes 6y ago> That's why you see so many Electron apps. Seriously, we don't need to wrap a whole browser Actually, Electron wraps an entire browser, except for its UI part.
- tsimionescu 6y agoI'm not sure what you mean by 'an engine', but people who choose Electron typically don't want a rendering engine like Servo, they want to write a web app and have it installed locally. They need a rendering engine, a JS runtime, a DOM handler, an HTTP client library, WebSockets support etc - they want a whole browser. Also, 150MB is not really that scary of a size in today's world. Also, a huge part of it is simply because of static linking - if they split it into dynamic libraries, the actual content of any individual Electron-based app would be reduced significantly. But people are mostly allergic to dynamic libraries, so we pay the cost in larger binaries. Also note that vim with all its dependencies is ~40 MB, without a GUI.
- Deukhoofd 6y ago
- nvrspyx 6y agoA third-option that I would like to see is extending the latter to an Electron alternative (aka using Servo as a cross-platform GUI). There's definitely positives to Electron, but it would be nice to see a more performant, less memory hungry, and more battery friendly alternative.
- devwastaken 6y agoServo last time I checked used the same if not more memory (100MB) for basic pages. There doesn't appear to be major differences for that application yet.
- jhoechtl 6y agoWhy should there be any great difference? Firefox is already written in a language where compilers have been optimized since decades. Rust will not bring that magic.
- alexusgracia 6y agoYap, it's magic
- ben-schaaf 6y agoRust isn't what can bring that "magic", but a rewrite sure can.
- nine_k 6y agoWhy, better lifetimes' control could reduce the RSS, and reduce the GC time / energy. (Provided that the C++ version is not strictly optimal WRT resource allocation; I think it's a rather safe bet.)
- asveikau 6y agoI'm not personally a rust zealot, but I know that rust builds on LLVM and therefore benefits from some of that very same engineering effort that was built to optimize C and C++.
- webmaven 6y agoI don't imagine this is news to you, but just in case, the 'Contributing' link 404s.
- networkimprov 6y agoI looked for a list of projects currently embedding Servo, or planning to, but didn't find one. Is any software embedding it now?
- andrewmcwatters 6y agoKinda hard when they don't even tell you how.
- kbumsik 6y agoServo is not production ready yet. We don't even know how may years it will take for 1.0. So no software would use it for now.
- networkimprov 6y agoPlenty of pre-production software is built with pre-production dependencies. Does it not work for a useful subset of HTML/CSS?
- codys 6y agoCan you talk a bit about the "moving pieces" and/or the process here? Interested in the process of doing this type of migration.
- SimonSapin 6y agoThere’s things like finding an agreement over https://uspto.report/TM/87796973 https://uspto.report/TM/87796973 and setting up everything in https://servo.org/governance/ https://servo.org/governance/. And on the technical side, although it’s not a blocker for announcing: https://github.com/servo/project/issues/25 https://github.com/servo/project/issues/25
- wiz21c 6y agoHmmm Well, I'm not in the business, but if the team was disbanded, then where's the knowledge gone and who will be the next paid team ? I ask because I guess Servo is not the kind of project you just commit some patch over the weekend...
- lastontheboat 6y agoHonestly the project has had >1000 contributors over the past 8 years and a lot of them did just that.
- wiz21c 6y agoha, should have checked that. Thanks for pointing out :-)
- barkingcat 6y agoWell, it could be. Almost all open source projects are like this. If you find a typo in a readme file, put in a pull request. Do 10 of those, and you'll probably have enough understanding to fix one off errors in the documentation. Do 10 more of those, and you might start answering questions from other people re: how to help the servo project. Answer 10 of those questions, and you might go, oh hell, I'm already answering questions, why don't I write a blog post introducing people to the servo project so you aren't repeating the same thing over and over again. write 10 of those kinds of articles, and you'll be ready to be mentored by the great servo and rust community and start making larger code changes, algorithm changes, implementing a feature that you really wanted, and so on. You gotta start small!
- vanderZwan 6y agoTangent: is your username in combination with that comment a reference to the Mozilla Lifeboat?
- lastontheboat 6y agoNo, it was a name I took when joining a bunch of social sites back in 2012 and feeling like I was the last person in my circles to do so.
- deleted 6y ago[deleted]
- patafrita 6y agoyes
- MrAlex94 6y agoThis is great news! Really nice to see another browser engine out there being developed. Hope to be able to use this in a project one day in the future and all the best to the team - quite a feat how far Servo has come in supporting web standards in such a short span of time (comparatively).
- emteycz 6y agoAwesome news! The world needs another prominent browser engine that browser vendors would want to use, and detaching Servo from Mozilla makes it better positioned for that task IMHO. I'm also very happy that work on Webrender continues. I love what you're doing guys!
- SimonSapin 6y agoFor what it’s worth, these days WebRender is mostly being worked on by the Firefox graphics team at Mozilla.
- Ericson2314 6y agoAs long as it still works for both!
- LockAndLol 6y agoShould we start calling it Servo by Linux now?
- bartvk 6y agoWhat's the connection to Linux?
- SimonSapin 6y agoThe Linux Foundation is a legal and fiscal host for many projects, not just the kernel: https://www.linuxfoundation.org/projects/ https://www.linuxfoundation.org/projects/
- dathinab 6y agoIt's now part of the Linux Foundation. (through that's all there is to it, calling it "by Linux" would still be misguided I think as the foundation is named after Linux and not the other way around)
- JustFinishedBSG 6y ago
- techwizrd 6y agoThis is fantastic news. Servo has been doing exciting work, and it was disappointing to hear that Mozilla had disbanded the Servo team. I'm really excited to see where this will go. Will improvements from Servo continue to make their way down into Firefox?
- paulrouget 6y ago> Will improvements from Servo continue to make their way down into Firefox? Unlikely.
- Technically 6y agoIt's difficult to characterize this as inherently bad, though. We could end up with three competing engines and major browsers, plus a long tail of webkit browsers. That's a pretty decent scenario for the rest of us.
- CodesInChaos 6y agoHow many paid developers will it have now, and how many did it have at Mozilla?
- geogra4 6y agoRight - unfortunately I feel like this is the most important question. I would have loved for someone with deep pockets like MS to take over servo. (Or even like Alibaba or Tencent)
- paulrouget 6y agoNone at the moment. Help is welcome: https://servo.org/#support-and-donations https://servo.org/#support-and-donations :)
- CodesInChaos 6y agoI have a hard time believing that a project as ambitious as servo can survive without several paid core developers.
- fabrice_d 6y agoLook at the corporate sponsors (that include Samsung and Huawei) - they may provide paid contributors.
- The_rationalist 6y agoI strongly believe that you could get funded by Google if you attempted to port stylo to chromium. Firefox still has state of the art css performance I believe, thanks to stylo.
- Nkuna 6y agoThe same Google that suffers from "Not Invented Here" syndrome? We're talking about a company that literally tried to supplant the defacto language of the web!! Highly doubt it. Besides, nothing's stopping them from porting it without funding the project.
- devit 6y agoHow about making a browser in addition to a "rendering engine for embedding in other applications", in the form of a standalone program and/or a Firefox (desktop and mobile) fork that can use Servo as well as Gecko? You could also go for the more ambitious plan of creating a brand that can take over Mozilla as a "trusted browser maker", which seems feasible given the falling reputation of Mozilla and the technical security advantages of Servo.
- dathinab 6y agoYou first need a regarding engine to write a browser just doing a embedded html rendering engine is a lot of work so it's a good idea to start with a more viable/reachable goal and then if viable expand to a bigger goal.
- mthoms 6y agoCan Servo be used as an Electron replacement?
- rezmason 6y agoThat's the spirit!
- Narann 6y agoCould be awesome! But it would need a JS engine.
- MayeulC 6y agoWhy would it, though? Any language should do, as long as you can package a runtime for the environment. Be it lisp, WASM, plain old C... It's just functions to call, that change the DOM, CSS properties, load pages, perform computations, call APIs... Of course, the thing you lose is the hardware and software abstraction layer provided by chromium's javascript APIs. Those could be exported to a select number of languages, it wouldn't be hard for a single dev to create a usable runtime in their language if they are provided with C bindings to the H/SAL...
- Narann 6y agoThanks, is there a public Servo C API with function calls to change the DOM?
- asajeffrey 6y agoNot yet, there is an embedding API, but it's designed for embedding into native apps. Servo uses Spidermonkey rather than v8 as the JS engine, so integrating into the node ecosystem would be tricky. But it would be nice to see a JS-first runtime system built around Servo!
- CodesInChaos 6y agoI'd guess many Electron users don't care about the node.js parts at all, they simply choose electron because it's more popular than the alternatives like CEF.
- newscracker 6y agoI haven’t been following Servo closely for the last few years (I’d looked at it during its early days). I recall that parts of it were already integrated into Firefox, but could someone state what percentage of the Firefox engine is based out of Servo and what the roadmap is for bringing Servo to a stage where it could almost replace Gecko? Does this new home for Servo (and detachment from Mozilla) still mean that Firefox would continue to aim to use it? Tangentially, what’s the headless browser space with Firefox at the core looking like? When would it be able to provide something like Electron (possibly without being such a RAM hungry piece of software)?
- asajeffrey 6y agoFF is using the CSS engine (Stylo) and rendering engine (WebRender) from Servo. Webcompat is certainly on our radar!
- the_other 6y agoOn the face of it, this sounds great! I hope it leads to bold new things. It also produces an interesting coherence: Google + MS -> Blink Apple -> Webkit Linux -> Servo All the main OSs now have their own web rendering engine. The 00s saw anti-trust against MS for this practice (ok, for the rigid way MS forced their engine onto their users)... but today the market has coalesced around the same core idea, cementing the notion that general purpose OSs need a web rendering engine. Might this pave the way for a better cross-platform UI development? Rather than shipping Electron to every device for every app, apps might leverage the web renderer tied to the OS? I'm just wondering out loud. I was actually hoping we'd collectively move back towards native apps with better cross-platform tools, rather than integrating web apps deeper into OSs (even tho' I'm a web developer by trade and stand to gain from this).
- SimonSapin 6y agoDespite the name the Linux kernel is only one of many projects hosted by the Linux Foundation these days. Browser engine to operating system relationships haven’t changed with this move.
- rstat1 6y agoSo feel free to correct me if you think I'm wrong. I thought the biggest draw to Electron was that it was a single stable platform that worked and looked the same everywhere. I feel like (based on that) any attempts to move to OS bundled web engines would completely miss the point of why Electron is popular.
- The_Colonel 6y agoI think the biggest advantage of Electron is that you can write one code and it will run on all major desktop platforms AND web. There isn't really any other good solution for this. > I feel like (based on that) any attempts to move to OS bundled web engines would completely miss the point of why Electron is popular. If the web platform is modern enough (chrome, firefox and mayybe safari) then supporting these different platforms is not that difficult.
- edoceo 6y agoAwesome! I've been tire kicking their nightlys. I was thinking about building a "browser" but really mean just wrapping an engine. With the shakeup at M I was nervous that Servo would die, it's got a lot of promise. This is great news. Now, thoughts on a UI framework for Rust?
- brian_herman__ 6y agohttps://azul.rs/ https://azul.rs/ Maybe?
- paulrouget 6y agoMy personal opinion is that, for a servo based browser, it's probably better to just use UWP/C++ on Windows, C/GTK on Linux, and SwiftUI on Mac, and just embed Servo via its C-API layer. Rust shine when it comes to building a safe and fast web engine. For the OS "glue" code, I would stick to whatever is best for each platform.
- xiphias2 6y agoYou missed Android. Firefox for mobile is so far behind Chrome, it’s unusable for me, most plugins don’t work. I would vote for HTML/CSS based browser (React / React Native?), though I know that a lot of operating system specific code needs to be written.
- 6y ago
- exikyut 6y agoWow, this is awesome. - Mozilla engineering finally gets the green light to beat Chrome through a from-scratch rendering stack - This skunkworks initative popularizes the world's first viable C++ contender and interesting "mainstreamable" programming language - Manglement suddenly lays off the teams responsible for both projects (Rust and Servo) - Some awesome person from the trenches convinces said manglement to release governance of the rendering engine so it can be developed independently ((of said manglement))... - ??? - Profit...? This is real engineering and strategic problem solving. It's inspiring to see. What is very annoying is that a Mozilla-branded web browser already took the "Phoenix" product name. :(
- pqoek 6y agoWhy is Mozilla not betting on Rust anymore?
- baq 6y agothe CEO needs a new house.
- satyrnein 6y agoShe's hardly the most overpaid CEO in tech, but she seems to come up pretty often for some reason.
- MaxBarraclough 6y ago> for some reason This isn't a mystery. Mozilla accept donations. It isn't an ordinary for-profit corporation. Yes, they separate Mozilla Corporation from Mozilla Foundation, but the point stands. If Mozilla are going to claim to make browsers, apps, code and tools that put people before profit, [0] they should expect backlash when they lay off engineers while continuing to overpay their leadership, despite continuing poor outcomes under their stewardship. [1] [0] https://www.mozilla.org/en-US/about/ https://www.mozilla.org/en-US/about/ [1] http://calpaterson.com/mozilla.html http://calpaterson.com/mozilla.html
- david-cako 6y agoseems like a great step for Rust adoption in the Linux community!
- deleted 6y ago[deleted]
- baq 6y agoWith the growing concern about browser monopoly and engine monopoly going against everything the web was intended to be, are you planning on acquiring funding from government grants? EU at least used to give out money to interesting projects, is there hope for servo to get some?
- smarx007 6y agoQuite possible. But you need an EU entity for that and it's likely why Eclipse Foundation (Eclipse Foundation != Eclipse IDE for those who are not aware but rather a competitor to Apache and Linux foundations) has moved to Europe: https://newsroom.eclipse.org/news/announcements/open-source-software-leader-eclipse-foundation-announces-transition-europe-part https://newsroom.eclipse.org/news/announcements/open-source-...
- caniszczyk 6y agoIndeed, as an FYI the LF is truly "Foundation as a Service" and has entities in the US, EU, Japan and China. The RISC-V Foundation (hosted by the LF) is even based out of Switzerland.
- O_H_E 6y ago> Linux Foundation is truly "Foundation as a Service" That made me chuckle. If you have a reading about that, I think I would enjoy.
- caniszczyk 6y agoheh, here's a couple links that should be useful: https://www.linuxfoundation.org/blog/2020/05/building-a-successful-open-source-community-how-coordination-and-facilitation-helps-projects-scale-and-mature/ https://www.linuxfoundation.org/blog/2020/05/building-a-succ... https://www.linuxfoundation.org/blog/2020/09/software-defined-vertical-industries-transformation-through-open-source/ https://www.linuxfoundation.org/blog/2020/09/software-define... Along with an older presentation I gave on the topic: https://docs.google.com/presentation/d/1Q2jKVpeGkbDVdcUhrzxCe3wzpk1veQxwK45EMAaOVDU/edit?usp=drive_web&ouid=114145136200301707098 https://docs.google.com/presentation/d/1Q2jKVpeGkbDVdcUhrzxC...
- wmf 6y agoIs anyone paying Servo developers now? This is the real issue.
- paulrouget 6y agoNot at the moment. Help is welcome: https://servo.org/#support-and-donations https://servo.org/#support-and-donations :)
- atarian 6y agoDoes being part of the Linux Foundation mean financial support?
- caniszczyk 6y agoThe project will be forming a funding membership charter, similar to other foundations in the LF like say GraphQL Foundation (https://foundation.graphql.org/members/ https://foundation.graphql.org/members/) which will pool financial resources and ensure a sustainable long term home, if your company is interested in helping out, shoot an email to info@servo.org
- Manishearth 6y agoMany of us are looking for (or have found) dayjobs, but it's possible some folks may be open to contracting work on servo/etc. But nobody is being paid to work on servo right now.
- eitland 6y ago> or donating to help cover the project’s new CI and hosting costs, Planning to do exactly that tonight. I'm one of those who stopped donating to Mozilla once I realized none of the money donated could ever be used for developing the browser. If anybody else thought like me tonight might be a good time to prove we were principled, not cheap. Edit: one more thing. Hopefully at some time we can now recreate Firefox with a new name, a new engine and a new, safe but also complete extension API that allows us to recreate what we've lost over the last few years. Edit2: done.
- LockAndLol 6y ago> I'm one of those who stopped donating to Mozilla once I realized none of the money donated could ever be used for developing the browser. I never donated to Mozilla for this precise reason. Now I'm seriously considering it. Edit: Done
- ygjb 6y agoThe irony is that from both of these comments it implies you have a concern about the future and the stability of Firefox as both an open source project, and it's role in preventing a browser monoculture. Setting aside concerns about leadership, because IMO it's time for most of the current leadership to retire and make space for more innovative folks, Mozilla needs two things to preserve Firefox and Gecko, money and relevance. The have had numerous misfires on diversifying revenue, and they have been challenged on how to do that for a long time, but MoCo (Mozilla Corporation) has been profitable for quite some time due to the business deals with Google. That funds Firefox and many other related projects. The other thing that Mozilla needs is relevance, and over and above the presence of Firefox, MoFo (Mozilla Foundation) has played an activist role across many different initiatives, standards bodies, and lobbying. That requires money, and because of the legal manoeuvring that Mozilla has done in structuring MoFo and MoCo it requires that Mozilla Foundation be largely self-funding. Donations help with that, and pay for relevance in a way that Firefox alone can't. Please rethink the hostility towards donating to Mozilla Foundation.
- 6y ago
- sweetlucipher 6y agoIs WebGPU part of Servo? I know the guys at Mozilla were developing WebGPU API in Rust. Looking to see where it's going (I assume Firefox has to use it too. Chrome already has experimental support) Any idea?
- lastontheboat 6y agoWe had a summer of code student implementing support in Servo: https://blog.servo.org/2020/08/30/gsoc-webgpu/ https://blog.servo.org/2020/08/30/gsoc-webgpu/
- sweetlucipher 6y agoExcellent news. Thank you!!
- mrec 6y agoNo, separate project, although both Servo and Gecko (the C++ Firefox codebase) are aiming to use it. This diagram [1] kvark posted the other day might help. (I think dotted-outline boxes indicate external components, but couldn't swear to it.) [1] https://gfx-rs.github.io/2020/11/16/big-picture.html https://gfx-rs.github.io/2020/11/16/big-picture.html
- Manishearth 6y agoThe wgpu crate is being developed by Firefox engineers for Firefox. As lastontheboat said we had a student integrate it into Servo this year.
- ddevault 6y agoIs Servo planning to get back to the whole "writing a web rendering engine" part, and backburner the "let's play around with VR and stuff" plans? Because until then, I don't think Servo is especially interesting as a project. As far as I can tell, the last few years of Servo have been characterized by an obsession with chasing shiny things, and not with the kind of rigid and dedicated engineering efforts necessary to write a new web engine.
- Manishearth 6y agoWe spent a significant amount of effort in the last year and a half working on a redesigned modular/parallel layout subsystem. The VR focus was because it was a good way to get servo out to end users early without needing to be fully web compat -- WebXR doesn't require complex layout. We didn't drop our focus on full web compat during this, but full web compat has always been a more long term goal given how complex the web platform is.
- andrewmcwatters 6y agoGet back to focusing on embedders and stop all the other nonsense that isn't directly related to embedding.
- ddevault 6y agoWebXR is also completely inane. What users are you "shipping" to? A tenth of a tenth of a tenth of a tenth of a percent of internet users? You have a massive effort ahead of you, and you won't get there by chasing distractions. You need to have a singular focus if you're going to accomplish this goal.
- andrewmcwatters 6y agoThey're not interested in "[providing] an independent, modular, embeddable web engine," they're interested in writing software in Rust and having their name associated with a Mozilla/Linux Foundation project. Go look at their governance.[1] Their webpage tells you what they really care about, and it isn't embedding. [1]: https://servo.org/governance/tsc/readme/ https://servo.org/governance/tsc/readme/
- hobofan 6y agoPretty good news day for Rust between this, min_const_generics stabilizing[0], and CXX 1.0 (including a nice "book")[1] being released. EDIT: Oh, and the Rust performance book[2]. [0]: https://github.com/rust-lang/rust/pull/79135 https://github.com/rust-lang/rust/pull/79135 [1]: https://cxx.rs https://cxx.rs [2]: https://nnethercote.github.io/perf-book/ https://nnethercote.github.io/perf-book/
- black_puppydog 6y agoI'm happy to hear servo is going to continue to exist. Please forgive the beginner's question: my understanding is that servo is "just" an engine, which needs to be wrapped into a browser to really become usable. I've just tried (not for the first time, btw) your tech demo, which I think illustrates this perfectly. The rendering was lightning fast, but it's not a full browser. You state that your goals are "to provide a high-performance, safe rendering engine for embedding in other applications." Given that browsers are notoriously big software projects, do you think it will be an obstacle that servo is no longer tightly integrated with any sizeable browser project? Of course, I'm asking because I'm really afraid that the amazing effort that is servo might dwindle into irrelevance simply because there is no "killer app" for it, and embedding it into several small/niche products simply doesn't generate the same involvement as a web browser.
- Finnucane 6y agoPresumably any app that wants this kind of rendering could make use of it, not just browsers--consider all the apps that now use Electron for this.
- coddle-hark 6y agoElectron (WebKit) is much more than a rendering engine though. Sure, you could use Servo in a desktop app, but you’d have to also bundle all the other browser components (a JS engine, for example) individually. You’re basically building a browser at that point.
- danShumway 6y agoWell, to be honest though, a lot of the criticism of Electron stems from the fact that it's more than just a rendering engine. There are a lot of applications where you'd want to take advantage of a browser view or a renderer or a JS engine, but not the rest of the stack. There are native apps where you might want a well-sandboxed JS engine for extension support, or where you're writing all of your core logic in C/Rust but you want to use HTML/CSS for your interface. Splitting up those components would be useful in a lot of situations.
- Touche 6y agoServo is starting to remind me a little of Minix, where it is an ambitious project attempting to fix underlying architectural problems, but the scale of the project being so large that ecosystem progress outpaces it's ability to adapt. I hope I'm wrong.
- wmf 6y agoThat's a well-known problem unfortunately. http://doc.cat-v.org/bell_labs/utah2000/utah2000.html http://doc.cat-v.org/bell_labs/utah2000/utah2000.html To be a viable computer system, one must honor a huge list of large, and often changing, standards ... A huge amount of work, but if you don't honor the standards, you're marginalized. ... At another level, instruction architectures, buses, etc. have the same influence. With so much externally imposed structure, there's little slop left for novelty. Even worse, commercial companies that "own" standards, such as Microsoft and Cisco, deliberately make standards hard to comply with, to frustrate competition.
- danShumway 6y agoThank God, I am so happy to hear that Servo isn't being abandoned, and I'm very happy to see the Linux foundation getting involved. It's still going to be an uphill battle for Servo to really make an impact on the overall browser/web industry/ecosystem, but at least for now this is very positive news.
- roadbeats 6y agoWhile this is great news on one hand, on the other hand, how could Mozilla manage to lose its browser engine project ? If a web browser company can't even keep its browser engine project, what is really Mozilla working on these days ?
- randomdata 6y agoA VPN service, apparently. https://vpn.mozilla.org https://vpn.mozilla.org
- ncmncm 6y agoReselling Mullvad, last I heard... Has that changed?
- fabrice_d 6y agoMozilla is still obviously working on Gecko, which is the browser engine powering Firefox. You can check the activity here for instance: https://github.com/mozilla/gecko-dev https://github.com/mozilla/gecko-dev
- p0nce 6y agoIt's really a classic situation, the greenfield project is stopped and the historical "old" project keeps going on.
- andoriyu 6y agoServo wasn't a Gecko replacement. It was rather "2nd biggest rust project" and a place to work on thing that might end up in firefox. That's it. Firefox already has big chunks of Servo inside, those aren't going anywhere - without them firefox will be slow again.
- triptych 6y agoWe are seeing the birth of a new browser ( age )
- arendtio 6y agoI am confused. I thought it is the raison d'être of Mozilla to develop a browser. So how does it come that the brand new browser engine they developed is being given away? I mean, even if they need to cut costs, isn't Servo part of the team they should keep until the end?
- phonon 6y agoBecause they wanted to "put a crisper focus on new product development and go to market activities."[1] I'm sure that explains it well... [1] https://blog.mozilla.org/wp-content/uploads/2020/08/Message-to-Employees-Change-in-Difficult-Times.pdf https://blog.mozilla.org/wp-content/uploads/2020/08/Message-...
- Shared404 6y agoMy understanding is that Servo was more experimental research, with an eye towards possibly being integrated at some point.
- gilrain 6y agoExcept multiple parts of it had already been integrated into Firefox, providing its most recent performance gains (Webrender, Stylo).
- 6y ago
- gigel82 6y agoHaven't heard of Servo before so was excited about the possibility of a lean new engine, but was pretty deflated when the preview build is 200Mb+ on disk (80Mb just for the main exe). It's possible some of it comes from the unoptimized extras like the JS engine, media libraries, etc.
- SimonSapin 6y agoI don’t recall that disk size was ever something we’ve optimized or tracked. Why is it important?
- webmaven 6y ago> I don’t recall that disk size was ever something we’ve optimized or tracked. Why is it important? If you're targeting application developers, minimizing the system requirements (including size-on-disk) for an installed app that embeds Servo is going to matter. I don't know how much it matters, though.
- gigel82 6y agoOther resources' usage (memory, I/O) tends to scale up with size on disk. And empirically, the more code you have, the slower your program runs. Lots of folks in this thread brought up Electron and Servo being a potential replacement for it, but the preview build is already larger than Electron today.
- lucideer 6y agoOn the surface, this seems like great news. Does anyone have any insight into what level of influence Linux Foundation's Platinum Corporate Members have over it's priorities and direction? Beyond the obvious (Google), MS are invested in Blink and Tencent/QQ in Webkit. I guess there's scope for branching out in terms of engine use but... MS have already tried that quite a lot. I'm not saying that it's necessary for all Foundation Corporate Members to be actively adopting Foundation projects, but more that some may have commercial interest in those projects not competing with their own.
- SimonSapin 6y agoSetting priorities and direction is the responsibility of the Technical Steering Committee: https://servo.org/governance/ https://servo.org/governance/ The plan is to later have a Board responsible for financial decisions. Paid sponsorship to Servo (not just to LF) can grant a seat on the Board but not on the TSC.
- deleted 6y ago[deleted]
- cute_boi 6y agoVery good news for Rust.
- Communitivity 6y agoOverjoyed to see this, and best wishes to the team. Looking forward to seeing the future of Servo, and possibly contributing. I see Servo as a great Electron alternative. And I think eventually it could become a browser, though I understand that at least as of a few months ago that wasn't the plan.
- coldtea 6y agoI don't know about the Linux foundation, but the Apache Foundation is where a lot of code goes to die...
- leeoniya 6y agothe fact that you can now donate directly to Servo is fantastic. before, a donation for Firefox or Servo was just a donation to the Mozilla Foundation, which probably went to Mozilla's unrelated monetization efforts rather than the thing you intended. https://crowdfunding.lfx.linuxfoundation.org/projects/servo https://crowdfunding.lfx.linuxfoundation.org/projects/servo
- andrewmcwatters 6y agoEdit: It's clear to me Servo is vaporware right now. The discussions in this thread and crawling servo.org make that abundantly clear. Original post: As an embedder, I just don't get the point. Servo is a nonstarter. The idea of Servo minus Rust is great, because most embedders don't use Rust. They use C, because C is easy to embed with, and the availability of FFIs across languages that interface with C is tremendous. As someone who has used CEF, looked at Webkit ports, and has even written a compositor compliant with a subset of CSS 2.1, you just cannot sell Servo to me without a C interface. My problem isn't, "I need an embeddable web browser written in Rust." My problem is I need any embeddable web software―at least a CSS 2.1 compliant compositor―as an alternative to CEF accessible through C, C++, or an FFI that talks to C, but almost no one makes one. I don't even necessarily need anything beyond a CSS 2.1 compositor, because so much of "web development" is either CSS 2.1 or JavaScript, and I don't need the latter for my embedding purposes.
- Ygg2 6y agoRust has the ability to expose a C API. So, I don't see it as a non-starter. It's just that no one bothered to expose it. EDIT: I'm wrong, but I do think the documentation isn't that great. https://github.com/servo/servo/tree/master/ports/libsimpleservo/capi https://github.com/servo/servo/tree/master/ports/libsimplese... https://github.com/paulrouget/servo-embedding-example https://github.com/paulrouget/servo-embedding-example
- andrewmcwatters 6y ago> It's just that no one bothered to expose it. Almost the entire quick start guide is about using Rust. So you know, if I want to embed it, how do I do it? If I need a view offscreen rendered to a framebuffer, how do I get it? Can I blit? If so, how? How do I pass events to the browser abstraction? Servo talks about none of these things and leaves it up to you, but 110% emphasizes everything possible about Rust. I don't care about Rust, I care about embedding web technologies. So how do I do it? They don't explain. The front page prioritizes these things, in this order: * How to use Rust * How to contribute to Servo * Servo's blog * How Servo is governed * How to donate to Servo * Contacting those involved with Servo * Downloading Servo None of those things point me in the direction of how to embed it. Maybe they should spent more time catering to the people they claim to be providing the software for and less to the Rust crowd.
- webmaven 6y agoThis is encouraging. An Electron competitor would be really nice. I'd be especially interested in an Electron-but-for-Python, along the lines of PythonWebkit: https://www.gnu.org/software/pythonwebkit/ https://www.gnu.org/software/pythonwebkit/
- olah_1 6y agoThe rust electron competitor is already here https://tauri.studio/en/ https://tauri.studio/en/
- webmaven 6y agoNice! Okay, so now I want Tauri-but-for-Python.
- Nkuna 6y agoInteresting project as they seem to be tackling the same problem as the Flutter team whom started with mobile and are steadily working their way up the stack. Though it should be said repurposing a desktop first framework for a mobile paradigm is much harder than the inverse. Cheers for this. Definitely keeping tabs on the project.
- olah_1 6y agoFlutter does seem super cool. I agree with you too about it being easier to focus on mobile first. The problem is the ecosystem is small. If your use case doesn't fit their widgets, you have to do a lot of workaround stuff. Although this app stands out as a success in my mind: https://fluffychat.im/en/ https://fluffychat.im/en/
- BeatLeJuce 6y agoThose are exciting news. Both for Rust and for the project -- I think that's a really cool direction. The web becomes more and more a commodity to execute code remotely, and I think this step will help leverage Website-as-Interface as the default GUI for our programs, and empower us to commoditize it even more. And the Linux Foundation is a very lovely home -- they're dedicated to open standards and great stewards. However, complete lack of talk about funding and "every bit helps" makes it sound like this is actually the death of commercial support for this project. And I think it's super sad that Mozilla can't fund it anymore and would've hoped someone else would have picked up the banner monetarily. Does anyone know if the project has a good chance of survival (Rust is a great dev community, but might alienate broader adoption) -- can this survive purely within the open source community?
- dcgudeman 6y agoI wish servo would adopt a more permissive license, something like MIT or BSD instead of MPL. I think that existing projects like chromium have a competitive advantage because they have permissive licenses. If the community around servo would like to see more projects like electron built around servo they should consider it.
- dralley 6y agoMPL is a perfectly fine license. It has most of the benefits of permissive licenses (non-virality, worry-free integration with proprietary code) with most of the benefits of copyleft licenses also (changes to the library itself must be public). I fail to see what benefits a more permissive license would bring.
- dcgudeman 6y agoI have read this claim many times and yet to see any empirical evidence to back it up. If this license really hit the “sweet spot" between GPL and MIT/BSD then why haven't other projects outside of Mozilla funded projects adopted it. I think the reality is just the opposite. It neither gives the impression to contributors that their contributions are "protected" nor does it give lisensees the comfort that they will not accidentally run afoul of it's terms.
- dralley 6y agoFor one, the MIT/BSD/GPL licenses are all between 30-40 years old, whereas the MPL is only 8 years old. So that's 4x younger. For another, Mozilla has never really tried to "market" the license. It's hard to make something gain traction if you don't really try. And then nobody really cares that much about licensing so if something is "good enough" and does what they want it to then they're going to stick to it. Especially if it means they get to avoid doing research about licenses. And people that do really care about licenses tend to fall into camp permissive or camp copyleft with not a whole lot of in-between.
- pabs3 6y agoI'd prefer the LGPL to the MPL for projects where a less viral copyleft is wanted.
- tannhaeuser 6y agoIs there a chance the Servo code base could be used to develop a new browser? You know, like phoenix rising from the ashes much like FF rose from the Netscape code base (wasn't FF even called phoenix at some point)? Because that's certainly something to get HNers behind.
- andrewmcwatters 6y agoOf course, but they won't be working on it.
- hawkaguilar 6y agoAmazing
- reader_mode 6y agoAny servo developers arround ? I remember reading that a lot of CSS layout problems stem from having to support legacy stuff like floats etc that complicates reflow etc. Would it be possible to create a rendering path that just supports flexbox/grid and stuff that's not performance limiting ? This wouldn't be great for existing websites but it would be amazing if you had a CSS "strict mode" for electron like apps and new content. Stoked this project isn't dead and isn't tied to Mozilla, I like lsf much more.
- The_rationalist 6y agoNot the same but css: contain is a quite revolutionary strict mode, performance-wise
- formermozillian 6y agoHappy to hear that Servo lives on! Anyone knows if Firefox Lite will be rescued too, now that the FF Lite team has been laid off as well?
- 867-5309 6y agoopen up 'cause here I come (yes I am)
- realofcheams 6y agosadsadsa
- deleted 6y ago[deleted]
- vfclists 6y agoThe Linux Foundation. A place where projects which have nothing to do with Linux go off to die. FWIW Mozilla gave up on producing an alternative browser engine years ago, much to the annoyance of its developers. The recently brought out one for Android aka GeckoView, but I doubt if any developers will have some interest in using it. When Microsoft ports its new Chromium based WebView2 which is currently available on Windows to both desktop Linux and Android I doubt anyone will be interested in GeckoView any more. Mozilla's current role is to enable Google and Microsoft to point out to regulators that there are alternatives to their market dominance and gain some referral revenue in the process. The simple thing is no one is interested in an alternative browser engine from Mozilla because they gave up on that ages ago. https://www.reddit.com/r/firefox/comments/ag0ug0/what_is_it_about_the_design_firefoxs_gecko_engine/ https://www.reddit.com/r/firefox/comments/ag0ug0/what_is_it_... https://www.reddit.com/r/firefox/comments/9ugy1h/this_week_in_servo_118/ https://www.reddit.com/r/firefox/comments/9ugy1h/this_week_i... https://www.reddit.com/r/firefox/comments/bld586/what_is_your_reason_for_using_mozilla_firefox/emnlgux/ https://www.reddit.com/r/firefox/comments/bld586/what_is_you... https://www.reddit.com/r/programming/comments/akovnq/the_legacy_of_firefox_os/ef91p4p/ https://www.reddit.com/r/programming/comments/akovnq/the_leg... https://www.chrislord.net/2017/06/28/goodbye-mozilla/ https://www.chrislord.net/2017/06/28/goodbye-mozilla/
- knolax 6y agoI don't wanna be that guy but can we stop with all the namespace conflicts.
- ezekiel68 6y agoFor all I know, Servo will go on to conquer the world. However -- after surveying the comments here, I am left with a poignant sense that this launchpad project has already contributed way beyond its share of heavy lifting to shape and to popularize the rust programming language. Servo no longer needs to succeed in order for rust to win. Back before multi-core x86 CPUs or the C10K paper came out, a unique engineer decided to show the world[0] how an event-driven web server could perform way better than the threaded web servers of the day. Nobody really uses thttpd in serious production work anymore, but its influence and example can be traced through Zeus web server, lighttpd, litespeed, and on to haproxy and nginx today. [0] http://acme.com/software/thttpd/ http://acme.com/software/thttpd/
- shk1338 6y agoMozilla -> Linux Foundation -> Graveyard