Rust was made by Mozilla? TIL
Open Source
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon from opensource.org, but we are not affiliated with them.
Yep. It was developed to improve parallelization and security of Firefox. Many core parts of Firefox have been replaced with Rust implementations.
I see now. Rust is the color of fox, and foxes eat crabs. It all makes sense now.
I thought it was weird such an old piece of software had so much Rust in it. I noticed all the Rust-related things while ~~Firefox~~ Librewolf compiles but never looked into it further.
That's weird.
Independent of corporate interests
.
Picks one of the few languages created due to corporate interests
This will die on the vine
An interesting choice that is. Picking something like Rust would have benefitted them with a big community of open source enthusiasts that could help with contributions
they explained that they chose it because it is interoperable with their existing C++ code base
But Rust is rather good at that, too, via cxx. Mozilla similarly had a C++ codebase where they wanted to integrate Rust.
Granted, this is raw theory. Maybe Swift is better in practice. But yeah, to me personally, it would need to be massively better to pretty much give up on open-source contributions.
pretty much give up on open-source contributions.
You do realise that most major FOSS projects have an iOS app, right? The post I was looking at before this was for a new jellyfin app, small individual dev, has an iOS beta out. For a comparison, there are 9.1 million files on github in Swift, and 11.3 million in Rust.
As well, as far as contributions, Swift was designed from the getgo to be incredibly approachable for novices. While Rust is notorious for being unapproachable. Like I get the anti-Apple circlejerk is strong, but Swift is licensed under Apache 2.0, it's FOSS, so this argument is kind of ridiculous. Especially considering how much of Google's FOSS just gets a free pass.
Most FOSS projects weren't allowed on the app store due to licencing, and although I think this has changed its also probably pushed off a lot of Foss devs.
Number of files doesn't really mean much more than number of lines though, especially between languages
That information is well over a decade out of date. I remember when VLC had those issues. In a rare capitulation for Apple, they adjusted their terms to allow copyleft licenses.
As far as "probably" causing FOSS devs to stay away from the platform. Like I said, most FOSS projects have an iOS app. Hell, Jellyfin now has several FOSS iOS apps. Most of the iOS Lemmy apps that are available are FOSS, heck some of those are even iOS-only.
Like, I'm sorry, but this is about facts and not just your feelings. You said before that the choice of Swift over Rust would "massively" affect FOSS contributions while providing zero evidence to back that up. Sure, you're right, number of files doesn't mean much, but at least I provided a fact.
My personal opinion is that most FOSS developers are put off by "yet another chromium fork", and will flock to this project as a breath of fresh air, no matter whether it's Swift or Rust.
Not much feelings here, I was just looking into getting krita on one of my few iOS devices and found they wouldn't be able to comply with their GPL licence with apples structure, but hey were not getting personal here right so I must be wrong (personally)
Barrier to contribute in Swift is wwwaaaaayyyy lower then Rust.
We once ported and Swift App to Kotlin by copy+pasting. It was one day of work.
Rust - imo - is overhyped. It has its niches. But to me it is not the swiss army knife. Swift has better expressiveness then Rust.
It isn't, if you're already familiar with Rust. That's all I'm saying. Swift usage is largely isolated to Apple's ecosystem, which doesn't have a ton of overlap with the open-source ecosystem.
And I actually disagree that Rust is overhyped, because it can be used for creating libraries which can be called from virtually any other language, like you can with C and C++. Which means you're not locked into the Rust/Apple/whatever ecosystem, but instead could be coding the next SQLite without needing to be fluent in footgun.
From what I can tell, this would theoretically be possible in Swift, but hasn't been implemented: https://forums.swift.org/t/formalizing-cdecl/40677
But even if Rust was the most overhyped garbage, it would still be garbage that people are familiar with. ¯\_(ツ)_/¯
Hehe. You came from a different direction. My main point is that reading, thinking and contributing in Swift is more familiar with the majority of developers. Currently.
Swift usage is largely isolated to Apple's ecosystem, which doesn't have a ton of overlap with the open-source ecosystem.
I agree that the usage is isolated and it is not represented in the FOSS community. And I am not an advocate for doing so. Though it is compatible and if it is a possible alternative it can be considered. If you compare it to other Syntax it is reading very easily and you can pick it up in 20 Minutes. They could even require to explicilty use type annotations to further aid accessibility for possible contributors or audits.
... creating libraries which can be called from virtually any other language, like you can with C and C++. Which means you're not locked into the Rust/Apple/whatever ecosystem ...
Let's agree that a lock-in should not be dependend on the implementation language. There are other implications on the build which may arise. I am neither familiar with rust nor Swift. Comparing implications for building and linking can't be compared by me on a professional level.
I further - without research - call out that Rust comes with implications on either library implementation or linkable procedures for an author in order to link to it. Neglecting thinks like nested interop between host/implementation language here.
But even if Rust was the most overhyped garbage, it would still be garbage that people are familiar with. ¯\_(ツ)_/¯
Two things: Every developer I have met in person whishes to get some project in Rust. No one has seriously started pushing or even learned it thoroughly. Second point: I didn't called it garbage! The language as it is awesome. I don't like its readability and its packaging.
When I read Rust sources it isn't fluent in my inner mind. Sure it is due to familiarity but I would also argue that the over-expressiveness kills reading speed as well. Though that should be inspected by more objective and competent people though.
Take this with a pinch of salt, I'm not a programmer just a nerd that likes those kind of things. I tried them years ago first swift (I think it was in version 2) and a couple years later rust, and while both are great I found swift makes it easier to write clear code you're gonna understand and like when you come back to it. Rust was better I think with concurrency (at the time), you'll catch everything at compile time, but they talk about interoperability with c++, so this safety will be lost since most code interfacing with c++ will be unsafe.
Thank you :/
Ladybird Browser Team Selects Swift as Preferred Language Andreas Kling announces Swift as Ladybird's future language for better safety and ergonomics. Full transition awaits Swift 6.
ByBobby BorisovAugust 11, 2024 Ladybird Browser Team Selects Swift as Preferred Language Ladybird is a new name in the Linux ecosystem you might not be familiar with. So, let’s briefly explain what it’s all about.
It’s a web browser initiative, funded by $1 million, spearheaded by GitHub co-founder and former CEO Chris Wanstrath and tech visionary Andreas Kling. It seeks to challenge the status quo with a new browser written from scratch, completely independent of corporate interests. Our article on the subject has more on this. Now, back to the topic.
Over the past few months, Ladybird’s developers have been experimenting by rewriting different parts of the browser project in various languages. The outcome was clear: Swift emerged as the preferred choice among the team. According to Kling, the feedback favored Swift for its modern features and robust safety protocols.
Another significant advantage of Swift is its ongoing improvements in interoperability with C++. This development means Ladybird can adopt Swift gradually, without extensive rewrites, easing the transition and reducing potential integration issues.
Now, I’m sure you associate Swift with app development for Apple devices, where it’s been the go-to technology. But recently, that’s started to change.
What I mean is despite its strong associations with Apple, Swift has been making strides towards independence. It has been reorganized under a separate GitHub organization, distancing itself from Apple-specific projects.
This shift, coupled with better support for non-Apple platforms and diverse development environments, positions Swift as a more versatile and broadly applicable programming language.
Looking ahead, Ladybird plans to implement Swift once version 6 exits beta this fall. The upcoming release promises compatibility with the latest versions of Clang, essential for integrating Swift with Ladybird’s existing C++ code.
It’s worth noting that no browser engine has yet been developed using Swift, making this project particularly challenging. As things are still in the early planning stages, we shouldn’t expect to see any initial versions of the Ladybird browser this year.
A more realistic timeline suggests an early preview release could happen in 2025, though the developers have not yet committed to specific dates.
For more information, refer to Kling’s post on X.
Bobby Borisov Bobby Borisov
Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.
For anyone who knows more about this, how does it compare to Servo? https://servo.org/
Servo barely works right now. Ladybird somewhat works. Neither are ready for daily use.
servo is a lot further along because they're not bothering with javascript and are just using spidermonkey. see WPT: https://staging.wpt.fyi/results/?product=servo&product=ladybird
WTF?
That page freezes my firefox and uses a lot cpu power
Why is there so much hype around this?
Ladybird or rust?
Ladybird
The biggest part is that Chromium has all but taken over the browser space, and Google is additionally 90% or so of Firefox's funding which likely gives them power even when it's unspoken. That is to say that Google has way too much control over browsers to go along with their way too much control over internet traffic in general. The recent Manifest V3 thing and Mozillas "privacy preserving" ad personalization also likely have significant effects.
I agree with what you said but there is next to no chance a new browser engine from scratch will be able to challenge Blink's dominance.
Google's power comes from a combination of unfortunate factors. They have limitless money to support Chrome's development. They are one of the biggest vendors of online services. They are one of the biggest drivers of new web standard adoption.
Breaking this monopoly will require regulation and enforcement, not a "tech visionary" and a GitHub co-founder playing hero.
The alternatives have to exist first before the monopoly can break. One doesn't have to think the browser will singlehandedly change the entire browser space to be hyped about more alternatives. I am just excited to see some amount of motion in opposition to the decline into the google-net. Not that this is the only thing happening but it is an interesting one that I hope pans out.
But alternatives already exist in the form of Safari and Firefox.
Firefox is somehow struggling at picking up feedback from users and Safari is not open source.
So you'd rather live in a world where nobody does anything about it because politicians won't do anything? That's an idea to move forward 🙄
My point is that no one talks about using regulations to curb Google's browser monopoly ever. Even the anti-trust suit against them was related to their search offering. This relates to how Mozilla is beholden to Google for funding, and other players in the game being big corporations themselves.
politicians won’t do anything
Politicians can be made to do stuff. It is not always easy or even possible but activism sometimes works. Either way it is more likely to work than a toy browser for a niche segment of nerds becoming a viable alternative.
I do get your point, and in a perfect world that would be the solution. However, there are too many considerations to keep in mind with this:
1.- it's usually the nerdy crowd that is willing to go out of their way to resist monopolies like this. The rest of the people cannot be bothered with this because they risk missing an Instagram post of a dog scratching a carpet. So, creating a solution geared at nerds is highly likely to achieve the desired effect.
2.- doing something like this is still doing something, which is much more than anyone can expect from "regulators". Librewolf, Mulkvad browser, Brave, etc, are there because a bunch of nerds did them, nothing was being regulated.
3.- in every post about enshitification I've seen the last couple of years the need to regulate these companies always comes up. This has had little to no impact in getting those regulations even started.
Those are only 3 of the many reasons why we do need more of these independent and nerd focused applications. If we didn't have them, then we'd be unequivocally fucked.
Lemmy and Mastodon, what was/is being regulated to make them happen instead of fakebook, Quitter and fucking reddit? Nothing at all.
You make a good point, but the chances of anything happening on the regulatory side of things in the near future is basically null. I hope I'm wrong.
Rust would have been good in the long term but it'd take a long time to get to release.
Swift mates sense for rapid deployment.
Go would have been my choice concurrency would maybe help with lots of tabs
Tabs are typically spun into separate processes for sandboxing reasons anyway
I not entirely sure but from what I can remember Andreas Kling is seen using Mac-os in a Ladybird update video so it could be possible that it is his main operating system. Take this with a grain of salt.
I do wonder: why not rust? It would have been amazing. A fast language on par with C++ that also is memory safe. But Swift? You gotta be kidding me...
Oh, programming language. My brain was stuck trying to figure out if Swift is related to Swiss.