this post was submitted on 13 Aug 2024
137 points (90.1% liked)

Open Source

31243 readers
240 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 5 years ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 31 points 3 months ago (2 children)

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.

[–] [email protected] 10 points 3 months ago (3 children)

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.

[–] [email protected] 3 points 3 months ago* (last edited 3 months ago) (1 children)

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

[–] [email protected] 2 points 3 months ago (1 children)

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.

[–] [email protected] 2 points 3 months ago

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)

[–] [email protected] 1 points 3 months ago (1 children)

@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.

[–] [email protected] 3 points 3 months ago

I'm sorry, did you just retroactively change the meaning of FOSS to "thoughts and feelings" so you could throw Apple under the bus?

[–] [email protected] -2 points 3 months ago

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.

[–] [email protected] 3 points 3 months ago (1 children)

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.

[–] [email protected] 7 points 3 months ago (1 children)

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. ¯\_(ツ)_/¯

[–] [email protected] 2 points 3 months ago

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.