Hacker News new | ask | show | jobs
by initplus 1910 days ago
Charging for developer tooling is really hard.

Over-monetizing their dev tooling was a significant contributor to Microsoft's loss of dev mind-share over the last decade. Free software took over the world because any kid in their bedroom could download Linux/GCC/MySQL for free.

Want to work in .NET/MSVC? You just run into barriers (gimped "express" versions, no free documentation etc.) Yes this has changed now, but it's been a long time coming.

8 comments

"Kids in their bedrooms" had cracked versions of MSVC.

Even at my school, I don't remember a single student paying for any software. Teachers were obviously aware of that and while they didn't encourage piracy openly, when they showed something on a high priced software, "go ahead and get the cracked version if you don't already have it" was almost implied.

We also worked with Linux and free software a lot, that's just to say that price never was an issue, because we didn't pay.

It is debatable but I think publisher were happy with that situation, students wouldn't pay in any way, they might as well learn on tools that their future employers will have to pay for.

Things have changed. Most notably, the primary way of monetization is online services now. Software is often given away for free and piracy is either pointless (because free software) or much harder (because a large part of it is online).

As for charging for dev tooling, yes, it is hard, because charging for software is hard. That is, unless you have an online service component. That's a reason why "collaborative" tools are so popular now.

At my school, about 10 years ago, any student who was either a CS major or taking any CS class got free access to full versions of pretty much every MS product except enterprise versions. That’s full versions of Windows, .Net, SQL Server, Office, you name it. There was no need for anyone to pirate anything.
You have to jump through a bunch of hoops, if you even know about what's there. You have to make sure the right thing is registered in the right way, and if something's broken down in the link between your university's login setup and MS's setup then good luck getting someone to fix it as a student. It's actually a huge difference in practice from what you get with open-source (or piracy): download the thing and run it, that's it.
No, not really. I remember it being dead simple when I was there.
It's a pointless argument. You had access to all the software with a regular student license, it was obviously never meant for any production workload and never meant to be covered with any kind of support.

Since piracy was/is the norm, you might as well provide a few version.

I remember the process as 1) Submit my .edu email 2) Click link in email 3) Pay $50 4) Get keys to ALL the things.
All you need(ed) was an e-mail address that ended in @myuniversity.tld and use that in the registration at the shop.
Yeah, we had access to DreamSpark around 10-15 years ago and it was pretty awesome.

I was very much a Linux person at the time, but I could still appreciate all the free stuff MS lobbed at students.

Adobe CC apps used to be so easy to pirate, but recently Adobe has been going hard on anti-piracy detections (I imagine it is indeed getting abused by some businesses somewhere). I was under the assumption that a majority of their mindshare was from high school kids learning on cracked adobe then asking for licensed creative cloud apps at work.
I’ve also noticed the rise in Adobe alternatives over the last few years so must be working
This times 100. The open source alternatives are ridiculously good. Figma and Blender are the ones I use and we've made some extensions for specific jobs painlessly.

The free stack is even catching up where paid software used to excel - modern, usable UI. We're happy to drop a few hundred on donations.

Figma is not open... not open source, or even file format.
I would never pay for dev tooling as a SaaS because it would put me completely at the mercy of the provider.

I’d be happy to, and do, pay for some dev tools that I get to own for life. The Jetbrains model is really a great match I think for both the company and the customer.

For me it was my dad's friend who worked as an enterprise Microsoft dev, and would give me his old MSDN CDs when he was finished using them. So I got Windows NT, Visual Studio, and complete API documentation -- even Windows 95 when it came out.
Not sure what you mean by “no free documentation” but even when I worked there we just used MSDN’s free online website like everyone else. VS did cost $$ but not sure it was overpriced, I’m still less productive on Linux than I was with the real VS (code is nice but not the same). I’d pay for a Linux version in a heartbeat.

The real reason Linux took over is Windows just didn’t make a good server. Even if you looked past the bloated footprint, licensing was a nightmare just to figure out what you needed to buy let alone the licensing costs themselves.

Even good dev tools can’t make up for a bad platform.

I believe by "no free documentation" they are referring to the 90s, where MSDN was a subscription service, hence the "long time coming" comment.
The comment was about the last decade? Seems kind of irrelevant to bring up an obstacle from the 90s.

> Over-monetizing their dev tooling was a significant contributor to Microsoft's loss of dev mind-share over the last decade.

I don’t know about the author of that quote, but I mentally often think of the 90s as “last decade”
Interesting. Is that a reason behind it? I can see why the 2000s might seem like "last decade" (it might still feel like the 2010s), but the 90s are another decade behind...
I don’t really know, but Y2K and 9/11 were fairly notable in a way that most of the other decade transitions weren’t.

I also don’t really know if this is common: but the individual years of my adult life just seem less real than my childhood for some reason.

Because the human brain perceives time in odd ways.
That joke was funny 10 years ago.
It's probably not a joke. Many people report things like this when talking about time. Our brains are just not that great at accurately thinking about long periods of time.
Clearly his directly outer conscience thinks it's the 2010s
Also at that time you could for about 60 dollars buy 'the win32 bible' which had pretty much every call you wanted in print form. Also about 50 bucks got you the CD with the docs. Only when you went to the 'I want MS in a box' MSDN that you paid more. MS dominated in that market in the 90s because they had tooling that was wildy cheaper than most of their competitors on other machines. Sun/IBM/Apple easily priced their docs in the 20k+ market. I bought many of these docs for these different archs at the time. MS was by far the cheapest of them. Borland and Watcom had 2 different setups with and without docs. You paid accordingly (usually 100-150). Also once the internet came around MS put its docs up on the web pretty quickly. They were about equivalent to the CD's. I would say around 96/97 they did it. I have not paid for MS docs since. I paid a few times for MSDN as I would need a lab of machines and ACLs were dumb expensive.
There is an incredible UserVoice thread that's been going for years asking for a Linux version of Visual Studio. It's such a microcosm of Microsoft problems.

- Naming confusion between three completely different products Visual Studio, Visual Studio for Mac, and Visual Studio Code.

- Complete failure to comprehend how old VS's codebase is. "Dotnet Core runs on Linux, right?"

- Most people use about 10% of the functionality it offers. Unfortunately no two users use the same 10% of it's features.

https://developercommunity.visualstudio.com/t/visual-studio-...

I think the cost of the tooling did matter but I also agree about licensing costs for their server products.

The first time I got to work with Linux for money (as opposed for fun at home) was when I had a project where the MS Licensing would cost a lot more than the hardware it would run on.

They let me do it with Redhat, PHP and PostgreSQL. They bought the box from Dell and that was it. No licensing to track or pay. The freedom was just amazing and made business sense.

You can now deploy .net core apps on Linux. Even SQL Server can run on Linux now. Plus, if you want to, debug it locally on your Windows machine on Linux using WSL (as simple as changing a drop-down to WSL and it'll install everything required on your WSL instance).

On the negative-side, the asp.net core team is obsessed with dependency injection and async, which results in tons of shitty boilerplate. So you either have to strike off the beaten path and get nice clean, terse code, but constantly fight the tooling, or accept their dogmatic styling and end up with ridiculously bloated code.

I haven't worked with ASP.NET Core for a while now, but what exactly do you refer to with "ridiculously bloated code"? async-await doesn't add much extra code, save the occasional await keyword sometimes?
Yes, that's just the DI that does that, the async/await just gives you ridiculous call stacks and untraceable errors, usually for zero performance gains.
> I’d pay for a Linux version in a heartbeat

We should enter a world where people pay for open-source. OSS has been fine, but they never had the correct resources for marketing and UX. The should be a paywall for access to repos, even if you could theoretically find the code everywhere else, but ey, want the code updated automatically? $5 per month. (I’m paying 1% revenue for OSS but as long as it’s not everyone, it doesn’t make the developers filthy rich and able to hire UX and marketers, and that is what we need).

There is zero blockage to paying for OSS right now. Just Do It. I've been a member of the FSF for years.

What hasn't happened is a culture of offering financial feedback to favored projects.

Patreon and Kickstarters seem a start.

Suggestions are welcome.

> I’m paying 1% revenue for OSS

So I’m already paying, as you sure have read.

> but as long as it’s not everyone, it doesn’t make the developers filthy rich

You asked for suggestions, it is right there. Ask people to pay for access to the repos, or let them download for free from alternate sources. It will make big businesses pay because they require a chain of custody, while the amateur can still download for free, and it conserves all other advantages of OSS.

I do have a feeling that your comment was adverse, I constantly regret being generous when people talk to me like a thieve anyway, just because I give, but not enough (How much is enough for people like you?). Also, you are possibly trying to solve the problem of freeloaders by having possibly adverse comments, not seeing that I’m trying to solve your same issue of freeloaders by finding an incentive which both conserves all advantages of OSS and still leverage money en masse from larger businesses.

FYI I also mis-read your comment. I had to double back to see you mentioned paying 1% of revenue for OSS.

“Assume good faith”; Hanlon's razor applies.

I admit to missing this point.
The problem with paid for OSS developer tools is:

* The customers making serious money off improved developer tools - the kind of customers who'd pay $10,000 per seat for a great developer tool - are big businesses.

* Big businesses basically won't pay for things they can get for free. Oh, they might occasionally sponsor a conference for PR purposes - or even pay for developers implementing features they want - but nobody's paying $10,000 a seat for Eclipse out of the goodness of their heart.

* You might think I'm saying "Well then, closed source tools all the way!" but the tools in other engineering sectors that do manage to extract that much money from companies (SolidWorks, Altium...) have a bunch of problems as well - mostly around user lock-in efforts blocking anyone making compatible tooling.

How about FOSS have a commercial licence and a body to collect payments from enterprises, pays out the open source devs. Basically a more focused and more opinionated/vocal patreon.
> Over-monetizing their dev tooling was a significant contributor to Microsoft's loss of dev mind-share over the last decade.

I disagree. I think the biggest contributor was the loss of Windows as the platform to reach paying customers.

All throughout the 90’s people paid massive amounts of money for Visual Studio and MSDN subscriptions. There was also a huge ecosystem for such things as VBX or OCX controls to simplify development.

Developers easily paid the price for Visual Studio because that was the way to reach paying customers. In addition, Microsoft was very aggressive in giving free copies of Visual Studio to students. My university had a program where you could get access to all of Microsoft’s Operating Systems and Development tools for free through your .edu email account.

Then the web and mobile came, and Windows as the place to reach paying customers faded away.

I think you nailed it. The web & phones took over, and the world underneath changed. Servers and mobile tended to go UNIX-based for obvious reasons, so it's not hard to see why people moved toward developing on UNIX-based platforms. Had those revolutions not happened and if we were still on desktops, we might very well still have been dealing with expensive tooling licenses for Windows (and expensive Windows licenses too).
There's clearly a bit of a chicken and egg problem here. I would say that the web revolution gained so much momentum because so many developers could easily get the best tools to learn and experiment with for free with zero barriers.

It's possible to imagine a world where few ever thought to push HTML/CSS/JS to their breaking point to get desktop-like functionality from a website, because developing for the Windows desktop was free and a nice experience.

> I would say that the web revolution gained so much momentum because so many developers could easily get the best tools to learn and experiment with for free with zero barriers.

IMO (based on my limited view; I haven't studied the history) it happened because the market for smart mobile devices enlarged (one could argue Apple basically created the future & the market with iPhones, which Blackberry didn't manage to), Firebug and then Chrome made it easier to develop for the web, and developers found that these tools let them make cross-platform apps from a single codebase, with a much larger audience to go with it too.

Which is why I didn't see it as being an issue of price-point: I don't recall any better alternatives to it, whatever the price. Even if you were willing to shell out $1000+ for software tools, what alternative tools could you have bought to make it nearly as easy to make apps that ran on practically every major platform out there? Your only practical option for language was JavaScript (or if you were really desperate, Java, or I guess Flash), and Firebug and Chrome had (and many say Chrome still has) the best dev tools for JS. I don't see how being more willing to spend money on dev tools would've changed this on the client side.

On the server side, Windows had more to offer (and perhaps ASP.NET was a decent alternative), and prices probably mattered a ton there. But that's not primarily about dev tools, that's about the Linux being free and Windows Server very much not.

Firebug and Chrome were just icing on the cake. The band wagon was well going long before that.
Yes. Maybe if MS strategically invested in excellent, free tools, Windows Phone would have the best apps, and win most customers. "Developers, developers, developers" was right direction, insufficient magnitude.

Note that Android chose Java, not for its performance on constrained devices, but for... developers.

I really can't see how to tell how plausible this is, that MS Phone could have won, through better long-term strategy, of free dev tools.

As someone who did cross platform development for iPhone, Android and Windows Phone way back when, Windows Phone did actually have the superior dev experience by far (talking about WinPhone 7+ here). It wasn't free, but neither was iPhone development.

They didn't have any market share though, so there wasn't much money to be made making apps for them. I suspect they failed because they launched 2-3 years after Android and iPhone, so the other platforms had accumulated the network effects of an existing user base and app ecosystem that they couldn't catch up to. And they tried hard, IIRC, Microsoft offered to build a Snapchat client for Snap Inc, and to pay them to be allowed to do so, but were denied.

No, MS Phone became irrelevant because there's no space on the market. Indeed there's barely space for more than 1...

Apple managed to claw its position out of pure first-mover-advantage, and it's choice to build on top of a proprietary API. Had they gone with some HTML/js morass, it would have been easily dogged down and ground to dust on the interoperability battlefield.

Microsoft could wrestle Android out of Google's hands though... I mean, why not spinning their own Microsoft-oriented build around AOSP?

>and it's choice to build on top of a proprietary API. Had they gone with some HTML/js morass, >it would have been easily dogged down and ground to dust on the interoperability battlefield.

Actually, initially Apple expected people to deploy apps as webapps and provide links on the homescreen. There was no ios SDK. Only after a lot of loud complaining by devs did Apple release any tools or an SDK for ios native apps.

I think it was Joel of StackOverflow who wrote that that was not the case at all. His statement was that MS would have loved to give away Visual Studio, however they wanted to make sure there was a viable 3rd party market for developer tools. They didn't care what you developed with just as long as you were targeting Windows. Visual Studio pricing was designed to create a price floor that any third party dev tool company like Borland could rely on.
The reason for not keeping it freely accessible doesn't matter. It's either freeware and some hobbyist or student can easily get, or they cannot.
MS dev tools were freely accessible in the same nudge-nudge-wink-wink way that Adobe tools were. I don't think I ever attended a LAN party where people weren't trading cracked versions of the best MS had to offer. And MS never lifted a finger to stop this process. Hobbyists and students had access to everything MS had to offer and often wanted to keep using them in a professional setting.
It is but also the price has something to do with it. They are all hundreds of dollars.
Java was in the right place at the right time have a Hype Cycle that aligned with availability of the internet and search engines.

If you were graduating and thinking MFC or Java you just had to look at the price of the bookshelf of books required to get anywhere with the former and have some second thoughts.

Depends, if you wanted to do Swing apps that didn't suck, the books for Java were exactly the same as for MFC.

It is quite telling how Swing got its fame.

Also, I remember trying to download their software onto my modest home PC as a teen, and just the size it was taking up on the my drive, and how long it took to download everything scared me away. I wanted space left over for games.
Similarly, I see people leaving jetbrains every day. VS Code is getting better and better, and jetbrains tools are becoming more and more niche. While jetbrains may always be ahead, the gap is widening.
I doubt it - VS code is nowhere near a proper IDE like VS or IDEA - the only place where it's comparable is JS/TS because of how close those two teams are.

It does work when you needs something light weight - but it often craps out on large projects - ironically it slows down way more than the IDEs. For example I'm writing a Flutter/Dart project ATM - the VS code plugin becomes unusable after a while of working on the project even on a relatively small ~30kloc project. IDEA works just fine and has much better tools.

"VS code is nowhere near a proper IDE like VS or IDEA"

This statement kind of misses the point: it's not that 'VS Code is an IDE', rather it's that the value of an IDE may not be as much as what some think it is.

I would have made the same conclusion a decade ago, but with sufficient plugin/ability ... I have come to prefer VS Code along with many others and have little reason to go back to using an IDE.

That's not to deny the IDE uses case - for specific kinds of projects it's fine, but there's no doubt VS Code - a non-IDE - is picking up in an a ton of areas wherein traditionally and IDE would have been a first choice.

Even for basic stuff like symbol rename in a project it's behind good IDEs - search and replace is tedious when a tool can make it more specific without effort.

And like I said it often craps out on autocomplete alone with larger code bases for me (had this happen in Dart and C#)

It's the perfect IDE/editor for JS/Typescript - the rest is subpar.

For example I'm writing a Flutter/Dart project ATM - the VS code plugin becomes unusable after a while of working on the project even on a relatively small ~30kloc project.

I use VSCode on a project that's about 3* that right now (not including things like node modules or config) and it's never failed.

Are you sure the problem lies with VSCode rather than the Flutter/Dart plugin?

Oh it's absolutely the dart/flutter plugin. Just as it was the C# plugin when I attempted to use it as a VS replacement, and it was down to Rust plugin when I tried that.

So in the end the only decent experience I had with it was Typescript and JS.

Compare that to IntelliJ or Visual Studio. If I was mostly doing Web frontend or node I would 100% use vscode. Otherwise I just find it's too unreliable and I don't want to waste productivity energy on it. (I wish it was on IntelliJ level, I would pay for that with vscode remoting possibilities, more than I pay IntelliJ even)

> it often craps out on large projects

I wonder if that is because VsCode runs on top of Electron

I doubt it - it feels like it's more of an issue with language server implementations, Typescript is excellent even on large projects (better than IntelliJ and VS IMO)
> I see people leaving JetBrains every day

I see people leaving iOS every day for Android, but this people are balanced out by users going the other way.

The same is true, I believe, for JetBrains and VS Code.

Indeed, I just moved from VSCode to PyCharm a few weeks ago as VSCode and their error checker/syntax highlighter is vastly inferior. Looking to do the same for JS at some point but for now VSCode is still the best I’ve found for it.
Every time I change developer tools it's because the one I've been using has become bloated with add-ons as part of the install. When the installer has options for choosing packages, they aren't granular enough to be worthwhile. So the IDE becomes a hinderance, using memory, CPU, and screen real estate intrusively. JetBrains is there now, but it still has better language support for my needs than anything else more lightweight. I use VS Code for everything unless I absolutely need to fire up JetBrains.
> So the IDE becomes a hinderance, using memory, CPU, and screen real estate intrusively.

The screen space used is highly configurable, but if it wasn't, I'd agree. I don't care about memory or CPU at all.

Maybe it's different for other languages, I mostly do PHP + JS/HTML/CSS, but PHPStorm vs vscode (+ plugins for both) is not even close, and PHPStorm makes me so much more productive and takes so much annoyance out of my day that investing in a beefier machine seems like a small price to pay. I've easily made that money back once a month just because I get more done.

I like vscode, but I pretty much exclusively use it as a text editor and notepad.

PHPStorm gives you so much, it feels like too much because it takes forever to load.

Developing with php should feel fast. I feel like phpstorm slows me down. I like sublime, it opens the last project in .5 seconds. For me ctrl-p start typing is usually quicker than scrolling down a tree structure.

I want to use phpStorm daily again but it gives me zend eclipse flashbacks. I wish they offered a light verson.

Are you on a 15 year old laptop or something?

The Jetbrains stuff really isn't _that_ heavyweight.

Loads faster then vscode for me - the only real hinderance I find is it expects a “project” and isn’t very good at “I just want to edit this one file”
You might be having a different usage pattern than me. I typically work on only a few projects in a day, and I have those open in parallel and switch between windows.

It's a shared process, so they're not each taking up resources (I wish that was changeable, since they've had and continue to have some annoying bugs around it).

VS Code has only just barely beaten out Geany as far as it's base functionality and plugin ecosystem goes.

A Scintilla-based editor is still going to crush it on the resource usage front.

VS code with Python is just frustratingly buggy. The only reason I'm forced to use it is the WSL/remote integration. Pycharm just works.
And VS code with C++ is downright horrid, almost nothing works properly using the official C++ extensions. Yes it autocompletes and it sometimes manages to find the right files when you switch header/source, but that's about it.

I still use it at work though because we don't have CLion there and that code base does not use CMake, but only because it is just slightly better than plain VIM with some plugins. But compared to CLion + CMake it's just one small step beyond a glorified text editor.

CLion has non-terrible Makefile support now too
We use SCons at work, nothing really supports that :-/