Mozilla has been diversifying for ages, it’s what stuff like buying pocket was all about. They should be making around 100m off the side hustles by now, plenty to keep the lights on, but still a small sum compared to the 500m they get from selling the default search engine spot.
Also, just as a reminder: Mozilla doesn’t exist to make money for Firefox, Firefox exists to make money for Mozilla’s general internet charity work.
Nope they’re boys with pubes. Pubes don’t make you a man, strength of character does.
Should you really be working when you’re claiming retirement checks from your union?
As a carpenter? Yes and no. It shouldn’t compete with what union people are by and large doing for their steady bread and butter but completely outlawing earning any money is cruel to the type of busy-bees that many tradespeople are. Hand-craft chessboards or something, anything where skill and mastery is eclipsing the industrial aspect. Also teaching, training, and consulting. Retirement should be a role-change (if desired), not a kick to the curb. Also, accommodate for half-retirement: Half the cheque, half the jobs kind of situation.
It’s not a blob the client is definitely open source, not sure about the server software but you’re not running that. It’s an extension like any other, just that it comes bundled with the default install and doesn’t use the usual extension enable/disable UI: Go to about:config
, set extensions.pocket.enabled
to false. It’s going to stay that way, this isn’t microsoft which likes to “fix” your settings.
There’s a subscription if you want and they’re also earning some money off referrals. In 2022 they made ~80m dollars off all those side hustles, should probably be 100m by now. Selling the default search engine spot is still the biggest number, about 500m. And they have a piggy bank of over a billion.
During the google money years the ROI on Firefox was so mind-bogglingly high it would’ve been insanity to drop it all into the browser: It couldn’t possibly have soaked up the sheer amount of resources.
Meanwhile, yes they did sink a large amount of resources into it in a way a profit-driven company never would have: They designed a whole fucking new programming language to get proper concurrency into the thing. Rust is, in a very real way, a language to write browsers in. That’s its purpose. And then they set the language free because, among other things, you can’t make money with it.
Sure, lots of those investments tanked. But OTOH you have stuff like pocket which makes money and could probably keep the lights on by itself. If everything but pocket were to fail Mozilla absolutely would have to downsize, would definitely have to scale back its charity spending, rely more on the FLOSS community to actually write code, but it’d continue with the same kind of force as say Blender, which wouldn’t be what it is without its paid staff (both coders and artists) and sidle-hustles (commercial support, training, and cloud services, mostly. Oh, t-shirts and mugs. Don’t forget t-shirts and mugs).
I guess overall the gripe I have with the “Mozilla should invest more in Firefox” chorus is that it implies “Do you want Mozilla to be way smaller and less capable of shaping the web than it currently is”. People have no sense of the scale of Mozilla, think that it’s running on donations etc.
Servo isn’t dead it’s just on slow burn. Also, under the umbrella of the Linux Foundation Europe. As far as Mozilla is concerned it has served its purpose: Prototype stuff that then got included in Firefox to get rid of a quite large amount of technical debt.
The long and short of it is: Firefox is supposed to make money for Mozilla’s charitable causes. It’s not an end in itself, but a means to an end.
Mozilla doesn’t exist to fund Firefox. Firefox exists to fund Mozilla. It’s been that since the very fucking beginning: Mozilla is a general internet charity that makes money with a browser. It’s always been that way. It never has been any different. I may have to repeat myself: The purpose of Mozilla isn’t to fund Firefox the purpose of Firefox is to be a money-maker for Mozilla’s charitable causes.
I think you dont fully understand how c compilers ( gcc specifically ) work when using multi file projects
They don’t. C compilers compile single files produced by the c preprocessor (resolving all s), they have no concept of multi-file projects. That’s a thing for the build system, such as make, and it needs dependency information from the preprocessor to do its job (
cpp -M
), and once it has that it has to act correctly on them which is often completely broken because people don’t understand make. Like using it recursively, bad idea. In the wild, a random C project at work you’ll come across needs a full rebuild to build cleanly. Things have gotten better with things like cmake getting more popular but the whole thing is still brittle. GNU autohell certainly makes nothing better, ever.
Also, anything using IL will always have an abi,
Everything will always have an ABI because ABI is just API in the target language, whatever that may be. If your program is compiled and can run it uses an ABI.
Wasm is wasm, and you only need an exposed interface
The core wasm abi is less capable than the C abi: You get scalar values and pointers, that’s it. No structs, no nothing, memory layout is completely unspecified. The component model allows compilers to say “so I’m laying out strings like this and structs like that” giving linkers a chance to say “yeah I can generate glue code between you two”.
Again, i like the idea of rust, but it has a long way to go to be viable atm.
C isn’t even close to being viable according to your standards people just have gotten used to the jank.
And it has many pitfalls to avoid so it doesnt become the hot mess that is any framework based on node.js
Rust doesn’t have portable dylibs precisely because it isn’t a hot mess. Because it’s actual work to do it properly. Unlike everyone else. Meanwhile It speaks the local C ABI fluently (they differ by architecture and operating system, btw), which isn’t a thing that can be said about many languages that aren’t C.
Differently put: What, precisely, do you want to do? Have you any actual use-case for your doubts, or are they spooks?
It’s a lacking point yes but unless you want to use a closed-source library it’s also a non-issue, which is why it has never been given priority. It’s not like language semantics would prevent portable dylibs it’s that there’s more important fronts to improve Rust on. A proper solution would take quite some engineering effort, and do note that C doesn’t have a proper solution either it just lets you link stuff up willy-nilly and then crash. Rust is actually in a better position to implement a proper solution than C is.
The “big project” thing is a red herring given that rust compiles incrementally. I know it is technically possible to not rebuild everything from scratch in C but the code has to specifically written to not break assumptions your build system makes while rust is happily re-using the compilation results for one function in a file while discarding those of another because actual dependencies are actually tracked. Out of the box.
Speaking of large Rust projects and proper type-safe linking: The WebAssembly folks are hashing out their Component Model which isn’t really limited to compiling to wasm, in principle: Big picture it’s a way to programmatically specify ABIs and even derive ABI translation code. That might be a good option as a rust-specific solution would be, well, rust-specific and when you engineer something that can support multiple versions of a language you can just as well engineer a bit more and have something cross-language.
Writing C bindings to a Rust library is the easier scenario because you can rely on the safe code having nice and clean memory semantics.
The Rustinomicon has a chapter on it. The basics are quite simple: Declare non-opaque types to use layout matching the C ABI, export/import functions, some wibbles around name mangling. Option<T>
vs. null pointers. Where things get a bit more involved is unwinding, but then you’re at the end of it, nothing should be shocking to anyone having written C.
As to how Rusty it is… not very. I mean Rust has first-class FFI support, but the way FFI stuff is written is necessarily unidiomatic because you’re basically writing C in Rust syntax and you won’t get out of declaring your own functions `unsafe’ before you read the rest of the Rustinomicon to understand what properties you need to ensure because the nice and shiny parts of Rust assume them.
I didn’t jump into anything I started the discussion. You did not participate, and still aren’t. Re-stating your premise is not an argument, you could’ve left it at “dude IDGAF what you say get off my back” from the start.
Done discussing? You didn’t even start.
Again: But what if it isn’t butthurt, but actual strategic consideration. You’re refusing to consider people having any motive but that which you assume them to have at first impression, presumably the one out of which you would go for such a mode of action. But other people aren’t you, and very well might choose their actions based on completely different principles. Who are you to tell them that they are wrong? “But muh they’re butthurt” is not an answer to that question, you’re only restating your premise.
Ok I’ll bite: You disapprove of the method of protest they chose, but how can you be sure of their underlying emotional/rational motives? As analogy, consider workers: They have the option to protest in front of the HQ, or they have the option to strike, and keep scabs out. Would you say that workers choosing the latter are “childish little entitled pussies”, after all, that’s a denial of service attack, or would you say that it is possible, in at least principle, that those kinds of attacks represent a well-considered strategic choice?
If such rationale is possible, how can you be sure that whoever launched the DDOS did act out of childish emotion, instead of cold-blooded calculation? You, we, can still disapprove of the use of violence in this case (because, say, proportionality) but that’s a consideration orthogonal as to whether we’re talking about adult or puerile behaviour.
That all being said, can you now understand why leading with that kind of language might not get the best reaction, and is sub-optimal when it comes to you expressing your condemnation of DDOS attacks, or convincing anyone else of that stance. It lacks consideration.
The onus isn’t on them to cater to everyone. If it can’t be used using Linux, deal with it like a grown up and find something else to do.
You went far beyond “ddos’ers are silly boogers”, which I agreed with, but delegitimised critique of Rockstar in general: You told Linux gamers to stop playing: “Find something else to do”. Don’t motte and bailey now.
Your words, they get interpreted. In specific contexts. Failing to acknowledge that those contexts can differ from whatever the context is in the privacy of your own mind is a failure of both theory of mind and communication on your part and, going out on half a limb here, probably the reason why everyone around you seems so hostile. Read the room. Don’t fall into the trap of thinking that you are right because what you say is met with hostility, rather, work towards having what you think is right accepted with gratitude. For starters, don’t go on tirades – which starting an argument with “butthurt little pussy” definitely is no matter how correct your assessment of the situation may or may not be. Develop tact.
Is there, in your mind, any situation in which any consumer can ever legitimately complain about the practices of any business, or is it all whining?
The onus isn’t on them to cater to everyone.
Gazillions of people have been playing on Linux, in particular on the Steam Deck, for ages. Those are paying customers. They pulled the plug on that without warning and without need, technical or otherwise, people are pissed. Depending on jurisdiction, Rockstar might be in for at least refunds.
I don’t condone ddos’ing either and what I also don’t condone is you saying “oh the only reason people are pissed is because they can’t cheat”. Now that is, if I’m charitable, ignorant, and allthewhile you have the gall to accuse others of arrogance. Nuanced my ass to be that you’d first have to acknowledge basic contextual facts about the matter. Getting downvoted is also not “the ignorant sheeple not understanding your brilliance”. Get your head out of your arse and look in the mirror.
I mean yes it’s electromagnetic radiation.