And, of course, the other reason why I'm so enthusiastic about their products is that they're one of the only companies that has been able to maintain a thoroughly symbiotic relationship with the developer community. They somehow have consistently maintained a healthy balance of giving things away without losing their business—their subscription model is humane (you get to use the last version you paid for indefinitely), they have an open source core, and they lean in more than most to giving their paid products away to students and others who can't pay.
I happily pay this every year myself, but I think it's important to note it's not really a subscription. You pay for software, and you keep that software forever. If you stop paying, you still get to keep what you paid for. What you pay for every year are the updates.
I know it's a subtle distinction, but I think it's an important one to make. Again, I happily pay every where, and it acts very much like a subscription, but it's not like a Creative Suite subscription. If you stop paying, you an always just stay on the software you paid for.
It’s a bit odd. I wish I was paying for 1 year of updates.
Years ago, there was a company that made a refactoring engine for C, I believe I paid >100$ for it in the late 90s or early 2000s. It was a standalone server that could communicate with Emacs (I wasn't an Emacs user). For a consulting engagement, I bought this tool and learned Emacs. I printed out a poster that I put on the wall that show the workflow for the most common tasks I needed to accomplish. I could not have completed it without it.
I discussed this with other programmers at the time, and they were somewhat incredulous that I bought software instead of spending 10x the time to complete the task. Knowing when to buy tools is a skill in and of itself.
I've been paying for the subscription for years, so "first" isn't quite right either, because for me that would be some very old version.
> It’s important to note that, if you’re using a non-commercial license, you cannot opt out of the collection of anonymous usage statistics.
not just anonymous statistics, i presume
"You agree that the product will send usage data to validate your compliance with the license terms and anonymous feature usage statistics..."
"The information collected under Sections 4.1. and 4.2. may include but is not limited to frameworks, file templates used in the Product, actions invoked, and other interactions with the Product’s features."
Source code is never sent under any circumstances.
(1) CoPilot code completion (for open source GitHub users)
(2) devcontainer integration
(3) docker integration
Do the free versions not include plugin support?
OP is correct about Docker integration and Dev Containers: they cannot be added to the free versions. Dev Containers specifically seems to be OP's big sticking point, but it's a weirdly pedantic point. JetBrains can't give everything away for free or they wouldn't be able to fund their development.
Picking a few professional-grade features and asking people to pay if they really need them is a totally reasonable approach.
If a tool works for them, then it works. I don’t think that’s a lack of understanding on their part.
If the opposing view is « clearly VSCode is objectively the only choice », then I think that camp has a distinct lack of understanding that people’s needs are diverse and no 1 tool solves every problem for all people.
Secondly, the free JetBrains IDEs also lack devcontainer support which is readily present in VSCode. To not use devcontainer is a substantial security hazard.
Actually, there is a significant difference between the community versions (e.g. for PyCharm) and the versions available for non-commercial use. The latter are full versions of the products without any reduced functionality, whereas the community editions have certain features trimmed.
Can you elaborate? Is VS Code making containers for you so you are safe from packages or from random plugins you have to install?
If someone could explain to me how to programmatically perform all lifecycle features with a container (e.g. rebuild etc) without ever having to touch VSC’s special in-IDE command palette that would be incredible.
The current iteration is too much magic at the expense of too little control and visibility.