Follow

Anyone know _why_ future releases of are planning to remove scripting runtimes like & ?

@james Sorry I don't know, but I can't find confirmation of that anywhere. A friend installed the beta and it still had them. Do you know where you saw this?

@james Probably because people don't use the Ruby and Python included with the OS really. From my experience, most devs install the latest version from version manager like rvm or pyenv anyway.

@mayppong if you use homebrew, you're still using system ruby.

@postmodern But the point is that are the people who uses Ruby runtimes, but won't/can't install their own a big concern over the benefit of not shipping Ruby from Apple's perspective.
Apple hasn't been doing an excellent job at maintaining those things with their software updates anyway. I mean Ruby 2.3 and Python 2.7 are still the default version included.

@mayppong most, if not all, of those tools are either installed from homebrew and/or rely on homebrew to install build dependencies.

@postmodern I don't think we're having the same conversation because I'm not following you.
But you don't need to already have a Ruby runtime or homebrew to install rvm.

@mayppong I also believe RVM relies on homebrew for installing build dependencies, where homebrew is the fallback. RVM does provide precompiled rubies though, but I'm not sure if it can manually download/extract/compile/install all build dependencies that it would normally install via brew?
github.com/rvm/rvm/blob/master

@mayppong yes you can install RVM without homebrew, but can you run `rvm install ruby` without homebrew being installed? Will it download/extract a precompiled version? What if there's no precompiled version available for your version of macOS?

@mayppong and it was :) Turns out after installing RVM, running `rvm install ruby` will attempt to install ruby-2.6.3, check for precompiled binaries, find none, then attempt to install... homebrew!

Without an existing system ruby, none of these tools can fully function. Developers will be forced to manually install a precompiled version via a tgz or dmg package.

@mayppong that or do all of their work in docker containers. Maybe the rise of docker/docker-compose played a role in Apple's decision to no longer ship system ruby? Β―\(Β°_o)/Β―

@postmodern Honestly, I wouldn't be surprise if this was considered as part of the decision-making. I doubt it's the make-or-break point though since like you said, they are used for a lot of other stuff than app development.

@mayppong one positive side-effect of phasing out system ruby, which some apps probably shell-out to, is it might encourage app developers to look into embedding mRuby.

@postmodern "Forced to manually install" is unlikely to happen. These are not difficult technical challenge to overcome.
Ruby community and Homebrew community will adapt to the new assumptions. I doubt all of the sudden Ruby community will stop making pre-compiled package for macOS, and RVM and Homebrew contributors couldn't figure out how to install Ruby themselves.

@mayppong my mistake. Yeah, I could foresee installer bash scripts that attempt to download/extract a precompiled ruby based on uname. However, no one has created a compile farm for Ruby. Even RVM has spotty coverage for ruby versions and platforms. Hopefully this change will increase interest in compile farms and releasing precompiled binaries/packages for all major platforms.

@mayppong also Ruby 2.3 isn't exactly as old as Python 2.7. Regardless, I don't know why Apple can't seem to keep their base system up to date. Even Ubuntu and FreeBSD, not bleeding-edge OSes by any means, both provide Ruby 2.5.

@postmodern I feel like my main point is being skimmed over.
"But the point is that are the people who uses Ruby runtimes, but won't/can't install their own a big concern over the benefit of not shipping Ruby from Apple's perspective."

@mayppong OK, so you're original point is kind of hard to answer, because I don't know what was Apple's motivation behind this decision.

That said, Apple does seem to be focusing more and more on regular end-users, then say web developers. So this kind of looks like a company strategically shifting resources away from maintaining things for the smaller market share of web developers, and streamlining their environment for the larger market share of end-users. Basically, doing it for the $$$

@postmodern I mean what publicly-traded corporation isn't doing it for the $$$.
In my perspective, I think this is a good thing. It's more likely that people who want to use Ruby will figure out how to get Ruby on their system than expecting people who heaven't even heard of Ruby to be keep their system secure from additional attack surface.
They're focusing on the weakest of their user base which I think is a good strategy.

@mayppong on one hand this will cause some disruption for Rubyists on macOS when they upgrade. On the other hand it forces the community to take back control of system ruby, instead of relying on macOS's ye olde ruby version. I'm hopeful for the future, but this seems like more work being pushed onto our community just to setup a development environment on macOS; as opposed to Linux/FreeBSD which offers you a recent-ish ruby package version, as well as a package manager.

Sign in to participate in the conversation
Ruby.social

A Mastodon instance for Rubyists & friends