Ladybird Browser Team Selects Swift as Preferred Language
linuxiac.com
I would have preferred Rust, a language created by Mozilla instead of one with ties to Apple, but I'm not a dev so I can't really judge. What are your thoughts?
I would have preferred Rust, a language created by Mozilla instead of one with ties to Apple, but I'm not a dev so I can't really judge. What are your thoughts?
Rust was made by Mozilla? TIL
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
FirefoxLibrewolf compiles but never looked into it further.That's weird.
.
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.
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)
@princessnorah @Ephera
Just because a code is open does not make it FOSS. There is a spirit to it.
Its the same argument that will make a country democratic just because people vote.
Apple is knows for its notorious tricks against developers and consumers, does everything that is against core FOSS values. So no it’s not FOSS.
I'm sorry, did you just retroactively change the meaning of FOSS to "thoughts and feelings" so you could throw Apple under the bus?
I don't know why you're so angry, just because I have a different opinion. You're also insinuating that I would be circlejerking against Apple or giving Google a free pass, which I'm not.
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.
Lol big community
Thank you :/
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
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.
Another Chromium incoming?
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.
Swift is a fantastic language and with c++ interop out of the box it’s the obvious choice.
I don't know anything about Swift, but people like to ignore the fact, that Rust is not entirely free, as it fails to exercise freedom 3.
tl;dr: Rust Foundation don't want you to apply modifications to their language without "explicit approval".
And you are also limited to share modified versions of their software.
(If someone can imply, that Python and Perl have similiar restriction — they are not the same, because both of their trademarks protect usage of software against fraud, but you can freely patch and modify it.)
For me personally, seeing LadyBird not choosing Rust as their main language is very promising. Rust software is everywhere now and this is concerning.
I've read through your links. They don't have much to do with the codebase itself, but with protecting the trademarks.
From what I read, you're free to change whatever you want. You just can't go around using their trademarked names for your modified version.
If I wanna modify and redistribute their language and use Rust or Cargo in the name I should not have to ask for an explicit permission, this is the freedom 3 problem.
This is also why I gave Python and Perl examples. I can modify both Python and Perl, calling them the same way, but I can not do the same thing with Rust.
I'll leave their trademarks comparsion under the spoiler for those, who interested.
:::spoiler Spoiler Rust:
And Python:
Let's also look at Perl:
Please read this and try again.
https://www.gnu.org/philosophy/free-sw.en.html#packaging
Yeah, I don't exactly think it's particularly burdensome to have to rename your fork so that people don't confuse it with the software you forked from. Without this restriction, FOSS projects would have absolutely zero recourse against bad actors. A non-FOSS competitor could just waltz in, fork their code and turn it into absolute hot garbage, convincing enough people that it's the original project to make it all worth their while.
Try again what? This is a debatable topic. I can simply refer to this line:
And point out, that rebranding a whole programming language is not a piece of cake. So this is burdensome and hence is the issue for freedom.
Dude, if you're being obtuse on purpose because you have an ax to grind against Rust, try a different approach. You're not getting anywhere, clearly by the fact that no one agrees with you.
If you don't like that Rust has a restricted trademark, then call that out instead of trying to label the software and it's license as non-free. It's literally called out in my source that name restrictions ipso facto does not violate freedom 3.
But if you genuinely believe that the implementation of the Rust language and it's trademark is burdensome to create a fork, and you want people to believe you, then you gotta bring receipts. Remember, the benchmark that we both quoted is that it "effectively hampers you from releasing your changes". It being "not a piece of cake" doesn't cut it.
Hint: Google Rust forks since their existence also undermines your claim.
Good luck.
As an outsider with no skin in anyone's game, I find it a bit disingenuous to say that one person's interpretation of subjective terms is somehow less "correct" than anyone else's.
The easiest example is that you'll have to adapt all Rust-dependant applications to the Rust fork, 'cause it is a programming language.
But still, don't get me wrong. I'm not trying to say that Rust is a bad language or something. I'm just trying to point out on the problem, that was adressed to Rust Foundation before.
Good luck to you too.
That... is not a restriction on freedom 3. You could complain about your inability to use the rust name for anything you want but that is not the same thing as your ability to distribute modified versions of the software. It is also fairly standard practice for foss software to restrict the use of such trademarks. For example, Gnome does pretty much the same thin. FreeBSD as well. Libre Office also has similar restrictions, although they are defined more nebulously. It is not clear to me what usages are allowed with the Linux trademark but they certainly do restrict who can use it and for what and you must get permission before using it. See also, about trademarks in FOSS: https://www.lexology.com/library/detail.aspx?g=9d96e1bf-bced-48f7-b5b4-ee561e7a9348
The software is free. The trademarks are not. The four freedoms are about the software and not about trademarks. You could fork Rust and call it Corrosion, just like people have forked Firefox and called it Waterfox.
Its also terrible when it comes to security, specifically crates
There's a reason why software is being made with Rust now. It has the speed of C++ (sometimes faster), has a nice syntax, is memory safe by default, has the best compiler error messages and also the book is very good. I learnt entirely by the book and it's very good at explaining things.