It's been a day since JetBrains announced their new IDE RustRover in an announcement I welcomed with open arms at first, but now I'm worried about the future of developing Rust on JetBrains products, I feel like we're almost going backwards rather than forwards.
A new announcement with a bitter-sweet taste
For those who haven't read the JetBrains blog post, a new IDE specifically for Rust is coming to their already extensive commercial IDE offering. 🎉 Alongside the main announcement, they also announced that the existing Rust plugin will no longer be receiving bug fixes or new features, which although sad, I could partially see their motivation for it, but in all honesty, my initial thoughts of this were:
Yay! We've joined the Rust foundation to help support the community! BTW we're going to ditch our open source Rust plugin in favour of turning all Rust support into a monetory gain by forcing people to buy our new product.
It's negative I know, but I found it a little bit entertaining that as far as I'm aware, this is the first company to join the Rust foundation and then actively remove tooling support for Rust 😅 (*Exaggeration*)
"Where the fuck did the plugin go?"
That might have been the first question you had if, like me, you went to set up a new IDE and install the Rust plugin in order to work and instead were greeted with the now, more bare plugin results page.
The reason for this? Well, what JetBrains failed to mention in their blog post was the immediate deprecation of the plugin and renaming of the plugin
[Deprecated] Rust which sends it nearly to the bottom of the plugin search results. Sorry newbies, this is going to be a very confusing thing to deal with for a bit.
NOTE: If you're already using IntelliJ IDE Ultimate or Clion you will get the new
Rust plugin which is their newly closed-sourced commercial plugin from what I can see.
Using the Plugin while the new IDE is in preview.
"Well, the preview of the new IDE is out? Why would you use the plugin?"
This is a question I think some people will inevitably have, and it's a fair argument. The problem I have with Rover is that it is a preview and to quote:
"By participating in the EAP, you expressly acknowledge that this version of the product may not be reliable, may not work as intended, and may contain errors. Any use of this EAP product is at your own risk."
This to me, means for a professional workload, I might not want to use this product just yet.
The point I'm making here is that quite frankly I was expecting a bit more time from JetBrains, You've announced your new IDE which is in preview, could you at least maintain the plugin until the new IDE is stable? Now I know they said:
"we'll do our best to maintain compatibility with newer versions of our IDEs"
But frankly, this is not enough, it gives me no confidence that I will be able to use the plugin in its full working capacity in future versions of IntelliJ, PyCharm, etc.
As a paying customer, I need the plugin to work, I have no reason to pay for your products JetBrains if I cannot use them to do my job. I know it works for now, but I was expecting to have a little more confidence in using your IDEs.
Of course, this doesn't even scratch on the biggest issue, which might actually push me off JetBrains for work and that's their commercial licensing.
How much are you willing to pay, to use Rust in your IDE?
This is a question that I am actively asking myself, for context, I spent most of my time in Python and building native extensions for Python using the excellent PyO3 library because most of my work is in Python I can happily justify spending the £79 for the commercial license for PyCharm Professional and the fact the Rust plugin works seamlessly with all IDEs was excellent. That being said, the deprecation of the Rust plugin is starting to make me think of what my setup will be later on with JetBrains.
The most obvious instance I could think of would be to move to IntelliJ IDEA Ultimate in order to get most of the Python support while still being able to use Rust alongside Python without running two IDEs. However, according to Jetbrains' comparison page, IntelliJ does not support Jupyter notebooks, so I hope that the page is just outdated. But for me, this is still an extra £56 a year (IntelliJ IDEA Ultimate is £135.00/yr) which is enough of an increase to put a bit of a sour taste in my mouth. It's worth noting as u/jaskij pointed out, that it is possible to upgrade to the "All Products Pack" in order to keep your discount if you've had a commercial license of one of the IDEs, but this does overall still result in a net increase in cost, but you might be able to save a bit of money if you already use two IDEs.
Of course, the other alternative is to just... Use Visual Studio Code and realistically I think that is what anyone who isn't already paying for a commercial license will do, which for a company that also recently joined the Rust Foundation and stated:
"Along with the many existing members, we’ll help support the efforts of the Rust community and work to drive its future development."
I find it sad that the first thing users of Rust and JetBrains products will experience is:
- A price increase to their subscription
- Being forced into buying a subscription
- Forced to drop JetBrains altogether to program in Rust.
Concluding this bittersweet moment
To me this is a shame, the Rust plugin in my experience was an excellent tool and I preferred it to Rust Analyser, but it does seem that JetBrains have made their decision to treat Rust how they treat C++ and force you to use the closed source, commercial product if you want to use Rust on their products.
I'm glad we get a dedicated IDE, but I would rather not have a dedicated IDE and keep the plugin than see the plugin get tossed to the side and force anyone unable to afford a commercial license to use something other than JetBrains.
I hope that a group of individuals in the community will be willing to maintain the now deprecated plugin separately, away from JetBrains as a community plugin. It's clear people are not entirely happy with this choice JetBrains has taken.